An Introduction to Genetic Algorithms - Boente
An Introduction to Genetic Algorithms - Boente
An Introduction to Genetic Algorithms - Boente
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Evolving Cellular Au<strong>to</strong>mata<br />
Chapter 2: <strong>Genetic</strong> <strong>Algorithms</strong> in Problem Solving<br />
A quite different example of au<strong>to</strong>matic programming by genetic algorithms is found in work done by James<br />
Crutchfield, Rajarshi Das, Peter Hraber, and myself on evolving cellular au<strong>to</strong>mata <strong>to</strong> perform computations<br />
(Mitchell, Hraber, and Crutchfield 1993; Mitchell, Crutchfield, and Hraber 1994a; Crutchfield and Mitchell<br />
1994; Das, Mitchell, and Crutchfield 1994). This project has elements of both problem solving and scientific<br />
modeling. One motivation is <strong>to</strong> understand how natural evolution creates systems in which "emergent<br />
computation" takes place—that is, in which the actions of simple components with limited information and<br />
communication give rise <strong>to</strong> coordinated global information processing. Insect colonies, economic systems, the<br />
immune system, and the brain have all been cited as examples of systems in which such emergent<br />
computation occurs (Forrest 1990; Lang<strong>to</strong>n 1992). However, it is not well unders<strong>to</strong>od how these natural<br />
systems perform computations. <strong>An</strong>other motivation is <strong>to</strong> find ways <strong>to</strong> engineer sophisticated emergent<br />
computation in decentralized multi−processor systems, using ideas from how natural decentralized systems<br />
compute. Such systems have many of the desirable properties for computer systems mentioned in chapter 1:<br />
they are sophisticated, robust, fast, and adaptable information processors. Using ideas from such systems <strong>to</strong><br />
design new types of parallel computers might yield great progress in computer science.<br />
One of the simplest systems in which emergent computation can be studied is a one−dimensional binary−state<br />
cellular au<strong>to</strong>ma<strong>to</strong>n (CA)—a one−dimensional lattice of N two−state machines ("cells"), each of which<br />
changes its state as a function only of the current states in a local neighborhood. (The well−known "game of<br />
Life" (Berlekamp, Conway, and Guy 1982) is an example of a two−dimensional CA.) A one−dimensional CA<br />
is illustrated in figure 2.5. The lattice starts out with an initial configuration of cell states (zeros and ones) and<br />
this configuration changes in discrete time steps in which all cells are updated simultaneously according <strong>to</strong> the<br />
CA "rule" Æ. (Here I use the term "state" <strong>to</strong> refer <strong>to</strong> refer <strong>to</strong> a local state si—the value of the single cell at site<br />
i. The term "configuration" will refer <strong>to</strong> the pattern of local states over the entire lattice.)<br />
Figure 2.5: Illustration of a one−dimensional, binary−state, nearest−neighbor (r = 1) cellular au<strong>to</strong>ma<strong>to</strong>n with<br />
N = 11. Both the lattice and the rule table for updating the lattice are illustrated. The lattice configuration is<br />
shown over one time step. The cellular au<strong>to</strong>ma<strong>to</strong>n has periodic boundary conditions: the lattice is viewed as a<br />
circle, with the leftmost cell the right neighbor of the rightmost cell, and vice versa.<br />
A CA rule Æ can be expressed as a lookup table ("rule table") that lists,<br />
for each local neighborhood, the update state for the neighborhood's central cell. For a binary−state CA, the<br />
update states are referred <strong>to</strong> as the "output bits" of the rule table. In a one−dimensional CA, a neighborhood<br />
consists of a cell and its r ("radius") neighbors on either side. The CA illustrated in figure 2.5 has r = 1. It<br />
34