ALGORITHMS OF NEURAL NETWORKS FOR THE CONSTRUCTION OF CELLULAR AUTOMATA
Abstract
Cellular automata have been in the spotlight for many years due to their ability to generate a wide range of complex dynamical systems. They are based on simple underlying rule sets and reflect many essential features of complex self-organized collective behavior observed in real systems. Three-dimensional cellular automata are understood as the automata that are closest to real-world objects, but the behavior of such machines remains poorly understood. There are many implementations of one-dimensional and two-dimensional cellular automata, such as Langton's games Anthill and Life, but for three-dimensional cellular automata there are much fewer of them. Cellular automata allow to provide a single device to describe a mathematical model for studying processes of different nature. During research, there is a need to understand what happened several stages ago and the initial state of the system, depending only on its current state. Of great importance for such systems is the fact that cellular automata can be a universal model for parallel computing. In this paper, we consider the possibility of restoring the rules for constructing a cellular automaton and its initial position using neural networks. The stages of evolution of the dynamical system are replaced by the tests of convolutional neural network. This allows to significantly reduce the time of calculation of the stage of
development of the cellular automaton.
The use of neural networks provides opportunities for finding a solution to the inverse problem of evolution. To solve this problem, a Python script based on Keras and Theano libraries was developed and implemented to build a convolutional neural network model. This model studies the transition rules for three-dimensional cellular automata that lead to the generation of stable structures of a certain predetermined form.
Keywords: cellular automaton, neural networks, evolution, dynamical system, three-dimensional space.