OPERATOR GENETIC ALGORITHM AND TRAINING OF NEURAL NETWORK - Oliinyk, L. О. (Computer Science and Applied Mathematics, 2023)
This work is dedicated to the study of the effectiveness of the application of the operator genetic algorithm for the training of neural networks. As is known, genetic algorithms, their various interpretations, are quite effective tools for finding solutions to optimization problems. The action of the genetic algorithm is based on the random process of forming a population of possible solutions, among which the best in a certain sense are selected. The article presents the operator model of the genetic algorithm (then – the operator genetic algorithm) developed by the author, which is used for neural network training. The operator genetic algorithm is based on the application of involutive operators acting in the Cartesian product of two instances of n-dimensional Euclidean space and carrying out crossover and mutation operations. In addition, stochastic operators operating in the same Cartesian product are the main tool for forming populations of chromosome vectors. The result of these operators can be interpreted as generalized crossover and mutation. This operator model makes it possible to form populations of chromosome vectors of small power in the search area at each iterative step of the algorithm. The operator model of the genetic algorithm involves binary coding of involutive operators that transform the vertices of the hypercube, which is the search area, but the points of the search area are represented in decimal format. The research article examines the effectiveness of the operator algorithm for training a known neural network that implements the Boolean XOR function. The point of consideration of this example is that it is a partial case of the problem of classification of points of a unit hypercube of arbitrary dimension. As a result of the application of the operator genetic algorithm to the training of the XOR neural network, a set of operators is obtained, which effectively (with a small number of iteration steps) trains the network not only for the XOR function, but also for all Boolean functions of two variables.