PARAMETER-DRIVEN GENERATION OF EVALUATION PROGRAM FOR A NEUROEVOLUTION ALGORITHM ON A BINARY MULTIPLEXER EXAMPLE
DOI:
https://doi.org/10.15588/1607-3274-2023-1-8Keywords:
algebra of algorithms, automated program design, cloud computing, hyperscheme, neuroevolution, neural network, parallel programmingAbstract
Context. The problem of automated development of evaluation programs for the neuroevolution of augmenting topologies. Neuroevolution algorithms apply mechanisms of mutation, recombination, and selection to find neural networks with behavior that satisfies the conditions of a certain formally defined problem. An example of such a problem is finding a neural network that implements a certain digital logic.
Objective. The goal of the work is the automated design and generation of an evaluation program for a sample neuroevolution problem (binary multiplexer).
Method. The methods and tools of Glushkov’s algebra of algorithms and hyperscheme algebra are applied for the parameterdriven generation of a neuroevolution evaluation program for a binary multiplexer. Glushkov’s algebra is the basis of the algorithmic language intended for multilevel structural design and documentation of sequential and parallel algorithms and programs in a form close to a natural language. Hyperschemes are high-level parameterized specifications intended for solving a certain class of problems. Setting parameter values and subsequent interpretation of hyperschemes allows obtaining algorithms adapted to specific conditions of their use.
Results. The facilities of hyperschemes were implemented in the developed integrated toolkit for the automated design and synthesis of programs. Based on algorithm schemes, the system generates programs in a target programming language. The advantage of the system is the possibility of describing algorithm schemes in a natural-linguistic form. An experiment was conducted consisting in the execution of the generated program for the problem of evaluating a binary multiplexer on a distributed cloud platform. The multiplexer example is included in SharpNEAT, an open-source framework that implements the genetic neuroevolution algorithm NEAT for the .NET platform. The parallel distributed implementation of the SharpNEAT was proposed in the previous work of the authors.
Conclusions. The conducted experiments demonstrated the possibility of the developed distributed system to perform evaluations on 64 cloud clients-executors and obtain an increase in 60–100% of the maximum capabilities of a single-processor local implementation.
References
Doroshenko A. Formal and adaptive methods for automation of parallel programs construction: emerging research and opportunities / A. Doroshenko, O. Yatsenko. – Hershey : IGI Global, 2021. – 279 p. DOI: 10.4018/978-1-52259384-3
Designing neural networks through neuroevolution / [K. O. Stanley, J. Clune, J. Lehman et al.] // Nature Machine Intelligence. – 2019. – Vol. 1. – P. 24–35. DOI: 10.1038/S42256-018-0006-Z
SharpNEAT – Evolution of Neural Networks [Electronic resource]. – Access mode: https://github.com/colgreen/ sharpneat
BinaryElevenMultiplexerEvaluator [Electronic resource]. – Access mode: https://github.com/colgreen/sharpneat/blob/ master/src/SharpNeatDomains/BinaryElevenMultiplexer/ BinaryElevenMultiplexerEvaluator.cs
Achour I. Z. Distributed implementation of neuroevolution of augmenting topologies method / I. Z. Achour, A. Yu. Doroshenko // Problems in Programming. – 2021. – № 3. – P. 3–15. DOI: 10.15407/pp2021.03.003
Yushchenko K. L. Algebraic-grammatical specifications and synthesis of structured program schemas / K. L. Yushchenko, G. O. Tseytlin, A. V. Galushka // Cybernetics and Systems Analysis. – 1989. – Vol. 25, № 6. – P. 713–727. DOI: 10.1007/BF01069770
Jiang D. Generation of C++ Code from Isabelle/HOL Specification / D. Jiang, B. Xu // International Journal of Software Engineering and Knowledge Engineering. – 2022. – Vol. 32, № 07. – P. 1043–1069. DOI: 10.1142/S0218194022500401
Moreira G. Fully-tested code generation from TLA+ specifications / G. Moreira, C. Vasconcellos, J. Kniess // Systematic and Automated Software Testing : 7th Brazilian Symposium SAST’22, Uberlandia, 3–7 October 2022 : proceedings. – New York : ACM, 2022. – P. 19–28. DOI: 10.1145/3559744.3559747
Bonfanti S. Design and validation of a C++ code generator from abstract state machines specifications / S. Bonfanti, A. Gargantini, A. Mashkoor // Journal of Software: Evolution and Process. – 2020. – Vol. 32, № 2. – P. 1–27. DOI: 10.1002/smr.2205
Motwani M. Automatically generating precise oracles from structured natural language specifications / M. Motwani, Y. Brun // Software Engineering : 41st IEEE/ACM International Conference ICSE’2019, Montreal, 25–31 May 2019 : proceedings. – Los Alamitos : IEEE, 2019. – P. 188–199. DOI: 10.1109/ICSE.2019.00035
Kenneth O. S. A hypercube-based encoding for evolving large-scale neural networks / O. S. Kenneth, D. Ambrosio, J. Gauci // Artificial Life. – 2009. – Vol. 15, № 2. – P. 185– 212. DOI: 10.1162/artl.2009.15.2.15202
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 A. Yu. Doroshenko, I. Z. Achour, O. A. Yatsenko
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Creative Commons Licensing Notifications in the Copyright Notices
The journal allows the authors to hold the copyright without restrictions and to retain publishing rights without restrictions.
The journal allows readers to read, download, copy, distribute, print, search, or link to the full texts of its articles.
The journal allows to reuse and remixing of its content, in accordance with a Creative Commons license СС BY -SA.
Authors who publish with this journal agree to the following terms:
-
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License CC BY-SA that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
-
Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
-
Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.