首页 > 最新文献

NaUKMA Research Papers. Computer Science最新文献

英文 中文
Defining the Rules and Basic Set of Funtional Elements for Effective Modeling of Communication Networks 定义通信网络有效建模的规则和基本功能元素集
Pub Date : 2021-12-10 DOI: 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.
通信网络是受多种因素影响的复杂信息系统。预测数据在验证网络、检查其安全性和计划其更新时所采取的路径至关重要。模型允许探索发生在网络中的进程,而不会影响实际网络本身的性能和可用性。有了建模,就有可能在实际实施之前调查引入网络的基础设施变化的结果。能够将真实的网络描述形式化地转换为模型定义是很重要的,模型定义保留了所有对网络运行有意义的数据,而忽略了不重要的数据。概述这种转换的规则并使用一组有限的基本功能组件,为为不同复杂程度的网络自动创建模型提供了基础。本文提出的通信网络建模方法是将实际网络中每个特定组件的整体功能分解为属于某个预定义基本集的功能集。基本集的功能包括L3路由、L2交换、包过滤、NAT等。实际网络组件的模型被定义为一组功能节点,每个功能节点实现基本集合中的某些功能。影响其运行的网络组件的配置和当前状态也被分解为元素,每个元素与某个特定的功能节点相关。将网络组件的配置建模为一组配置存储元素,将当前状态建模为一组当前状态存储元素。连接真实网络组件的链路和连接模型中功能节点的链路被呈现为单向通道,实现L2帧的传播,从而由于将物理层(L1)排除在范围之外而简化了模型。使用提出的建模方法可以将真实网络描述形式化转换为模型,从而使自动化建模成为可能。通过使用足够的基本功能节点集,可以对包含任何复杂程度的组件的网络进行建模。
{"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}
引用次数: 0
Analysis of Selection Methods Used in Genetic Algorithms 遗传算法中的选择方法分析
Pub Date : 2021-12-10 DOI: 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.
本文对代遗传算法中使用的选择方法进行了全面的综述。首先简要介绍了适应度比例选择方法,包括轮盘选择(RWS)及其修正、带替换的随机剩余选择(SRSWR)、剩余随机独立选择(RSIS)和随机普遍选择(SUS);排名选择方法包括线性排名和非线性排名;比赛选择方法,包括确定性和随机比赛以及有和没有替换的比赛;精英和截断选择方法;健身统一选择方案(FUSS)。其次,给出了选择方法性质的基本理论表述。特别考虑了选择噪声、选择压力、生长速率、繁殖速率和计算复杂度。为了说明选择方法的性质,在不使用其他遗传算子的情况下,对使用唯一选择方法的遗传算法进行了多次运行,并计算了所分析性质的数值特征。具体来说,通过计算接管时间和选择强度来估计选择压力;为了估计生长率,计算两个连续种群中最佳个体拷贝的比率;为了估计选择噪声,通过对特定适应度函数进行实验,分析算法的收敛速度,并为所有个体分配相同的适应度值。第三,研究了选择方法对种群适应度分布的影响。为此,进行了遗传算法运行,从二项分布的初始种群开始。结果表明,大多数选择方法使分布接近原始分布,从而增加了分布的平均值,而其他选择方法(如破坏性RWS、指数排序、截断和FUSS)则显著改变了分布。所得结果用表格和直方图加以说明。
{"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}
引用次数: 0
Agent-Based Modeling of Collaborative Work 基于agent的协同工作建模
Pub Date : 2021-12-10 DOI: 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.
在现代世界,仅仅创造一种能发挥其功能的产品已经不够了,它应该比成千上万的竞争对手表现得更好。然而,问题是人类的智力是有限的,许多复杂的任务超出了一个人的能力。提高我们智力水平的自然方式是建立团队,分享我们的经验、知识和世界观,以创造超越个人能力的东西。因此,根据最近的一项排名,协作技能被认为是21世纪最重要的技能,这并不奇怪[2]。为了应对所有挑战,创造高质量的产品,应该有一个团队,成员是沟通、讨论、解决问题和批判性思维的专家。此外,有效地管理团队也很重要。要做到这一点,有必要更多地了解团队内部发生的社会过程。基于代理的建模是获得此类见解的有效工具。基于代理的建模是模拟不同过程(包括社会过程)的强大工具。这项技术是在人工智能、社会学、博弈论等许多其他领域的影响下形成的。在本文中,一个在“荒野生存:寻求共识的任务”框架中模拟人类互动的模型被用来展示基于主体的建模的核心原则。agent小组自行完成一个测试,然后讨论他们的答案,达成共识,获得最好的分数。它将分析哪些人类性格特征对成功的协作工作更重要。一些团队成员对团队成功不感兴趣的情况将被确定。此外,还提供了一个用户界面来运行自定义实验,以便更好地了解特定的角色特征如何影响团队结果。
{"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}
引用次数: 0
Description of the Imperative Programming Language in Haskell 命令式编程语言在Haskell中的描述
Pub Date : 2021-12-10 DOI: 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.
在创建编程语言时,有必要确定其语法和语义。语法的主要任务是描述作为语言元素的所有结构。为此,特定的语法会突出显示语言字母表中语法正确的字符序列。大多数情况下,它是一组有限的规则,生成所有构造语言的无限集,例如扩展的Backus-Naur (BNF)形式。为了描述语言的语义,优先考虑抽象语法,在实际的编程语言中,它比具体的更短,更明显。抽象语法对象和编译器中程序语法之间的关系解决了解析阶段。指称语义是用来描述语义的。最初,它记录最简单的语法对象的表示。然后,与每个复合句法结构相关联的语义功能,该功能通过设计组件的外延计算其值-外延。由于程序是特定的语法结构,因此可以使用适当的语义函数确定其外延。请注意,在计算其表示时并不执行程序本身。编程语言的外延描述包括其结构的抽象语法,外延-结构的意义和语义功能,这些功能在其外延(意义)中反映了抽象语法(语言结构)的元素。考虑使用函数式编程语言Haskell作为元语言。Haskell类型系统是构造抽象语法的好工具。描述纯函数(通常是编程语言结构的表意)的各种可能性是有效使用Haskell来描述表意语义的基础。本文提供了一种简单的命令式编程语言的形式化规范,该语言具有整数数据、块结构和传统的操作符集:赋值、输入、输出、循环和条件。Haskell有效实现解析的能力,解决了将特定语法与抽象连接起来的问题,允许将语言的正式规范扩展到它的实现:一个纯函数-解释器。本书包含了构成简单命令式编程语言解释器的所有函数和数据类型。
{"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}
引用次数: 0
Compensation for Delays and Losses of Packages in Dynamic Online Games 动态网络游戏中包裹延误与丢失的赔偿
Pub Date : 2021-12-10 DOI: 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.
几十年前,网络上的数据速率是以千字节每秒为单位来衡量的,即使在那时,在线游戏开发人员也会遇到一些数据包丢失和传输延迟的问题。现在的传输速率提高了数百倍,延迟补偿的问题就更加重要了。对于许多动态在线游戏来说,即使只有20毫秒的传输延迟也会非常明显,这会对游戏玩法和游戏情绪产生负面影响,从而使玩家反感。除了需要补偿数据包的传递时间外,在客户端还有其他非网络因素超出了开发人员的控制范围,这使得总延迟延长了5-10毫秒,这一事实加剧了问题。正因为如此,尽可能多地消除网络延迟成为一种必要,开发人员被迫寻找解决这一问题的最佳方法。问题陈述如下:回顾网络游戏延迟的原因和可能的解决方案,以及某些方法的优缺点。这个问题在TCP / IP网络模型的4个层次以及应用程序层次上考虑。本文给出了每一层最常用协议的方法,但基本思想可以很容易地转移到其他实现中。考虑延迟的主要原因:传播延迟、路由器队列延迟、传输延迟和处理延迟。本文介绍了网络延迟对网络游戏的影响及其补偿方法,以及网络中数据传输协议的理论和算法开发中出现的问题的解决方法。在设计和发行在线射击游戏、策略等时,可以考虑解决补偿问题的建议。由于给定的接收,可以最大限度地减少网络中数据包传输的一般延迟,这要归功于客户端上的游戏看起来好像玩家在单人模式下玩。
{"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}
引用次数: 0
Automatic Determination of Agricultural Plant Diseases 农业植物病害自动检测
Pub Date : 2021-12-10 DOI: 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.
机器学习技术近年来发展迅速,人们现在可以在生活的各个领域使用它们,使他们的生活更轻松,更美好。农业产业也不落后,每年都有越来越多的问题在机器学习算法的帮助下得到解决。然而,尚未解决的问题之一是农业植物病害的识别问题。根据联合国的研究,全世界每年约有40%的农作物死于各种疾病,其中大部分可以通过及时干预和治疗来避免。为了解决这个问题,我们为每个人提供了一个简单易用的服务,它将允许人们通过植物叶子的图像来预测它是生病还是健康,或者它是否需要任何帮助或入侵。这项服务对于从事农作物种植的小农场来说是必不可少的。因此,这将使这些企业的员工能够立即发现疾病,并收到对他们重要的植物的护理建议。因此,决定开发一个神经网络架构来解决这个问题:通过叶子的图像来预测植物的疾病。这种神经网络模型是轻量级的,不需要花费太多的时间来学习,并且在我们的数据集上具有很高的准确性。本文还研究了哪些流行的深度神经网络架构(如XceptionNet、DenseNet等)在解决这一问题时具有很高的准确性。为了实现最终用户(即农民)使用该模型的可能性,决定以电报机器人的形式开发一种特殊的web服务。有了这个机器人,任何人都可以上传农业植物的叶子图像,并检查这些植物是否健康或没有任何疾病。这个机器人还经过训练,可以就疾病的治疗或健康植物的适当栽培向园丁提供适当的建议。这一解决方案完全解决了问题,完全有可能成为保护世界粮食收成不可或缺的帮手。
{"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}
引用次数: 0
Image Segmentation Using Genetic Algorithms 基于遗传算法的图像分割
Pub Date : 2021-12-10 DOI: 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.
图像分割是图像处理和分析过程中至关重要的一步。图像分割是将一幅图像分割成多个图像段的过程。图像分割将图像分成更有代表性和更容易检查的片段。单独的表面或物品可以用作这样的作品。图像分割过程用于定位目标及其边界。遗传算法是一种随机搜索方法,其工作原理来源于遗传规律、自然选择和生物进化。它们最吸引人的特点是能够有效地解决组合搜索的复杂问题,因为对解的并行研究在很大程度上消除了停留在局部最优解上而不是寻找全局最优解的可能性。使用遗传算法的要点是,每个像素使用基于局部和全局已计算分段的距离函数与其他像素分组。几乎每一种图像分割算法都包含用于控制分割结果的参数;该遗传系统可以动态改变参数以达到最佳性能。与图像排序类似,为了优化过程中的多个参数,使用了多目标遗传算法,从而可以找到具有更多变量的多种解决方案集合。多目标遗传算法(MTGA)是一种由优化技术组成的引导随机搜索方法。它可以解决多目标优化问题,并探索解空间的不同部分。因此,可以找到多样化的解决方案集合,同时有更多的变量可以优化。本文对几种MTGA进行了应用和比较。遗传算法是在缺乏高质量标记数据集的情况下进行图像处理的一个很好的工具,这要么是许多研究人员长期工作的结果,要么是大量资金的贡献,以从外部来源获得一系列数据。在本文中,我们将使用遗传算法来解决图像分割问题。
{"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}
引用次数: 1
Graphical Interface for the Recommendation System 推荐系统的图形界面
Pub Date : 2021-12-10 DOI: 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.
今天,数学在我们的日常生活中扮演着重要的角色。但由于学校教育水平较差,缺乏开放获取资源,许多学生发现很难为数学,特别是几何的独立外部评价做好充分准备。虽然已经做了很多工作,以获得更高的知识成果,但许多学生在理解简单的问题解决方面仍然存在差距。显然,为了提高乌克兰高等教育申请者的整体知识水平,几何需要比代数更基本和直观的学习过程。学生们在学校里往往没有获得成功完成几何课程所必需的创新学习工具,这就是他们在考试中成绩不佳的原因。在研究中,我们将重点放在平面测量问题上,因为它们可以很容易地以书面形式产生。在分析了描述问题的所有类型之后,系统的最佳选择是带有简短答案的开放式问题。本文重点介绍了图形界面模块的创建,并将其实现到现有的语言处理模块中,并介绍了一个推荐系统,该系统展示了一种新的基本工具,可以改变学习技术,并提供了一种全面的解释几何问题的方法。所创建的系统接收乌克兰语的开放式平面测量问题,使用NLP模块对其进行处理,并将数据直接传输到接口模块,接口模块创建问题的图像。然后学生可以尝试画出所有需要的图形,而系统会不断检查进度。系统可以在过程中应用建议(提示)。接口和NLP模块分别独立创建,使用不同的编程语言。为此,我们使用中间阶段——JSON文件,它用于传输处理后的信息。
{"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}
引用次数: 0
Tree-Shaped Formats of Address Programming Language 地址编程语言的树形格式
Pub Date : 2021-12-10 DOI: 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.
在地址程序设计语言(1955)中,引入了对更高级别(指针)进行间接寻址的概念,这使得计算机的RAM单元可以任意连接。这种连接是基于RAM中单元地址的标准序列和寻址序列,这是由程序员通过间接寻址确定的。有两种类型的序列允许程序员确定RAM单元与任意内容的任意连接:数据、地址、子程序、程序标签等。因此,形成的细胞连接可以相互关联。将单元格与任意内容和任何结构连接起来的结果称为树形格式。树形格式允许程序员将数据组合成类似抽象数据类型的复杂数据结构。对于树形格式,定义了“审查方案”的概念,类似于“绕过”树的概念。程序员可以为一个树形格式定义多个概览图。程序员可以在连接的单元格上创建树形格式,为这些连接的单元格定义所需的概述方案。该作品对地址编程中树形格式的概念进行了现代解释。树形格式基于“笔划操作”(指针解引用),在计算机“Kyiv”的命令系统中硬件实现。计算机“Kyiv”地址现代化的组操作加速了树形格式的处理,并被设计为有组织的周期,就像那些高级命令式编程语言一样。计算机“Kyiv”的命令,由于间接寻址的操作,比第一种高级编程语言- plankalk l具有更多的功能。计算机“Kyiv”的机器命令允许通过序列号直接访问“list”的第i个元素,其方式与通过索引访问数组的第i个元素相同。给出的单链表示例显示了树形格式的特性以及它们与抽象数据类型的区别。本文开辟了一个新的理论研究分支,其目的是分析地址编程在现代程序设计语言中部分包含的快速性。
{"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}
引用次数: 0
А Gpu-based Orthogonal Matrix Factorization Algorithm that Produces a Two-Diagonal Shape А基于gpu的正交矩阵分解算法产生双对角线形状
Pub Date : 2021-12-10 DOI: 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.
随着大数据领域以及与人工智能相关的研究领域的发展,对快速高效计算的需求已成为当今最重要的任务之一。这就是为什么在最近十年中,图形处理单元计算一直在积极发展,为科学家和开发人员提供使用数千核gpu来执行密集计算的能力。本研究的目的是通过在Java语言中应用一系列Householder变换来实现矩阵的正交分解,并使用JCuda库对其优点进行研究。研究了几篇有关的论文。Malaschonok和Savchenko在他们的工作中为此引入了一种改进版本的QR算法b[4],并取得了更好的结果,然而根据另一组研究人员Lahabar和Narayanan b[6], Householder算法更有希望用于gpu。然而,他们使用Float数,而我们使用Double数,除此之外,我们正在为CUDA开发一个新的BigDecimal类型。除此之外,对于可能出现计算错误的大型矩阵,仍然没有解决方案。本文研究并实现了SVD算法的第一部分——正交矩阵分解算法。给出了在图形处理器jCUDA环境下用Hausholder方法实现矩阵双对角化和正交因子的计算,并实现了中央处理器的比较算法。本文还对图形处理器与中央处理器的计算速度进行了对比研究。我们展示了在大矩阵大小(特别是2048)下,与CPU实现相比,加速高达53倍,并且在使用更高级的gpu时效果更好。与此同时,由于同步问题,我们在使用图形处理单元时仍然会遇到较大的计算错误。我们比较了不同平台(Windows 10和Arch Linux)上的执行情况,发现考虑到计算速度,它们几乎是相同的。结果表明,在GPU上我们可以获得更好的性能,但是这种方法有更多的实现困难。
{"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}
引用次数: 1
期刊
NaUKMA Research Papers. Computer Science
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1