792 ISSN 1064-2307, Journal of Computer and Systems Sciences International, 2007, Vol. 46, No. 5, pp. 792–801. © Pleiades Publishing, Ltd., 2007. Original Russian Text © P.G. Lobanov, A.A. Shalyto, 2007, published in Izvestiya Akademii Nauk. Teoriya i Sistemy Upravleniya, 2007, No. 5, pp. 127–136. INTRODUCTION There are complex problems that can be efficiently solved with the help of finite-state automata [1]. In most cases, the synthesis of automata is performed heu- ristically. Therefore, it is of current interest to solve the problem of formalization of methods for the construc- tion of automata and automation of these methods. There is a well-known class of problems (for example, prisoner’s dilemma [2], “intelligent” ant [3], and syn- chronization [4] and classification of density [5, 6] for cellular automata), where genetic algorithms [7] can automatically construct automata solving these prob- lems. In this paper, we consider a member of this class, the problem of flibs [8]. 1. THE PROBLEM OF FLIBS This problem is to simulate a simplest living being capable of predicting the periodic variations in a sim- plest environment. The living being is simulated by a finite-state automaton, and genetic algorithms make it possible to automatically construct an automaton pre- dicting the environmental changes with a sufficient accuracy. Thus, one needs to generate a “device” (pre- dictor) that estimates the future environmental changes with a maximum probability. This problem was solved in [8] by using one of the genetic algorithms [8]. Here, the accuracy of predictions by the constructed automa- ton is not sufficiently high. This is largely caused by the method used for constructing the next-generation enti- ties (automata). The aim of this paper is to develop an approach eliminating this deficiency. We propose a C# program that implements both this and the existing approaches, which makes it possible to compare the approaches. 2. STATEMENT OF THE PROBLEM An important feature of living beings is that they are able to predict the environmental changes. A simplest model of a living being can be represented by a finite- state automaton. Such finite-state automaton models are called flibs (an abbreviation of finite living blobs) [8]. The flib input variable can take one of the two val- ues: 0 or 1. This variable describes the state of the envi- ronment at the current time instant. The environment is so simple that it has only two states. The flib changes its state and generates the value of the output variable. This value corresponds to the possible environmental state at the next time instant. The flib aims at predicting the actual state of the environment at the next time instant. This can be done due to the periodicity of its changes. Here, it is assumed that the more the accuracy of the flib-predicted environmental change, the higher its chances to survive and leave offspring. 3. THE DESIGN OF GENETIC ALGORITHMS IN THE PROBLEM OF FLIBS Let us describe the designs of the existing and pro- posed algorithms. 3.1. The Existing Algorithm The search for an optimal predictor is performed by the following genetic algorithm [8]. (1) A generation of random flibs is created. (2) The number of changes in the environmental state predicted correctly by each of these flibs is calcu- lated. (3) The worst and best predictors in the generation are determined. ARTIFICIAL INTELLIGENCE Application of Genetic Algorithms for Automatic Construction of Finite-State Automata in the Problem of Flibs P. G. Lobanov and A. A. Shalyto St.-Petersburg State University of Information Technologies, Mechanics, and Optics, ul. Sablinskaya 14, St. Petersburg, 197101 Russia Received January 9, 2007; in final form, May 28, 2007 Abstract—A genetic algorithm is proposed to solve the problem of flibs, which simulate the behavior of a sim- plest living being in a simplest environment. Computational experiments have been performed demonstrating the efficiency of this algorithm compared with the existing algorithm. DOI: 10.1134/S1064230707050115