evolution and coevolution of developmental programs

5
Computer Physics Communications 121–122 (1999) 46–50 www.elsevier.nl/locate/cpc Evolution and coevolution of developmental programs Christian Jacob 1 Department of Computer Science, Programming Languages, University of Erlangen-Nuremberg, Germany Abstract The developmental processes of single organisms, such as growth and structure formation, can be described by parallel rewrite systems in the form of Lindenmayer systems, which also allow one to generate geometrical structures in 3D space using turtle interpretation. We present examples of L-systems for growth programs of plant-like structures. Evolution-based programming techniques are applied to design L-systems by Genetic L-system Programming (GLP), demonstrating how developmental programs for plants, exhibiting specific morphogenetic properties can be interactively bred or automatically evolved. Finally, we demonstrate coevolutionary effects among plant populations consisting of different species, interacting with each other, competing for resources like sunlight and nutrients, and evolving successful reproduction strategies in their specific environments. 1999 Elsevier Science B.V. All rights reserved. 1. Modeling morphogenetic processes by L-systems One reason for attempting to model nature is to gain more detailed insight into natural processes. Computer simulations have turned out to provide excellent means to explore phenomena observed in nature. One crucial characteristic of natural organisms is their ability to grow and form new structures. These processes are subsumed as structure formation or morphogenesis. Structure formation can be interpreted as the execution of developmental programs. In nature there is no blueprint for an organism. Instead, complex rule systems encode how to build organels and how to combine the diversified parts to form a complete and functioning organism. There is a particular area of morphogenetic research which is being studied intensively: the morphological modeling of plant growth in 3-dimensional space, an area that turns out to be of major importance for re- 1 E-mail: [email protected]. alistic simulations of botanical ecosystems. A num- ber of approaches for modeling plant morphologies have been developed within the last decade: iterated function systems [1], cellular automata or voxel space growth [2], Lindenmayer systems [3–5], or stochastic growth grammars [6]. In the scope of this article we focus on Lindenmayer systems (L-systems), a special type of string-based rewrite systems [4]. With L-systems all letters in a given word are replaced in parallel, even in the case of overlapping contexts. This feature makes L-systems especially suitable for describing fractal structures, cell divisions in multi-cellular organisms [7,5], or flowering stages of herbaceous plants [5,8,9]. D0L-systems (D0 meaning: deterministic with no context) are the simplest type of L-systems. A D0L- system L = (Σ,α,P,T) with geometrical interpreta- tion T consists of an alphabet Σ ={σ 1 ,...,σ n }, an initial, non-empty start string α Σ + , commonly re- ferred to as the axiom, and a set P ={p 1 ,...,p k } of productions or rewrite rules p i : Σ Σ * , with σ p i (σ ) for each σ Σ . Whenever there is no ex- 0010-4655/99/$ – see front matter 1999 Elsevier Science B.V. All rights reserved. PII:S0010-4655(99)00277-5

Upload: christian-jacob

Post on 02-Jul-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Evolution and coevolution of developmental programs

Computer Physics Communications 121–122 (1999) 46–50www.elsevier.nl/locate/cpc

Evolution and coevolution of developmental programs

Christian Jacob1

Department of Computer Science, Programming Languages, University of Erlangen-Nuremberg, Germany

Abstract

The developmental processes of single organisms, such as growth and structure formation, can be described by parallelrewrite systems in the form ofLindenmayer systems, which also allow one to generate geometrical structures in 3D spaceusing turtle interpretation. We present examples of L-systems for growth programs of plant-like structures. Evolution-basedprogramming techniques are applied to design L-systems byGenetic L-system Programming(GLP), demonstrating howdevelopmental programs for plants, exhibiting specific morphogenetic properties can be interactively bred or automaticallyevolved. Finally, we demonstratecoevolutionary effects among plant populationsconsisting of different species, interactingwith each other, competing for resources like sunlight and nutrients, and evolving successful reproduction strategies in theirspecific environments. 1999 Elsevier Science B.V. All rights reserved.

1. Modeling morphogenetic processes byL-systems

One reason for attempting to model nature is togain more detailed insight into natural processes.Computer simulations have turned out to provideexcellent means to explore phenomena observed innature. One crucial characteristic of natural organismsis their ability to grow and form new structures. Theseprocesses are subsumed asstructure formationormorphogenesis. Structure formation can be interpretedas the execution of developmental programs. In naturethere is no blueprint for an organism. Instead, complexrule systems encode how to build organels and how tocombine the diversified parts to form a complete andfunctioning organism.

There is a particular area of morphogenetic researchwhich is being studied intensively: the morphologicalmodeling of plant growth in 3-dimensional space, anarea that turns out to be of major importance for re-

1 E-mail: [email protected].

alistic simulations of botanical ecosystems. A num-ber of approaches for modeling plant morphologieshave been developed within the last decade: iteratedfunction systems [1], cellular automata or voxel spacegrowth [2], Lindenmayer systems [3–5], or stochasticgrowth grammars [6].

In the scope of this article we focus on Lindenmayersystems (L-systems), a special type of string-basedrewrite systems [4]. With L-systems all letters in agiven word are replaced in parallel, even in the caseof overlapping contexts. This feature makes L-systemsespecially suitable for describing fractal structures,cell divisions in multi-cellular organisms [7,5], orflowering stages of herbaceous plants [5,8,9].

D0L-systems (D0 meaning: deterministic with nocontext) are the simplest type of L-systems. A D0L-systemL= (Σ,α,P,T ) with geometrical interpreta-tion T consists of analphabetΣ = {σ1, . . . , σn}, aninitial, non-empty start stringα ∈Σ+, commonly re-ferred to as theaxiom, and a setP = {p1, . . . , pk}of productionsor rewrite rules pi :Σ → Σ∗, withσ → pi(σ ) for eachσ ∈Σ . Whenever there is no ex-

0010-4655/99/$ – see front matter 1999 Elsevier Science B.V. All rights reserved.PII: S0010-4655(99)00277-5

Page 2: Evolution and coevolution of developmental programs

C. Jacob / Computer Physics Communications 121–122 (1999) 46–50 47

α : sprout(4)

p1 : sprout(4) → f stalk(2) [pd(60) leaf(0)]pu(20) [pu(25) sprout(0)][pd(60) leaf(0)] pd(20)

[pu(25) sprout(2)]f stalk(1) bloom(0)

p2 : sprout(t < 4) → sprout(t + 1)

p3 : stalk(t > 0) → f f stalk(t − 1)

p4 : leaf(t) → leaf(t + 1.5)

p5 : leaf(t > 7) → Leaf(7)

p6 : Leaf(t) → Leaf(t − 1.5)

p7 : Leaf(t < 2) → leaf(0)

p8 : bloom(t) → bloom(t + 1)

p9 : bloom(7) → bloom(1)

Fig. 1. Example of a developmental program encoded by an L-system, modeling plant-like geometric structures (Fig. 2).

Fig. 2. Snapshots of evolved phenotypes. The plants are depicted with different scales to show most of their details.

plicit rewriting rule for a symbolσ , the identity map-ping σ → σ is assumed. Iterated application of an L-systemL= (Σ,α,P,T ) generates a (potentially infi-nite) sequence of wordsα0, α1, . . . Each stringαi+1 isgenerated from the preceding stringαi = αi1αi2 . . .αinithe following way:

αi+1= P(αi )= pi1(αi1)pi2(αi2) . . .pini (αini ),wherepij ∈ P , 16 j 6 ni . The geometric interpreta-tion T defines a 3D-semantics for a subsetΣT ⊆Σ ofthe alphabet and translates a string into a spatial struc-ture. Usually, theΣT elements represent commandsto draw geometric objects such as points, lines, poly-gons, etc. This translation is commonly known astur-tle geometryinterpretation.

Fig. 1 shows an example of a parameterized D0L-system describing growth sequences of sprouts, leavesand blooms of an artificial flower. Examples of graph-ical representations are shown in Fig. 2. All the non-italic, bold terms represent commands to move the tur-tle (f: forward, b: backward) and change the draw-

ing tools orientation by rotation around its longitudi-nal, lateral, and vertical axes (rl /rr : roll left or right,pu/pd: pitch up or down,yl/yr : yaw left or right). Be-sides these elementary turtle commands this L-systemalso encodes macros for generating graphical repre-sentations of leaves, blooms, and stalks. For a moredetailed description see [9].

2. Growth grammars and evolution

Evolution within ecosystems means that diverse ge-netic programs struggle for survival, adapting theirability to cope with environmental conditions. We de-scribe our approach how to use genetic programmingtechniques [10,11] to evolve L-systems which encodeplants with characteristic growth structures influenc-ing their light-gathering capability and reproductivepotential.

Page 3: Evolution and coevolution of developmental programs

48 C. Jacob / Computer Physics Communications 121–122 (1999) 46–50

2.1. Generating and modifying L-system encodings

We use high-level building blocks for generatingas well as for modifying expressions. We define atemplate pool where each expression serves as a par-tial description of the genotype – encoding an L-system. Each of these templates is associated witha set of attributes, which are, e.g., predicates con-straining the set of subexpressions that can be pluggedin, or template selection weights. Each genotype ex-pression is constructed from a start pattern (e.g.,LSystem[_Axiom,_LRules]) by recursively insertingmatching expressions from the expression pool, untilall the blanks – marked by underscores (_) – are sub-stituted by according subexpressions [8,9].

The genetic operators may change any subexpres-sions within the developmental program, which are notconsidered as merely a set of parameterized modulesencoding predefined and fixed L-system as in [12].Templates are used to control which subexpressionsare in the scope of each genetic operator [9].Muta-tion substitutes a randomly selected subexpression byan expression (with the same head expression) gener-ated from the template pool.Crossoveris a recombina-tion operator among two or more expressions. Subex-pressions with the same head are selected within theexpressions and interchanged.Deletionerases expres-sion arguments, whenever this is possible, accordingto restrictions regarding the number of arguments forthe selected expression.Duplication inserts a copy ofa randomly selected argument as an additional subex-pression.Permutationinterchanges the sequence of ar-guments of an expression.

3. Breeding developmental programs

In order to demonstrate by a simple example howplant-like structures with specific characteristics canbe developed by L-system evolution, we will considerthe following factors which are important in ecosys-tem competition: a plant’sinseminationandlight gath-ering capability, and its ability to shedshadowonneighboring plants. We incorporate these factors bythe following fitness function:

fitness(plant)=m∑i=0

∆xi ·∆yi ·∆zi + 2Bi +Li. (1)

∆xi , ∆yi , and∆zi denote the extension of the geo-metric plant structure inx-, y-, andz-dimension.Biis the number of blooms blossoming,Li is the num-ber of leaves the plant carries. The maximum numberof L-system iterations is defined bym. The fitness iscomputed as the sum of a plant’s extension and thenumber of blooms and leaves for each L-system iter-ation. This means that fitness does not only dependon how the plant flourishes at a certain growth stage,but takes into account the whole structure generationprocess, from an initial sprout to a full-grown plant.

In the following example (Fig. 2) we start with asmall population of six L-system genomes, each gen-erated using templates as described above. A maxi-mum number ofm= 6 L-system iterations is used forevaluation. Fig. 2 shows two stages of a typical evolu-tion sequence. The individuals are selected proportion-ally to their fitness. All individuals of generation 13encode for more complex growth patterns comparedto the initial generation. This result is on the one sidedue to the non-causality property of L-systems, whichmeans that small changes in the rewrite rules can havedramatic effects on the encoded phenotypic appear-ance. On the other hand, evolutionary selection andvariation applied to sets of L-systems drive the evo-lution process to more competitive encodings of de-velopmental programs. Fig. 3 shows growth stages ofthe best individual of the initial population (individual2) compared to the best individual after 13 generations(individual 1).

4. Steps towards coevolution

There are many more factors that influence a plantorganism’s development in a natural competitive plantenvironment. One of the core questions for modelingcollective interactions is the level of details that canor should be taken into account in order to be able tomake predictions about the evolution of the simulatedsystem [13]. For some models of plant ecosystems cel-lular automata are used [14,15], an agent-based simu-lation system for continuous, two-dimensional land-scapes is presented in [16]. We use the describedGe-netic L-system Programmingapproach together withenvironmentally sensitive L-systems [17] to set upco-evolutionary systems for simulating plants grow-ing in competition for resources, such as nutrients,

Page 4: Evolution and coevolution of developmental programs

C. Jacob / Computer Physics Communications 121–122 (1999) 46–50 49

Fig. 3. Comparison of evolved growth patterns for the best individuals of generation 1 and 13.

Fig. 4. Coevolution snapshots of two plant species in a simple ecosystem model. Plants are depicted in an abstract form, visualizing onlythe height and canopy radius. The light-sensitive plants carry a light-gray, the shade-tolerant plants a black rosette. Seeds are represented byaccording dots.

Page 5: Evolution and coevolution of developmental programs

50 C. Jacob / Computer Physics Communications 121–122 (1999) 46–50

water, sunlight, and space. An example is shown inFig. 4, where four stages of a two-species coevo-lution are depicted. The model simulates competi-tive plant spread, where a fast-growing, light-sensitivespecies finally loses ground against shade-tolerant,slow-growing plants. This system is currently ex-tended for multi-species above- and below-ground in-teractions in plant environments.

References

[1] H.-O. Peitgen, H. Jürgens, D. Saupe, Chaos and Fractals, NewFrontiers of Science (Springer, Berlin, 1993).

[2] N. Green, Voxel space automata: Modeling with stochasticgrowth processes in voxel space, Computer Graphics, ACMSIGGRAPH 23 (3) (1989) 175–184.

[3] A. Lindenmayer, Mathematical models for cellular interactionin development, Parts I and II, J. Theoret. Biology 18 (1968)280.

[4] A. Lindenmayer, G. Rozenberg (Eds.), Automata, Languages,Development (North-Holland, Amsterdam, 1975).

[5] P. Prusinkiewicz, A. Lindenmayer, The Algorithmic Beauty ofPlants (Springer, New York, 1990).

[6] W. Kurth, Growth grammar interpreter GROGRA 2.4, Tech-nical Report, Forschungszentrum Waldökosysteme, Universityof Göttingen, Germany, B 38 (1994).

[7] C. Jacob, Modeling growth with L-systems and mathemat-ica, Mathematica in Education and Research 4 (3) (TELOS,Springer, 1995).

[8] C. Jacob, Genetic L-System Programming, Parallel ProblemSolving from Nature – PPSN III, Lecture Notes in ComputerSci. 866 (Springer, Berlin, 1994).

[9] C. Jacob, Evolving Evolution Programs: Genetic Programmingand L-Systems, in: Genetic Programming, J.R. Koza, D.E.Goldberg, D.B. Fogel, R.L. Riolo (Eds.) (MIT Press, Cam-bridge, MA, 1996).

[10] J. Koza, Genetic Programming (MIT Press, Cambridge, MA,1992).

[11] J. Koza, Genetic Programming II (MIT Press, Cambridge, MA,1994).

[12] K.J. Niklas, Computer-simulated plant evolution, Sci. Amer.254 (1986) 68.

[13] A. Diggle, Examples of agronomic processes represented withcollections of interacting objects, in: [18, pp. 105–116].

[14] D.G. Green, Modelling plants in landscapes, in: [18, pp. 85–96].

[15] S.A. Cannas, S.A. Páez, D.E. Marco, Modelling plant spreadin forest ecology using cellular automata, in: Proc. Euro-physics Conference on Computational Physics, Modelling Col-lective Phenomena in Complex Systems, Granada (Spain), Eu-rophysics Conference Abstracts, Vol. 22 F (1998).

[16] G. Booth, Gecko: a continuous 2D world for ecologicalmodeling, Artificial Life 3 (3) (1997) 147.

[17] P. Prusinkiewicz, M. James, R. M̌ech, Synthetic topiary, in:Proc. SIGRAPH 94 (1994) 351–358.

[18] M.T. Michalewicz (Ed.), Plants to Ecosystems, Advances inComputational Life Sciences (CSIRO Publishing, Colling-wood, Australia, 1997).