Page 72 - 49A Field Guide to Genetic Programming
P. 72
58 6 Modular, Grammatical and Developmental Tree-based GP
Figure 6.4: Screen shot of an animated gif showing the development
of the topology and the sizing of an electrical circuit (from http://www.
genetic-programming.com/gpdevelopment.html).The program is inter-
preted in parallel. Solid arrows link the active code to the parts of the
electronic circuit (lower half) that are being modified. The three-headed
arrow from S shows that three new components (Z4) have just been created
in series. Their types (e.g., capacitor, inductor or resistor) and values will
be determined by the three arguments of the S “function”.
modifications of the structure, etc. Cellular encoding GP has successfully
been used to evolve neural networks (Gruau, 1994; Gruau and Whitley,
1993; Gruau, 1994) and electronic circuits (Koza et al., 1999; Koza, Andre,
Bennett, and Keane, 1996a; Koza, Bennett, Andre, and Keane, 1996c), as
well as in numerous other domains. A related approach proposed by Hoang,
Essam, McKay, and Nguyen (2007) combines tree adjoining grammars (Sec-
tion 6.2.3) with L-systems (Lindenmayer, 1968) to create a system where
each stage in the developmental process is a working program that respects
the grammatical constraints.
One of the advantages of indirect representations such as cellular en-
coding is that the standard GP operators can be used to evolve structures
(such as circuits) which may have nothing in common with standard GP
trees. In many of these systems, the structures being “grown” are also still
meaningful (and evaluable) at each point in their development. This allows
fitness evaluation. Another important advantage is that structures result-