NaUKMA Research Papers Computer Science
Latest Publications


TOTAL DOCUMENTS

69
(FIVE YEARS 57)

H-INDEX

1
(FIVE YEARS 1)

Published By National University Of Kyiv - Mohyla Academy

2617-3808

2021 ◽  
Vol 4 ◽  
pp. 29-43
Author(s):  
Nataliya Gulayeva ◽  
Artem Ustilov

This paper offers a comprehensive review of selection methods used in the generational genetic algorithms.Firstly, a brief description of the following selection methods is presented: fitness proportionate selection methods including roulette-wheel selection (RWS) and its modifications, stochastic remainder selection with replacement (SRSWR), remainder stochastic independent selection (RSIS), and stochastic universal selection (SUS); ranking selection methods including linear and nonlinear rankings; tournament selection methods including deterministic and stochastic tournaments as well as tournaments with and without replacement; elitist and truncation selection methods; fitness uniform selection scheme (FUSS).Second, basic theoretical statements on selection method properties are given. Particularly, the selection noise, selection pressure, growth rate, reproduction rate, and computational complexity are considered. To illustrate selection method properties, numerous runs of genetic algorithms using the only selection method and no other genetic operator are conducted, and numerical characteristics of analyzed properties are computed. Specifically, to estimate the selection pressure, the takeover time and selection intensity are computed; to estimate the growth rate, the ratio of best individual copies in two consecutive populations is computed; to estimate the selection noise, the algorithm convergence speed is analyzed based on experiments carried out on a specific fitness function assigning the same fitness value to all individuals.Third, the effect of selection methods on the population fitness distribution is investigated. To do this, there are conducted genetic algorithm runs starting with a binomially distributed initial population. It is shown that most selection methods keep the distribution close to the original one providing an increased mean value of the distribution, while others (such as disruptive RWS, exponential ranking, truncation, and FUSS) change the distribution significantly. The obtained results are illustrated with the help of tables and histograms.


2021 ◽  
Vol 4 ◽  
pp. 78-87
Author(s):  
Yury Yuschenko

In the Address Programming Language (1955), the concept of indirect addressing of higher ranks (Pointers) was introduced, which allows the arbitrary connection of the computer’s RAM cells. This connection is based on standard sequences of the cell addresses in RAM and addressing sequences, which is determined by the programmer with indirect addressing. Two types of sequences allow programmers to determine an arbitrary connection of RAM cells with the arbitrary content: data, addresses, subroutines, program labels, etc. Therefore, the formed connections of cells can relate to each other. The result of connecting cells with the arbitrary content and any structure is called tree-shaped formats. Tree-shaped formats allow programmers to combine data into complex data structures that are like abstract data types. For tree-shaped formats, the concept of “review scheme” is defined, which is like the concept of “bypassing” trees. Programmers can define multiple overview diagrams for the one tree-shaped format. Programmers can create tree-shaped formats over the connected cells to define the desired overview schemes for these connected cells. The work gives a modern interpretation of the concept of tree-shaped formats in Address Programming. Tree-shaped formats are based on “stroke-operation” (pointer dereference), which was hardware implemented in the command system of computer “Kyiv”. Group operations of modernization of computer “Kyiv” addresses accelerate the processing of tree-shaped formats and are designed as organized cycles, like those in high-level imperative programming languages. The commands of computer “Kyiv”, due to operations with indirect addressing, have more capabilities than the first high-level programming language – Plankalkül. Machine commands of the computer “Kyiv” allow direct access to the i-th element of the “list” by its serial number in the same way as such access is obtained to the i-th element of the array by its index. Given examples of singly linked lists show the features of tree-shaped formats and their differences from abstract data types. The article opens a new branch of theoretical research, the purpose of which is to analyze the expe- diency of partial inclusion of Address Programming in modern programming languages.


2021 ◽  
Vol 4 ◽  
pp. 98-100
Author(s):  
Semen Gorokhovskyi ◽  
Yelyzaveta Pyrohova

With the rapid development of applications for mobile platforms, developers from around the world already understand the need to impress with new technologies and the creation of such applications, with which the consumer will plunge into the world of virtual or augmented reality. Some of the world’s most popular mobile operating systems, Android and iOS, already have some well-known tools to make it easier to work with the machine learning industry and augmented reality technology. However, it cannot be said that their use has already reached its peak, as these technologies are at the stage of active study and development. Every year the demand for mobile application developers increases, and therefore more questions arise as to how and from which side it is better to approach immersion in augmented reality and machine learning. From a tourist point of view, there are already many applications that, with the help of these technologies, will provide more information simply by pointing the camera at a specific object.Augmented Reality (AR) is a technology that allows you to see the real environment right in front of us with a digital complement superimposed on it. Thanks to Ivan Sutherland’s first display, created in 1968 under the name «Sword of Damocles», paved the way for the development of AR, which is still used today.Augmented reality can be divided into two forms: based on location and based on vision. Location-based reality provides a digital picture to the user when moving through a physical area thanks to a GPS-enabled device. With a story or information, you can learn more details about a particular location. If you use AR based on vision, certain user actions will only be performed when the camera is aimed at the target object.Thanks to advances in technology that are happening every day, easy access to smart devices can be seen as the main engine of AR technology. As the smartphone market continues to grow, consumers have the opportunity to use their devices to interact with all types of digital information. The experience of using a smartphone to combine the real and digital world is becoming more common. The success of AR applications in the last decade has been due to the proliferation and use of smartphones that have the capabilities needed to work with the application itself. If companies want to remain competitive in their field, it is advisable to consider work that will be related to AR.However, analyzing the market, one can see that there are no such applications for future entrants to higher education institutions. This means that anyone can bring a camera to the university building and learn important information. The UniApp application based on the existing Swift and Watson Studio technologies was developed to simplify obtaining information on higher education institutions.


2021 ◽  
Vol 4 ◽  
pp. 60-63
Author(s):  
Semen Gorokhovskyi ◽  
Oleksandra Radziievska

In the modern world, it is no longer enough to simply create a product that performs its function, but it should perform it better than thousands of competitors. However, the problem is that human intellectual abilities are limited and many complex tasks are beyond the capabilities of a single person. The natural way of raising our intellectual level is to build teams to share our experience, knowledge, and worldview to create something beyond the capacity of the individual.Thus it is not surprising that according to a recent ranking, collaborative skills are considered most essential in the 21st century [2]. To cope with all challenges and create high-quality products, there should be a team whose members are experts in communication, discussion, problem-solving, and critical thinking. In addition, it is important to manage the team effectively. To do so, it is necessary to know more about the social processes which take place inside a team. Agent-based modeling can be an effective tool to gain such insights.Agent-based modeling is a powerful instrument for simulating different processes, including social ones. This technology was formed under the influence of many other fields such as artificial intelligence, sociology, game theory, and so on.In this article, a model which simulates human interaction in the framework of «Wilderness Survival: A Consensus-Seeking Task» is used to demonstrate the core principle of agent-based modeling. The group of agents complete a test by themselves and afterwards discuss their answers to reach a consensus and achieve the best score.It will be analyzed which human character traits are more important for successful collaborative work. Situations in which some team members are not interested in the team success will be identified. Also, a user interface is provided to enable running custom experiments to better understand how specific character traits impact the team results.


2021 ◽  
Vol 4 ◽  
pp. 23-28
Author(s):  
Andrii Afonin ◽  
Kyrylo Kundik

Machine learning technologies have developed rapidly in recent years, and people are now able to use them in various spheres of life, making their lives easier and better. The agro-industry is not lagging behind, and every year more and more problems in this area are solved with the help of machine learning algorithms. However, among the problems that have not yet been solved is the problem of identifying diseases of agricultural plants. According to the UN research, about 40% of the world’s harvest dies each year from various diseases, most of which could be avoided through timely intervention and treatment.To solve this problem, we offer an easy, accessible service for everyone, which will allow one to predict by the image of the plant leaves whether it is sick or healthy, or whether it needs any help or intrusion. This service will be indispensable for small farms engaged in growing crops. Thus, it will allow employees of such enterprises to immediately detect diseases and receive recommendations for the care of plants important to them.Therefore, it was decided to develop a neural network architecture that will solve this problem: the prediction of a plant disease by the image of its leaves. This neural network model is lightweight, does not take much time to learn, and has high accuracy on our dataset. It was also investigated which popular architectures (e.g. XceptionNet, DenseNet, etc.) of deep neural networks can have great accuracy in solving this problem. To realize the possibility of using the model by end users, i.e. farmers, it was decided to develop a special web service in the form of a telegram bot. With this bot, anyone can upload images of the leaves of agricultural plants and check whether this plant is healthy or free of any diseases. This bot is also trained to give appropriate advice to gardeners on the treatment of diseases or the proper cultivation of healthy plants.This solution fully solves the problem and has every chance to become an indispensable helper in preserving the world harvest.


2021 ◽  
Vol 4 ◽  
pp. 101-107
Author(s):  
Dmytro Cherkasov

Communication networks are complex information systems influenced by a vast amount of factors. It is critically important to forecast the paths that data take to verify the network, check its security and plan its updates. Model allows exploring processes that take place in the network without affecting performance and availability of a real network itself. With modelling it becomes possible to investigate the results of infrastructural changes introduced to the network before actually implementing them. It is important to be able to formally convert real network description into the model definition which preserves all data that is significant for network operation and skip data which is not. Outlining the rules for such conversion and using a limited set of basic functional components provide the ground for automatic model creation for the network of different levels of complexity.Proposed approach to modelling of communication networks is based on decomposition of the overall function of every particular real network component into a set of functions that belong to some predefined basic set. Functions of the basic set include L3 routing, L2 switching, packet filtering, NAT, etc. Model of a real network component is defined as a group of functional nodes each of which implements some function from the basic set.Configuration and current state of network components that influence its operation are also decomposed into elements each of which relates to some particular functional node. Configuration of network components is modelled as a set of configuration storage elements and current state is modelled as a set of current state storage elements.Links that connect real network components and links that connect functional nodes in the model are presented as singledirection channels that implement propagation of L2 frames thus simplifying the model due to excluding physical layer (L1) from the scope.Using the proposed approach to modelling may allow to formalize conversion of a real network descrip- tion to a model thus making automated modelling possible. By using a sufficient basic set of functional nodes it is possible to model the network containing components of any complexity level.


2021 ◽  
Vol 4 ◽  
pp. 10-15
Author(s):  
Gennadii Malaschonok ◽  
Serhii Sukharskyi

With the development of the Big Data sphere, as well as those fields of study that we can relate to artificial intelligence, the need for fast and efficient computing has become one of the most important tasks nowadays. That is why in the recent decade, graphics processing unit computations have been actively developing to provide an ability for scientists and developers to use thousands of cores GPUs have in order to perform intensive computations. The goal of this research is to implement orthogonal decomposition of a matrix by applying a series of Householder transformations in Java language using JCuda library to conduct a research on its benefits. Several related papers were examined. Malaschonok and Savchenko in their work have introduced an improved version of QR algorithm for this purpose [4] and achieved better results, however Householder algorithm is more promising for GPUs according to another team of researchers – Lahabar and Narayanan [6]. However, they were using Float numbers, while we are using Double, and apart from that we are working on a new BigDecimal type for CUDA. Apart from that, there is still no solution for handling huge matrices where errors in calculations might occur. The algorithm of orthogonal matrix decomposition, which is the first part of SVD algorithm, is researched and implemented in this work. The implementation of matrix bidiagonalization and calculation of orthogonal factors by the Hausholder method in the jCUDA environment on a graphics processor is presented, and the algorithm for the central processor for comparisons is also implemented. Research of the received results where we experimentally measured acceleration of calculations with the use of the graphic processor in comparison with the implementation on the central processor are carried out. We show a speedup up to 53 times compared to CPU implementation on a big matrix size, specifically 2048, and even better results when using more advanced GPUs. At the same time, we still experience bigger errors in calculations while using graphic processing units due to synchronization problems. We compared execution on different platforms (Windows 10 and Arch Linux) and discovered that they are almost the same, taking the computation speed into account. The results have shown that on GPU we can achieve better performance, however there are more implementation difficulties with this approach.


2021 ◽  
Vol 4 ◽  
pp. 4-9
Author(s):  
Oleksii Oletsky

The paper investigates the issue related to a possible generalization of the “state-probability of choice” model so that the generalized model could be applied to the problem of ranking alternatives, either individual or by a group of agents. It is shown that the results obtained before for the problem of multi-agent choice and decision making by majority of votes can be easily transferred to the problem of multi-agent alternatives ranking. On the basis of distributions of importance values for the problem of ranking alternatives, we can move on to similar models for the choice and voting with the help of well-known exponential normalization of rows.So we regard two types of matrices, both of which belonging to the sort of matrices named balanced rectangular stochastic matrices. For such matrices, sums of elements in each row equal 1, and all columns have equal sums of elements. Both types are involved in a two-level procedure regarded in this paper. Firstly a matrix representing all possible distributions of importance among alternatives should be formed, and secondly a “state-probability of choice” matrix should be obtained on its base. For forming a matrix of states, which belongs and the rows of which correspond to possible distributions of importance, applying pairwise comparisons and the Analytic Hierarchy Method is suggested. Parameterized transitive scales with the parameter affecting the spread of importance between the best and the worst alternatives are regarded. For further getting the matrices of choice probabilities, another parameter which reflects the degree of the agent’s decisiveness is also introduced. The role of both parameters is discussed and illustrated with examples in the paper.The results are reported regarding some numerical experiments which illustrate getting distributions of importance on the basis of the Analytic Hierarchy Process and which are connected to gaining the situation of dynamic equilibrium of alternatives, i.e. the situation when alternatives are considered as those of equal value.


2021 ◽  
Vol 4 ◽  
pp. 16-22
Author(s):  
Mykola Semylitko ◽  
Gennadii Malaschonok

SVD (Singular Value Decomposition) algorithm is used in recommendation systems, machine learning, image processing, and in various algorithms for working with matrices which can be very large and Big Data, so, given the peculiarities of this algorithm, it can be performed on a large number of computing threads that have only video cards.CUDA is a parallel computing platform and application programming interface model created by Nvidia. It allows software developers and software engineers to use a CUDA-enabled graphics processing unit for general purpose processing – an approach termed GPGPU (general-purpose computing on graphics processing units). The GPU provides much higher instruction throughput and memory bandwidth than the CPU within a similar price and power envelope. Many applications leverage these higher capabilities to run faster on the GPU than on the CPU. Other computing devices, like FPGAs, are also very energy efficient, but they offer much less programming flexibility than GPUs.The developed modification uses the CUDA architecture, which is intended for a large number of simultaneous calculations, which allows to quickly process matrices of very large sizes. The algorithm of parallel SVD for a three-diagonal matrix based on the Givents rotation provides a high accuracy of calculations. Also the algorithm has a number of optimizations to work with memory and multiplication algorithms that can significantly reduce the computation time discarding empty iterations.This article proposes an approach that will reduce the computation time and, consequently, resources and costs. The developed algorithm can be used with the help of a simple and convenient API in C ++ and Java, as well as will be improved by using dynamic parallelism or parallelization of multiplication operations. Also the obtained results can be used by other developers for comparison, as all conditions of the research are described in detail, and the code is in free access.


2021 ◽  
Vol 4 ◽  
pp. 108-112
Author(s):  
Nazar Ivaniuk ◽  
Anton Kucher ◽  
Yury Yuschenko

The work examines the current problems of the spread of use of logical programming in the development of commercial multi-platform software applications, tools for convenient development of a modern graphical interface to the logical programs. Libraries with similar concepts of use have been analyzed and described. The purpose of the proposed concept, which is implemented as an open source library, is described, and the advantages of the proposed tools over similar existing tools are indicated. The main feature and advantage of the proposed concept is the implementation of Prolog business logic and interface by means of JavaScript usage of child processes. The proposed concept of interface to Prolog takes full advantage of the possibilities provided by async await. A framework library has been created for the use of Logic Programming in graphical interface development without losses in the application performance. The paper describes the proposed concept and the developed framework (library). The ways to further improve the possibilities for expanding the purpose of the implemented library were identified. The directions of further simplification for programmers of integration of the graphic interface to logical programs have been defined. A significant advantage of the proposed tool is the easy-to-use functions to wrap and control the correctness of requests to the Prolog. The main goal of the library is to create an environment for the Prolog developers where they can create any type of software, which is meant to be user friendly, fast, and cross platform using modern and flexible. This concept also tries to solve disadvantages and architectural problems that were found in other libraries. The safety of library functionality has been analyzed. The concept of potential horizontal application scalability is described. Conclusions and future of libraries were introduced, in which the usage of TypeScript for type-safety and avoidance of run-time errors is mentioned. Overall, the library extends the use of Prolog beyond logical programming and takes a leap forward in its progress.


Sign in / Sign up

Export Citation Format

Share Document