Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.101-107
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.
{"title":"Defining the Rules and Basic Set of Funtional Elements for Effective Modeling of Communication Networks","authors":"Dmytro Cherkasov","doi":"10.18523/2617-3808.2021.4.101-107","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.101-107","url":null,"abstract":"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.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130486594","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.29-43
N. 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.
{"title":"Analysis of Selection Methods Used in Genetic Algorithms","authors":"N. Gulayeva, Artem Ustilov","doi":"10.18523/2617-3808.2021.4.29-43","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.29-43","url":null,"abstract":"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.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117017615","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.60-63
S. 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.
{"title":"Agent-Based Modeling of Collaborative Work","authors":"S. Gorokhovskyi, Oleksandra Radziievska","doi":"10.18523/2617-3808.2021.4.60-63","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.60-63","url":null,"abstract":"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.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132508877","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.72-77
V. Protsenko
When creating a programming language, it is necessary to determine its syntax and semantics. The main task of syntax is to describe all constructions that are elements of the language. For this purpose, a specific syntax highlights syntactically correct sequences of characters of the language alphabet. Most often it is a finite set of rules that generate an infinite set of all construction languages, such as the extended Backus-Naur (BNF) form.To describe the semantics of the language, the preference is given to the abstract syntax, which in real programming languages is shorter and more obvious than specific. The relationship between abstract syntax objects and the syntax of the program in compilers solves the parsing phase.Denotational semantics is used to describe semantics. Initially, it records the denotations of the simplest syntactic objects. Then, with each compound syntactic construction, a semantic function is associated, which by denotations of components of a design calculates its value – denotation. Since the program is a specific syntactic construction, its denotation is possible to determine using the appropriate semantic function. Note that the program itself is not executed when calculating its denotation.The denotative description of a programming language includes the abstract syntax of its constructions, denotations – the meanings of constructions and semantic functions that reflect elements of abstract syntax (language constructions) in their denotations (meanings).The use of the functional programming language Haskell as a metalanguage is considered. The Haskell type system is a good tool for constructing abstract syntax. The various possibilities for describing pure functions, which are often the denotations of programming language constructs, are the basis for the effective use of Haskell to describe denotational semantics.The paper provides a formal specification of a simple imperative programming language with integer data, block structure, and the traditional set of operators: assignment, input, output, loop and conditional. The ability of Haskell to effectively implement parsing, which solves the problem of linking a particular syntax with the abstract, allows to expand the formal specification of the language to its implementation: a pure function — the interpreter.The work contains all the functions and data types that make up the interpreter of a simple imperative programming language.
{"title":"Description of the Imperative Programming Language in Haskell","authors":"V. Protsenko","doi":"10.18523/2617-3808.2021.4.72-77","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.72-77","url":null,"abstract":"When creating a programming language, it is necessary to determine its syntax and semantics. The main task of syntax is to describe all constructions that are elements of the language. For this purpose, a specific syntax highlights syntactically correct sequences of characters of the language alphabet. Most often it is a finite set of rules that generate an infinite set of all construction languages, such as the extended Backus-Naur (BNF) form.To describe the semantics of the language, the preference is given to the abstract syntax, which in real programming languages is shorter and more obvious than specific. The relationship between abstract syntax objects and the syntax of the program in compilers solves the parsing phase.Denotational semantics is used to describe semantics. Initially, it records the denotations of the simplest syntactic objects. Then, with each compound syntactic construction, a semantic function is associated, which by denotations of components of a design calculates its value – denotation. Since the program is a specific syntactic construction, its denotation is possible to determine using the appropriate semantic function. Note that the program itself is not executed when calculating its denotation.The denotative description of a programming language includes the abstract syntax of its constructions, denotations – the meanings of constructions and semantic functions that reflect elements of abstract syntax (language constructions) in their denotations (meanings).The use of the functional programming language Haskell as a metalanguage is considered. The Haskell type system is a good tool for constructing abstract syntax. The various possibilities for describing pure functions, which are often the denotations of programming language constructs, are the basis for the effective use of Haskell to describe denotational semantics.The paper provides a formal specification of a simple imperative programming language with integer data, block structure, and the traditional set of operators: assignment, input, output, loop and conditional. The ability of Haskell to effectively implement parsing, which solves the problem of linking a particular syntax with the abstract, allows to expand the formal specification of the language to its implementation: a pure function — the interpreter.The work contains all the functions and data types that make up the interpreter of a simple imperative programming language.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127903640","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.44-47
Andrew Alexeev, R. Sinitsyna
A couple of decades ago, data rates on the network were measured in kilobytes per second, and even then, online game developers had some problems with the packet loss and transmission delays. Now the transfer rate is hundreds of times higher, and the problem of delay compensation is even more relevant.For many dynamic online games, a transmission delay of as little as 20 ms can be quite noticeable, negatively affecting the gameplay and emotions of the game, which can repel players.The problem is exacerbated by the fact that along with the need to compensate for the time of delivery of packets, on the client side there are other non-network factors that are beyond the control of developers, which make the total delay 5-10 ms longer. Because of this, the desire to get rid of network delays as much and as well as possible becomes a necessity, and developers are forced to look for optimal ways to solve this problem.The problem statement is as follows: to review the causes of delays in online games and possible solu- tions, as well as the advantages and disadvantages of certain approaches. The problem is considered at the 4 levels of the TCP / IP network model, as well as at the application level. The approaches are given for the most commonly used protocols for each layer, but basic ideas can be easily transferred to other implementations.The main causes of delays under consideration: propagation delay, router queue delay, transmission delay, and processing delays.This article shows the impact of network delays on the online games and the ways to compensate for them, along with the theory of data transmission protocols in the network and the ways to solve the problems that arise in the development of algorithms.Recommendations for solving the compensation problem can be taken into account when designing and launching online shooters, strategies, etc. Thanks to the given receptions it is possible to minimize the general delay on the transfer of packets in a network, thanks to which the game on the client looks as if the player plays in the Single Player mode.
{"title":"Compensation for Delays and Losses of Packages in Dynamic Online Games","authors":"Andrew Alexeev, R. Sinitsyna","doi":"10.18523/2617-3808.2021.4.44-47","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.44-47","url":null,"abstract":"A couple of decades ago, data rates on the network were measured in kilobytes per second, and even then, online game developers had some problems with the packet loss and transmission delays. Now the transfer rate is hundreds of times higher, and the problem of delay compensation is even more relevant.For many dynamic online games, a transmission delay of as little as 20 ms can be quite noticeable, negatively affecting the gameplay and emotions of the game, which can repel players.The problem is exacerbated by the fact that along with the need to compensate for the time of delivery of packets, on the client side there are other non-network factors that are beyond the control of developers, which make the total delay 5-10 ms longer. Because of this, the desire to get rid of network delays as much and as well as possible becomes a necessity, and developers are forced to look for optimal ways to solve this problem.The problem statement is as follows: to review the causes of delays in online games and possible solu- tions, as well as the advantages and disadvantages of certain approaches. The problem is considered at the 4 levels of the TCP / IP network model, as well as at the application level. The approaches are given for the most commonly used protocols for each layer, but basic ideas can be easily transferred to other implementations.The main causes of delays under consideration: propagation delay, router queue delay, transmission delay, and processing delays.This article shows the impact of network delays on the online games and the ways to compensate for them, along with the theory of data transmission protocols in the network and the ways to solve the problems that arise in the development of algorithms.Recommendations for solving the compensation problem can be taken into account when designing and launching online shooters, strategies, etc. Thanks to the given receptions it is possible to minimize the general delay on the transfer of packets in a network, thanks to which the game on the client looks as if the player plays in the Single Player mode.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132006320","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.23-28
A. 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.
{"title":"Automatic Determination of Agricultural Plant Diseases","authors":"A. Afonin, Kyrylo Kundik","doi":"10.18523/2617-3808.2021.4.23-28","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.23-28","url":null,"abstract":"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.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115500672","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.52-55
S. Gorokhovskyi, Andrii Moroz
Image segmentation is a crucial step in the image processing and analysis process. Image segmentation is the process of splitting one image into many segments. Image segmentation divides images into segments that are more representative and easier to examine. Individual surfaces or items can be used as such pieces. The process of image segmentation is used to locate objects and their boundaries.Genetic algorithms are stochastic search methods, the work of which is taken from the genetic laws, natural selection, and evolution of organisms. Their main attractive feature is the ability to solve complex problems of combinatorial search effectively, because the parallel study of solutions, largely eliminates the possibility of staying on the local optimal solution rather than finding a global one.The point of using genetic algorithms is that each pixel is grouped with other pixels using a distance function based on both local and global already calculated segments. Almost every image segmentation algorithm contains parameters that are used to control the segmentation results; the genetic system can dynamically change parameters to achieve the best performance.Similarly to image sequencing, to optimize several parameters in the process, multi-targeted genetic algorithms were used, which enabled finding a diverse collection of solutions with more variables. Multi- targeted Genetic Algorithm (MTGA) is a guided random search method that consists of optimization techniques. It can solve multi-targeted optimization problems and explore different parts of the solution space. As a result, a diversified collection of solutions can be found, with more variables that can be optimized at the same time. In this article several MTGA were used and compared.Genetic algorithms are a good tool for image processing in the absence of a high-quality labeled data set, which is either a result of the long work of many researchers or the contribution of large sums of money to obtain an array of data from external sources.In this article, we will use genetic algorithms to solve the problem of image segmentation.
{"title":"Image Segmentation Using Genetic Algorithms","authors":"S. Gorokhovskyi, Andrii Moroz","doi":"10.18523/2617-3808.2021.4.52-55","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.52-55","url":null,"abstract":"Image segmentation is a crucial step in the image processing and analysis process. Image segmentation is the process of splitting one image into many segments. Image segmentation divides images into segments that are more representative and easier to examine. Individual surfaces or items can be used as such pieces. The process of image segmentation is used to locate objects and their boundaries.Genetic algorithms are stochastic search methods, the work of which is taken from the genetic laws, natural selection, and evolution of organisms. Their main attractive feature is the ability to solve complex problems of combinatorial search effectively, because the parallel study of solutions, largely eliminates the possibility of staying on the local optimal solution rather than finding a global one.The point of using genetic algorithms is that each pixel is grouped with other pixels using a distance function based on both local and global already calculated segments. Almost every image segmentation algorithm contains parameters that are used to control the segmentation results; the genetic system can dynamically change parameters to achieve the best performance.Similarly to image sequencing, to optimize several parameters in the process, multi-targeted genetic algorithms were used, which enabled finding a diverse collection of solutions with more variables. Multi- targeted Genetic Algorithm (MTGA) is a guided random search method that consists of optimization techniques. It can solve multi-targeted optimization problems and explore different parts of the solution space. As a result, a diversified collection of solutions can be found, with more variables that can be optimized at the same time. In this article several MTGA were used and compared.Genetic algorithms are a good tool for image processing in the absence of a high-quality labeled data set, which is either a result of the long work of many researchers or the contribution of large sums of money to obtain an array of data from external sources.In this article, we will use genetic algorithms to solve the problem of image segmentation.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123789705","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.93-97
Oleksii Dymchenko, O.R. Smysh, O. Zhezherun
Today, mathematics plays a huge part of our everyday life. But due to the poor school education and lack of open access resources, many students find it difficult to be fully prepared for the independent external evaluation in mathematics, especially geometry. Although much has already been done to conduct higher knowledge results, lots of students still have gaps in understanding simple problem solving. Clearly, geometry requires a more fundamental and visual implementation to the studying process than algebra in order to increase the overall knowledge level of Ukrainian applicants for higher education. Students often do not have access to innovative studying instruments in their schools necessary for successful completion of geometry classes, which is why they receive weak results in tests.In the research, we are concentrating on the planimetry problems, because they can be easily produced in a written form. After analyzing all types of describing a problem, the best option for the system is the open-type problems with the short answer.The article concentrates on creating a graphical interface module, implementing it to the existing language processing module, and introducing a recommendation system that demonstrates a new fundamental instrument that can change the learning technique and give a comprehensive way of explaining geometry problems.The created system receives an open-type planimetry problem in Ukrainian language, processes it using the NLP module, and transfers the data directly to the interface module, which creates an image of the problem. Then the student can try to draw all the required figures, while the system continuously checks the progress. Recommendations (hints) can be applied during the process by the system.Interface and the NLP modules were created separately, independently, and using different programming languages. For that purpose, we use an intermediate stage – JSON file, which is used to transfer the processed information.
{"title":"Graphical Interface for the Recommendation System","authors":"Oleksii Dymchenko, O.R. Smysh, O. Zhezherun","doi":"10.18523/2617-3808.2021.4.93-97","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.93-97","url":null,"abstract":"Today, mathematics plays a huge part of our everyday life. But due to the poor school education and lack of open access resources, many students find it difficult to be fully prepared for the independent external evaluation in mathematics, especially geometry. Although much has already been done to conduct higher knowledge results, lots of students still have gaps in understanding simple problem solving. Clearly, geometry requires a more fundamental and visual implementation to the studying process than algebra in order to increase the overall knowledge level of Ukrainian applicants for higher education. Students often do not have access to innovative studying instruments in their schools necessary for successful completion of geometry classes, which is why they receive weak results in tests.In the research, we are concentrating on the planimetry problems, because they can be easily produced in a written form. After analyzing all types of describing a problem, the best option for the system is the open-type problems with the short answer.The article concentrates on creating a graphical interface module, implementing it to the existing language processing module, and introducing a recommendation system that demonstrates a new fundamental instrument that can change the learning technique and give a comprehensive way of explaining geometry problems.The created system receives an open-type planimetry problem in Ukrainian language, processes it using the NLP module, and transfers the data directly to the interface module, which creates an image of the problem. Then the student can try to draw all the required figures, while the system continuously checks the progress. Recommendations (hints) can be applied during the process by the system.Interface and the NLP modules were created separately, independently, and using different programming languages. For that purpose, we use an intermediate stage – JSON file, which is used to transfer the processed information.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129246574","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.78-87
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.
{"title":"Tree-Shaped Formats of Address Programming Language","authors":"Yury Yuschenko","doi":"10.18523/2617-3808.2021.4.78-87","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.78-87","url":null,"abstract":"\u0000 \u0000 \u0000In 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. \u0000 \u0000 \u0000","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"213 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114844599","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2021-12-10DOI: 10.18523/2617-3808.2021.4.10-15
G. 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.
{"title":"А Gpu-based Orthogonal Matrix Factorization Algorithm that Produces a Two-Diagonal Shape","authors":"G. Malaschonok, Serhii Sukharskyi","doi":"10.18523/2617-3808.2021.4.10-15","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.10-15","url":null,"abstract":"\u0000 \u0000 \u0000With 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. \u0000The 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. \u0000 \u0000 \u0000","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123040491","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}