Pub Date : 2023-02-24DOI: 10.18523/2617-3808.2022.5.72-78
Taras Kreshchenko, Yury Yushchenko
In today’s world, where a car is present in almost every family, the parking problem plays an extremely important role. Parking is one of the most important factors in modern transport infrastructure, because it allows to save the time of both drivers and passengers, to increase the level of comfort and safety of road trips. In Ukraine, this problem is especially relevant, since nowadays it is going through the process of improving its parking infrastructure.The paper examines the problem of parking in large cities, proposes a system for recognizing occupancy of parking spots using computer vision. Such system would use camera feed to track the occupancy of each parking space within a slot. Its benefits would include ease of scalability, saving time of drivers and passengers, automation of parking payment and detection of unpaid parkings. In addition, it makes it possible to easily collect statistics about the busyness of various areas throughout the day or week.The paper also describes the algorithm of classifying the parking spot, as well as a possible architecture that the system may have.Possible problems in training a computer vision model for building the proposed system are considered. Firstly, the available parking datasets are lacking images collected in snow conditions or during nighttime. The hypothesized solution is to use vehicle detection datasets, the number of which that are publicly available is considerably bigger. Another problem is that classification accuracy drops drastically when using different images in train and test dataset. The hypothesized solution here is to apply incremental learning to improve the model as it is being used in a real-life scenario.
{"title":"Parking Spot Occupancy Classification Using Deep Learning","authors":"Taras Kreshchenko, Yury Yushchenko","doi":"10.18523/2617-3808.2022.5.72-78","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.72-78","url":null,"abstract":"In today’s world, where a car is present in almost every family, the parking problem plays an extremely important role. Parking is one of the most important factors in modern transport infrastructure, because it allows to save the time of both drivers and passengers, to increase the level of comfort and safety of road trips. In Ukraine, this problem is especially relevant, since nowadays it is going through the process of improving its parking infrastructure.The paper examines the problem of parking in large cities, proposes a system for recognizing occupancy of parking spots using computer vision. Such system would use camera feed to track the occupancy of each parking space within a slot. Its benefits would include ease of scalability, saving time of drivers and passengers, automation of parking payment and detection of unpaid parkings. In addition, it makes it possible to easily collect statistics about the busyness of various areas throughout the day or week.The paper also describes the algorithm of classifying the parking spot, as well as a possible architecture that the system may have.Possible problems in training a computer vision model for building the proposed system are considered. Firstly, the available parking datasets are lacking images collected in snow conditions or during nighttime. The hypothesized solution is to use vehicle detection datasets, the number of which that are publicly available is considerably bigger. Another problem is that classification accuracy drops drastically when using different images in train and test dataset. The hypothesized solution here is to apply incremental learning to improve the model as it is being used in a real-life scenario.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"146 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121522525","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 : 2023-02-24DOI: 10.18523/2617-3808.2022.5.54-61
A. Kramov, S. Pogorilyy
Neural machine translation falls into the category of natural language processing tasks. Despite the availability of a big number of research papers that are devoted to the improvement of the quality of the machine translation of documents, the problem of the translation of the spoken language that contains the elements of the disfluency speech is still an actual task, especially for low-resource languages like the Ukrainian language. In this paper, the problem of the neural machine translation of the transcription results of the spoken language that incorporate different elements of the disfluency speech has been considered in the case of the translation from the English language to the Ukrainian language. Different methods and software libraries for the detection of the elements of disfluency speech in English texts have been analyzed. Due to the lack of open-access corpora of the speech disfluency samples, a new synthetic labeled corpus has been created. The created corpus contains both the original version of a document and its modified version according to the different types of speech disfluency: filler words (uh, ah, etc.) and phrases (you know, I mean), reparandum-repair pairs (cases when a speaker corrects himself during the speech). The experimental verification of the effectiveness of the usage of the method of disfluency speech detection for the improvement of the machine translation of the spoken language has been performed for the pair of English and Ukrainian languages. It has been shown that the current state-of-the-art neural translation models cannot produce the appropriate translation of the elements of speech disfluency, especially, in the reparandum-repair cases. The results obtained may indicate that the mentioned method of disfluency speech detection can be used for the previous processing of the transcriptions of spoken dialogues for the creation of coherent translations by the usage of the different models of neural machine translation.
{"title":"Usage of the Speech Disfluency Detection Method for the Machine Translation of the Transcriptions of Spoken Language","authors":"A. Kramov, S. Pogorilyy","doi":"10.18523/2617-3808.2022.5.54-61","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.54-61","url":null,"abstract":"Neural machine translation falls into the category of natural language processing tasks. Despite the availability of a big number of research papers that are devoted to the improvement of the quality of the machine translation of documents, the problem of the translation of the spoken language that contains the elements of the disfluency speech is still an actual task, especially for low-resource languages like the Ukrainian language. In this paper, the problem of the neural machine translation of the transcription results of the spoken language that incorporate different elements of the disfluency speech has been considered in the case of the translation from the English language to the Ukrainian language. Different methods and software libraries for the detection of the elements of disfluency speech in English texts have been analyzed. Due to the lack of open-access corpora of the speech disfluency samples, a new synthetic labeled corpus has been created. The created corpus contains both the original version of a document and its modified version according to the different types of speech disfluency: filler words (uh, ah, etc.) and phrases (you know, I mean), reparandum-repair pairs (cases when a speaker corrects himself during the speech). The experimental verification of the effectiveness of the usage of the method of disfluency speech detection for the improvement of the machine translation of the spoken language has been performed for the pair of English and Ukrainian languages. It has been shown that the current state-of-the-art neural translation models cannot produce the appropriate translation of the elements of speech disfluency, especially, in the reparandum-repair cases. The results obtained may indicate that the mentioned method of disfluency speech detection can be used for the previous processing of the transcriptions of spoken dialogues for the creation of coherent translations by the usage of the different models of neural machine translation.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131321301","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 : 2023-02-24DOI: 10.18523/2617-3808.2022.5.12-15
O. Zhezherun, M. Ryepkin
The article presents a system capable of generating new ontologies or supplementing existing ones based on articles in Ukrainian. Ontologies are described and an algorithm suitable for automated concept extraction from natural language texts is presented.Ontology as a technology has become an increasingly important topic in contemporary research. Since the creation of the Semantic Web, ontology has become a solution to many problems of understanding natural language by computers. If an ontology existed and was used to analyze documents, then we would have systems that could answer very complex queries in natural language. Google’s success showed that loading HTML pages is much easier than marking everything with semantic markup, wasting human intellectual resources. To find a solution to this problem, a new direction in the ontological field, called ontological engineering, has appeared. This direction began to study ways of automating the generation of knowledge, which would be consolidated by an ontology from the text.Humanity generates more data every day than yesterday. One of the main levers today in the choice of technologies for the implementation of new projects is whether it can cope with this flow of data, which will increase every day. Because of this, some technologies come to the fore, such as machine learning, while others recede to the periphery, due to the impossibility or lack of time to adapt to modern needs, as happened with ontologies. The main reason for the decrease in the popularity of ontologies was the need to hire experts for its construction and the lack of methods for automated construction of ontologies.This article considers the problem of automated ontology generation using articles from the Ukrainian Wikipedia, and geometry was taken as an example of the subject area. A system was built that collects data, analyzes it, and forms an ontology from it.
{"title":"Automatic Generation of Ontologies Based on Articles Written in Ukrainian Language","authors":"O. Zhezherun, M. Ryepkin","doi":"10.18523/2617-3808.2022.5.12-15","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.12-15","url":null,"abstract":"The article presents a system capable of generating new ontologies or supplementing existing ones based on articles in Ukrainian. Ontologies are described and an algorithm suitable for automated concept extraction from natural language texts is presented.Ontology as a technology has become an increasingly important topic in contemporary research. Since the creation of the Semantic Web, ontology has become a solution to many problems of understanding natural language by computers. If an ontology existed and was used to analyze documents, then we would have systems that could answer very complex queries in natural language. Google’s success showed that loading HTML pages is much easier than marking everything with semantic markup, wasting human intellectual resources. To find a solution to this problem, a new direction in the ontological field, called ontological engineering, has appeared. This direction began to study ways of automating the generation of knowledge, which would be consolidated by an ontology from the text.Humanity generates more data every day than yesterday. One of the main levers today in the choice of technologies for the implementation of new projects is whether it can cope with this flow of data, which will increase every day. Because of this, some technologies come to the fore, such as machine learning, while others recede to the periphery, due to the impossibility or lack of time to adapt to modern needs, as happened with ontologies. The main reason for the decrease in the popularity of ontologies was the need to hire experts for its construction and the lack of methods for automated construction of ontologies.This article considers the problem of automated ontology generation using articles from the Ukrainian Wikipedia, and geometry was taken as an example of the subject area. A system was built that collects data, analyzes it, and forms an ontology from it.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133955159","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 : 2023-02-24DOI: 10.18523/2617-3808.2022.5.16-25
A. Hlybovets, Mykola Bikchentaev
The purpose of this work is to describe the methodology of building a software system (application) for plagiarism checking of scientific publications in the Ukrainian language using two machine learning models, Word2Vec and BERT. We consider the detection of external plagiarism in Ukrainian texts.Plagiarism is usually defined as the passing off someone else’s ideas as your own. As the Internet becomes more and more accessible every day, a huge amount of data becomes available to people. Nowadays, it is quite easy to find a suitable study and plagiarize it instead of developing one’s own from scratch.Plagiarism undermines the efforts of the researcher whose work has been plagiarized and gives the plagiarist the opportunity to over-praise himself; such a person can be detrimental when appointed to an important position.Many fields of life are susceptible to plagiarism, including research and education. Plagiarism can also take many forms: from straight up copy-paste to paraphrasing and sentence restructuring. This makes plagiarism a rather complex problem, where methods, such as longest common subsequence or n-grams, based on finding shared words between documents, might not work. Therefore, we might consider applying deep learning to the problem of plagiarism detection.In this article we discussed the concept of plagiarism and listed its types. Two machine learning models have been proposed for plagiarism detection: Word2Vec and BERT. We also provided an overview of both models and described how they could be used in the problem of plagiarism detection.A web application for plagiarism detection in the Ukrainian language has been developed. This application features React, a JavaScript framework, on the frontend and Python on the backend. To store application data, MongoDB is used.This application allows a user to input a text that will be compared with the texts from the application database using cosine similarity or Euclidean distance as metrics. Comparison is performed using word embeddings, calculated by pre-trained BERT or Word2Vec model. A user can choose the model and similarity metrics using the application’s UI.The application can be further improved to not only output similarity metric but also highlight the similar sentences in the texts.
{"title":"Software System of Checking for Plagiarism of Ukrainian Texts","authors":"A. Hlybovets, Mykola Bikchentaev","doi":"10.18523/2617-3808.2022.5.16-25","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.16-25","url":null,"abstract":"The purpose of this work is to describe the methodology of building a software system (application) for plagiarism checking of scientific publications in the Ukrainian language using two machine learning models, Word2Vec and BERT. We consider the detection of external plagiarism in Ukrainian texts.Plagiarism is usually defined as the passing off someone else’s ideas as your own. As the Internet becomes more and more accessible every day, a huge amount of data becomes available to people. Nowadays, it is quite easy to find a suitable study and plagiarize it instead of developing one’s own from scratch.Plagiarism undermines the efforts of the researcher whose work has been plagiarized and gives the plagiarist the opportunity to over-praise himself; such a person can be detrimental when appointed to an important position.Many fields of life are susceptible to plagiarism, including research and education. Plagiarism can also take many forms: from straight up copy-paste to paraphrasing and sentence restructuring. This makes plagiarism a rather complex problem, where methods, such as longest common subsequence or n-grams, based on finding shared words between documents, might not work. Therefore, we might consider applying deep learning to the problem of plagiarism detection.In this article we discussed the concept of plagiarism and listed its types. Two machine learning models have been proposed for plagiarism detection: Word2Vec and BERT. We also provided an overview of both models and described how they could be used in the problem of plagiarism detection.A web application for plagiarism detection in the Ukrainian language has been developed. This application features React, a JavaScript framework, on the frontend and Python on the backend. To store application data, MongoDB is used.This application allows a user to input a text that will be compared with the texts from the application database using cosine similarity or Euclidean distance as metrics. Comparison is performed using word embeddings, calculated by pre-trained BERT or Word2Vec model. A user can choose the model and similarity metrics using the application’s UI.The application can be further improved to not only output similarity metric but also highlight the similar sentences in the texts.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131920006","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 : 2023-02-24DOI: 10.18523/2617-3808.2022.5.49-53
Vladyslav A. Kuznetsov, I. Krak, Volodymyr Lіashko, V. Kasianiuk
The task of developing effective text information classification systems requires the thoughtful analysis and synthesis of variable components of technology. These components strongly affect the practical efficiency and the requirements to the data. For this purpose, a typical technology was discussed, comparing the regular “learning from features” approach versus the more advanced “deep learning” approach, that studies from data. In order to implement the technology, the first approach was tested, which included the means (methods, algorithms) for analysis of the features of the source text, by applying the dimensionality transformation, and building model solutions that allow the correct classification of data by a set of features. As a result, all the steps of the technology are described, which allowed to determine the way of presenting data in terms of hidden features in data, their presentation in a standard visual form and evaluate the solution, as well as its practical efficiency, based on this set of features. In a depth study, the informational core of the document was studied, using the regression and T-stochastic grouping of features for dimensionality reduction.The separate results contain estimation of practical efficiency of the algorithms in terms of time and relative performance for each step of the proposed technology. This estimation gives a possibility to obtain the best algorithm of intelligent data processing that is useful for a given dataset and application. In order to estimate the best suited algorithm for separation in reduced dimension an experiment was carried out which allowed the selection of the best range of data classification algorithms, in particular boosting methods. As a result of the analysis of the technology, the necessary steps of this technology were discussed and the classification on real text data was conducted, which allowed to identify the most important stages of the technology for text classification.
{"title":"Analysis and Synthesis of Technology for Textual Information Classification","authors":"Vladyslav A. Kuznetsov, I. Krak, Volodymyr Lіashko, V. Kasianiuk","doi":"10.18523/2617-3808.2022.5.49-53","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.49-53","url":null,"abstract":"The task of developing effective text information classification systems requires the thoughtful analysis and synthesis of variable components of technology. These components strongly affect the practical efficiency and the requirements to the data. For this purpose, a typical technology was discussed, comparing the regular “learning from features” approach versus the more advanced “deep learning” approach, that studies from data. In order to implement the technology, the first approach was tested, which included the means (methods, algorithms) for analysis of the features of the source text, by applying the dimensionality transformation, and building model solutions that allow the correct classification of data by a set of features. As a result, all the steps of the technology are described, which allowed to determine the way of presenting data in terms of hidden features in data, their presentation in a standard visual form and evaluate the solution, as well as its practical efficiency, based on this set of features. In a depth study, the informational core of the document was studied, using the regression and T-stochastic grouping of features for dimensionality reduction.The separate results contain estimation of practical efficiency of the algorithms in terms of time and relative performance for each step of the proposed technology. This estimation gives a possibility to obtain the best algorithm of intelligent data processing that is useful for a given dataset and application. In order to estimate the best suited algorithm for separation in reduced dimension an experiment was carried out which allowed the selection of the best range of data classification algorithms, in particular boosting methods. As a result of the analysis of the technology, the necessary steps of this technology were discussed and the classification on real text data was conducted, which allowed to identify the most important stages of the technology for text classification.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130903571","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 : 2023-02-24DOI: 10.18523/2617-3808.2022.5.41-44
S. Gorokhovskyi, Аnton Аlieksieiev
Bicycle security systems have not developed as much as home security, and it is difficult to find competitive examples when researching the market. Many security systems on the market have weaknesses that can be bypassed or are not convenient to use. The technologies used to protect bicycles are rather uniform, predictable and not reliable. Most of such systems do not have convenient means of monitoring, such as, for example, a mobile application. Improvement of these systems, introduction of new technologies is very relevant in the field of bicycle protection. This is due to the unpopularity of these systems, their unreliability and lack of control over the phone. The majority of bicycle users are inclined to use proven methods – bicycle locks. But this decision is wrong.The system with GPS is so easy not to be deceived – it has more than one level of protection, and quickly warns the user about a threat. It has deterrents and means of attracting the attention of others.In addition, the use of GSM technology facilitates the possibility of control through a mobile application, which simplifies work with the system.Using GPS is the best way to monitor the position of the bicycle in space, and to track movement in unpredictable circumstances. GPS opens a number of possibilities and increases the functionality of the system. From monitoring the situation of the protection object to collecting statistics].The GSM module is almost never used in bicycle security systems. This is due to the concept of bike guarding, which says why use the ability to transmit data to any corner of the world if the user does not move more than 100 meters from the guarded object. But this concept is wrong. GSM is one of the fastest solutions among analogs. But transmission speed is not the only criterion for information transmission in wireless systems.Since the bicycle is a moving object, and the security system must be wireless, an important criterion for the functioning of such a system is the operating time.This article deals with the problem of protecting a moving object, using GSM and GPS modules. The main features of existing systems in this area, their advantages and disadvantages are shown. The advantages of using a radio protocol for bicycle protection are given. A model of the system that meets the needs of the user has been developed.
{"title":"Bicycle Protection System Using GPS/GSM Modules аnd Radio Protocol","authors":"S. Gorokhovskyi, Аnton Аlieksieiev","doi":"10.18523/2617-3808.2022.5.41-44","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.41-44","url":null,"abstract":"Bicycle security systems have not developed as much as home security, and it is difficult to find competitive examples when researching the market. Many security systems on the market have weaknesses that can be bypassed or are not convenient to use. The technologies used to protect bicycles are rather uniform, predictable and not reliable. Most of such systems do not have convenient means of monitoring, such as, for example, a mobile application. Improvement of these systems, introduction of new technologies is very relevant in the field of bicycle protection. This is due to the unpopularity of these systems, their unreliability and lack of control over the phone. The majority of bicycle users are inclined to use proven methods – bicycle locks. But this decision is wrong.The system with GPS is so easy not to be deceived – it has more than one level of protection, and quickly warns the user about a threat. It has deterrents and means of attracting the attention of others.In addition, the use of GSM technology facilitates the possibility of control through a mobile application, which simplifies work with the system.Using GPS is the best way to monitor the position of the bicycle in space, and to track movement in unpredictable circumstances. GPS opens a number of possibilities and increases the functionality of the system. From monitoring the situation of the protection object to collecting statistics].The GSM module is almost never used in bicycle security systems. This is due to the concept of bike guarding, which says why use the ability to transmit data to any corner of the world if the user does not move more than 100 meters from the guarded object. But this concept is wrong. GSM is one of the fastest solutions among analogs. But transmission speed is not the only criterion for information transmission in wireless systems.Since the bicycle is a moving object, and the security system must be wireless, an important criterion for the functioning of such a system is the operating time.This article deals with the problem of protecting a moving object, using GSM and GPS modules. The main features of existing systems in this area, their advantages and disadvantages are shown. The advantages of using a radio protocol for bicycle protection are given. A model of the system that meets the needs of the user has been developed.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117184969","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.56-59
A. Salii
Sometimes in practice it is necessary to calculate the probability of an uncertain cause, taking into account some observed evidence. For example, we would like to know the probability of a particular disease when we observe the patient’s symptoms. Such problems are often complex with many interrelated variables. There may be many symptoms and even more potential causes. In practice, it is usually possible to obtain only the inverse conditional probability, the probability of evidence giving the cause, the probability of observing the symptoms if the patient has the disease.Intelligent systems must think about their environment. For example, a robot needs to know about the possible outcomes of its actions, and the system of medical experts needs to know what causes what consequences. Intelligent systems began to use probabilistic methods to deal with the uncertainty of the real world. Instead of building a special system of probabilistic reasoning for each new program, we would like a common framework that would allow probabilistic reasoning in any new program without restoring everything from scratch. This justifies the relevance of the developed genetic algorithm. Bayesian networks, which first appeared in the work of Judas Pearl and his colleagues in the late 1980s, offer just such an independent basis for plausible reasoning.This article presents the genetic algorithm for learning the structure of the Bayesian network that searches the space of the graph, uses mutation and crossover operators. The algorithm can be used as a quick way to learn the structure of a Bayesian network with as few constraints as possible.learn the structure of a Bayesian network with as few constraints as possible.
{"title":"Methods of Learning the Structure of the Bayesian Network","authors":"A. Salii","doi":"10.18523/2617-3808.2021.4.56-59","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.56-59","url":null,"abstract":"Sometimes in practice it is necessary to calculate the probability of an uncertain cause, taking into account some observed evidence. For example, we would like to know the probability of a particular disease when we observe the patient’s symptoms. Such problems are often complex with many interrelated variables. There may be many symptoms and even more potential causes. In practice, it is usually possible to obtain only the inverse conditional probability, the probability of evidence giving the cause, the probability of observing the symptoms if the patient has the disease.Intelligent systems must think about their environment. For example, a robot needs to know about the possible outcomes of its actions, and the system of medical experts needs to know what causes what consequences. Intelligent systems began to use probabilistic methods to deal with the uncertainty of the real world. Instead of building a special system of probabilistic reasoning for each new program, we would like a common framework that would allow probabilistic reasoning in any new program without restoring everything from scratch. This justifies the relevance of the developed genetic algorithm. Bayesian networks, which first appeared in the work of Judas Pearl and his colleagues in the late 1980s, offer just such an independent basis for plausible reasoning.This article presents the genetic algorithm for learning the structure of the Bayesian network that searches the space of the graph, uses mutation and crossover operators. The algorithm can be used as a quick way to learn the structure of a Bayesian network with as few constraints as possible.learn the structure of a Bayesian network with as few constraints as possible.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"64 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":"115211021","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.64-71
Volodymyr Boublik
The paper investigates a possibility of developing a non-virtual hierarchy for a special case of class signature, which may possess different interpretations. The approach is similar to double dispatching in the C ++ programming language. As an alternative to polymorphism, a non-polymorphic hierarchy has been suggested based on generic programming templates. This hierarchy is based on inverse parametrization for templates enabling constructing a general scheme for the design pattern. The pattern defined a class architecture suitable for static implementation of double dispatched multimethod for a special case of signature- defined interfaces.In fact, any abstract base class (interface) with purely virtual operations must acquire a polymorphic implementation. Besides, the polymorphism itself, the dependence of a virtual function on two objects – “this” and another parameter – requires the use of double dispatch, turning a class member function into a double dispatched multimethod.A preliminary consideration deals with issues of double dispatching in the C++ programming language. Inheritance with polymorphic class member functions is used. This requires special efforts of adding to both bases and derived classes a couple of virtual functions to support dispatching. In any case, this approach, besides using virtual functions, has a disadvantage of violating one of the SOLID principles, namely the principle of dependency inversion: base classes should not depend on derivatives, which negatively affects the quality of the software.Polymorphism is usually understood as the dynamic tuning of a program to the data type of the object that the program will encounter during its execution. That is, by its nature, polymorphism is a purely dynamic characteristic. However, in C++ literature and in practice, you can come across the term “static polymorphism”.At the same time, research of possibilities of generalized programming (templates) allows transferring some dynamic problems to the static level. In particular, a variant of static polymorphism application without virtual functions can be considered.A variant of non-virtual double scheduling has been proposed, generalized in the form of a created design pattern “Signature multimethod”. The use of the newly created pattern is illustrated with an example of implementing classes of complex numbers. The absence of violations of SOLID principles is shown, and the possibility of supplementing the hierarchy with new derived classes without the need to interfere with the structure of the base class is demonstrated.The approach suggested in this work has been used in courses in object-oriented programming at the Faculty of Informatics of Kyiv-Mohyla Academy.
{"title":"Towards Creating a Static Design Pattern for Double Dispatching Model Signatures","authors":"Volodymyr Boublik","doi":"10.18523/2617-3808.2021.4.64-71","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.64-71","url":null,"abstract":"The paper investigates a possibility of developing a non-virtual hierarchy for a special case of class signature, which may possess different interpretations. The approach is similar to double dispatching in the C ++ programming language. As an alternative to polymorphism, a non-polymorphic hierarchy has been suggested based on generic programming templates. This hierarchy is based on inverse parametrization for templates enabling constructing a general scheme for the design pattern. The pattern defined a class architecture suitable for static implementation of double dispatched multimethod for a special case of signature- defined interfaces.In fact, any abstract base class (interface) with purely virtual operations must acquire a polymorphic implementation. Besides, the polymorphism itself, the dependence of a virtual function on two objects – “this” and another parameter – requires the use of double dispatch, turning a class member function into a double dispatched multimethod.A preliminary consideration deals with issues of double dispatching in the C++ programming language. Inheritance with polymorphic class member functions is used. This requires special efforts of adding to both bases and derived classes a couple of virtual functions to support dispatching. In any case, this approach, besides using virtual functions, has a disadvantage of violating one of the SOLID principles, namely the principle of dependency inversion: base classes should not depend on derivatives, which negatively affects the quality of the software.Polymorphism is usually understood as the dynamic tuning of a program to the data type of the object that the program will encounter during its execution. That is, by its nature, polymorphism is a purely dynamic characteristic. However, in C++ literature and in practice, you can come across the term “static polymorphism”.At the same time, research of possibilities of generalized programming (templates) allows transferring some dynamic problems to the static level. In particular, a variant of static polymorphism application without virtual functions can be considered.A variant of non-virtual double scheduling has been proposed, generalized in the form of a created design pattern “Signature multimethod”. The use of the newly created pattern is illustrated with an example of implementing classes of complex numbers. The absence of violations of SOLID principles is shown, and the possibility of supplementing the hierarchy with new derived classes without the need to interfere with the structure of the base class is demonstrated.The approach suggested in this work has been used in courses in object-oriented programming at the Faculty of Informatics of Kyiv-Mohyla Academy.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"59 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":"121749403","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.108-112
N. Ivaniuk, A. 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.
{"title":"Implementation of a Graphic Interface Development Tool for Prolog","authors":"N. Ivaniuk, A. Kucher, Yury Yuschenko","doi":"10.18523/2617-3808.2021.4.108-112","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.108-112","url":null,"abstract":"\u0000 \u0000 \u0000The 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. \u0000 \u0000 \u0000","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":"130831146","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.16-22
Mykola Semylitko, G. 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.
{"title":"Parallel SVD Algorithm for a Three-Diagonal Matrix on a Video Card Using the Nvidia CUDA Architecture","authors":"Mykola Semylitko, G. Malaschonok","doi":"10.18523/2617-3808.2021.4.16-22","DOIUrl":"https://doi.org/10.18523/2617-3808.2021.4.16-22","url":null,"abstract":"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.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"18 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":"115422956","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}