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