|
ABSTRACTS OF ARTICLES OF THE JOURNAL "INFORMATION TECHNOLOGIES".
No. 1. Vol. 26. 2020
DOI: 10.17587/it.26.3-8
S. Khashin, PhD, Professor, e-mail: khash2@gmail.com, S. Vaganov, PhD Student, e-mail: pro100-pioner@mail.ru, Ivanovo State University, Ivanovo, 153025, Russian Federation,
Corresponding author: Khashin Sergei, Ivanovo State University, Ivanovo, 153035, Russian Federation, e-mail: khash2@gmail.com
Genetic Algorithms Using Forth
A method for automatic finding of a program (in the FORT language) that realizes the given algorithm is developed. The algorithm is specified by a set of tests of the form (inputdata) — (outputdata). Both input and output data are represented as a sets of 4-byte integers. Genetic methods have made it possible to find the implementation of even relatively complex algorithms: decimal and binary digits of numbers, GCD, LCL, factorial, simple divisors, binomial coefficients, sorting of short sequences, highs, lows, calculation of polynomial values and others. The genetic approach allows you to build a program from separate blocks, "genes", which turned out to be suitable for at least some part of the test elements. Genetic methods made it possible to find the implementation of even relatively complex algorithms: decimal and binary digits of a number, NOC, factorial, simple divisors, binomial coefficients, sorting of short sequences, maxima, minima, calculation of polynomial values and others. Our method starts by randomly sorting through short programs, extracting blocks ("genes") from them at least slightly suitable for the problem being solved. And then he builds a program using the found "genes". The set of used "genes'" in the process of the algorithm is constantly being adjusted, improved. The complexity of direct enumeration grows exponentially with increasing program length. The genetic method we propose allows us in many cases to drastically reduce the volume of search. The FORT language is chosen because of its compactness: all listed algorithms are placed in no more than 10—15 commands. Although, if we take into account the genes found, the total length of the program will be significantly longer. In addition, the mechanism of embedding "genes" already, in fact, is in the language. Our method is configured to work with integers, but it can be applied to data containing real numbers, strings, etc. In the case of working with real numbers, the method can be considered as an alternative to the methods used in neural networks.
Keywords: Genetic algorithm, Linear genetic programming, Evolutionary programming, Machine learning, Forth
P. 3–8
To the contents
|
|