Toward Evolutionary Design of Autonomous Systems Jari Vaario ? Koichi Hori Setsuo Ohsuga The University of Tokyo Research Center for Advanced Science and Technology Komaba 4-6-1 , Meguro-ku , 153 Tokyo , Japan Phone : +81 -3 -3481 -4486 , FAX : +81 -3 -3481 -4585 E-mail : jari@ai.rcast.u-tokyo.ac.jp Original Manuscript : October 16,1992 Revised : November 22,1992 The International Journal in Computer Simulation | Special Issue on High-Autonomy Systems Abstract An evolutionary method for designing autonomous systems is proposed . The research is a computer exploration on how the global behavior of autonomous systems can emerge from neural circuits . The evolutionary approach is used to increase the repertoire of behaviors . Autonomous systems are viewed as organisms in an environment . Each organism has its own set of production rules , a genetic code , that gives birth to the neural structure . Another set of production rules describe the environmental factors . These production rules together give rise to a neural network embedded in the organism model . The neural network is the only means to direct reproduction . This gives rise to intelligence , i.e. organisms which have \ more '' intelligent methods to reproduce will have a relative advantage for survival . 1 Introduction Recently it has become widely accepted that the explicit design of autonomous systems is overwhelming difficult task . The Brooks approach , where the human is included in the design loop , has it 's limits : complexity of design process and giving only solutions for predefined tasks . When the number of possible behaviors increases , the complexity of the system -LRB- parameters for behaviors , selection of a particular behavior etc. -RRB- increases exponentially . At a certain point this will exceed human capacity and the design ? To whom correspondence should be addressed . 2 AUTONOMOUS SYSTEM AND NEURAL NETWORK Page 2 process will slow down . Thus we should create a design system where the needed \ engineering '' could be as small as possible . Another aspect is that autonomous systems should be capable of self-modifications during their life-time . During the design phase all possible situations , what the system may face , are not accountable . The predefined solutions given by a human will not be sufficient . The system should itself find the solutions through an individual and/or evolutionary adaptation to the environment . Individual adaptation , especially learning , has been a topic of various researches . Despite of the success made , for example reinforcement learning , it has not solved all problems . We need also the evolutionary approach . Brooks himself has acknowledged this in -LSB- 1 -RSB- . In this paper we propose a method where behavior is not defined explicitly . Instead , it emerges from the neural network level . Furthermore the neural network , its input -LRB- sensors -RRB- and its output -LRB- effectors -RRB- will each adapt to the environment in a dynamic process . Thus the behavior is a dynamic function of these adaptation processes . We would like to emphasise the adaptation of sensors and effectors to the environment . As Kugler -LSB- 2 -RSB- has shown , these are very important elements for the modification of behavior . By changing the interpretation of input and/or output values of neural network , the behavior of system will change remarkably . We use abstract computer models , instead of real robotic simulations . The goal is to find a method to model intelligence as adaptive behavior , rather than simulate real robots . We include development process and plasticity -LRB- learning -RRB- as individual adaptation , and natural/sexual selection and genetic changes as evolutionary adaptation . This work is related to Artificial Life -LSB- 3 , 4 , 5 -RSB- as well as to Simulated Adaptive Behavior -LSB- 6 -RSB- , where biological systems have been used as a source of inspiration . These approaches are a response to an argument that AI has failed to model intelligent behaviors , but modelled only intelligent solutions instead . The Genetic Algorithms are often used with a well-defined fitness function to implement the evolution process . Our approach is to view the evolution process as a tool for growing gradually the complexity of systems i.e. the repertoire of behaviors . This is an open-ended evolution , where we can not predict the final complexity of the system . This paper does not make use of any existing learning algorithms developed for artificial neural networks . In our earlier work -LSB- 7 -RSB- we have introduced some biologically inspired learning models . In this paper we concentrate on the structural networks without any learning capabilities . 2 Autonomous System and Neural Network Autonomous systems have many definitions -LSB- 8 -RSB- . We have adapt here the definition of Cariani -LSB- 9 , 10 -RSB- : A highly autonomous system is viewed generally as consisting of syntactical adaptation -LRB- i.e. capable to alter its contingent upon its performance in an external environment -RRB- and semantical adaptation -LRB- i.e. capable to construct and selecting its sensing and effecting elements upon its performance -RRB- . This kind of autonomous system is called epistemically autonomous . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 3 MODELING METHOD Page 3 The conceptual graph is shown in Figure 1 . Environment Development Effectors Evolution feed-back Learning Sensors Neural Network Computation Measurement Control Construction Figure 1 : Autonomous Systems as a general evolutionary device with the construction part as development process . -LRB- Modified drawing after Cariani -LSB- 9 -RSB- . -RRB- The computation parts may be implemented by various means . We have selected the neural network as implementation tool . Most neural network research has been concentrating on syntactically adaptive systems , i.e. having no construction part at all . In our research we have concentrated in finding a method to implement the construction part , rather than developing a sophisticated learning mechanism . The construction is divided into external construction and internal construction . The external construction part will create the measure , control , and computational parts of the system -LRB- development process -RRB- based on the evolutionary feed-back -LRB- sexual and natural selection -RRB- . The internal construction is a reconfiguration of the network for a new interpretation of sensor input and effector output . Both of these are explored in this paper . 3 Modeling Method Emergence has been described as a phenomenon where interesting global behavior emerges from many local interactions . For a computation of the emergent process we need the following constituents : -LSB- 11 -RSB- ffl A collection of agents , each following explicit instructions ; ffl Interactions among the agents -LRB- according to the instructions -RRB- , which form implicit global patterns at the macroscopic level i.e. epiphenomena ; ffl A natural interpretation of the epiphenomena as computations . In our model the lower level agents are neurons , that have instructions for cell divisions and axon-dendrite growth , i.e. genetic coding . Also sensors and The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 3 MODELING METHOD Page 4 effectors are part of lower level agents , although explicitly given without being result of cell divisions . These agents are grouped to belong to an organism . Furthermore each organism belongs to an environment . The interactions between these agents are simulated as physical laws . As the \ correct '' simulation of physical laws would need to start from the atomic , or even lower , level , we have restricted ourselves in describing the laws more like a symbolical result of them . Thus , for example , interactions between two neurons are described as production rules , that change the attributes of neurons at symbolical level . However , it is up to the user to define the level on which the changes will occur . The natural interpretation of epiphenomena is such behavior as following , selection , and change of target . These behaviors are the result of interactions between the lower level agents , and these are not explicitly defined . The behaviors arise from the structure of the network , that itself can change according to the evolution process . Figure 2 gives an overview of the models as organized in the levels , and interactions between these levels . Environment level Organism level Cell -LRB- Neuron -RRB- level Molecular level Physical world model Physical laws etc. . Sensoric and effector model Model of hormone and energy levels Neurons and their connectivity Neurons -LRB- inter -RRB- actions Molecular concentrations Reflection of physical world to receptors Actuators ' effect for the physical world Convertion of activation of output neurons to effector activation Effect of molecular concentrations for neural activity Receptor field convertion for sensor neurons Neural effect for molecular concentrations Emergence of behavior Hormone and Energy balance Chemical laws for molecular actions Figure 2 : Organisation of modeling levels and their interactions 3.1 Production rules The implementation is based on the idea of Lindenmayer systems -LSB- 12 , 13 -RSB- . The basic elements of the L-system are an initial word and production rules . The word represents the model , and the production rules represent the modification The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 3 MODELING METHOD Page 5 rules for the model . The word is a string of letters -LRB- symbols -RRB- . In each derivation step all letters of the word are changed -LRB- rewritten -RRB- according to the production rules . Production rules have the general form : predecessor -LRB- parameters -RRB- : condition ! successor -LRB- expression -RRB- ; where predecessor is rewritten by successor if the condition is fulfilled . However , some modifications have been done for efficiency and to introduce interleaved L-systems . In interleaved L-systems , one L-system may have other L-systems inside of it , thus being able to modify them as well . For example , the L-system for environment has multiple organisms which each are defined by L-systems . The environment L-system has control over for the organisms to remove , modify , etc. them . As an example let 's assume that we have an environment with two organisms . This is defined as Environment -LRB- Constraints , : : : , Organism1 -LRB- GeneticCode , : : : , Neurons -LRB- attributes -RRB- , Organism2 -LRB- GeneticCode , : : : , Neurons -LRB- attributes -RRB- , : : : -RRB- , : : : -RRB- \ Constraints '' defines the environment depending on the production rules that are common for each organism . \ GeneticCode '' defines the organism depending on the production rules for cell divisions , axon-dendrite growth etc. \ Neurons '' defines the initial cell for the growth process . The execution of the \ GeneticCode '' production rules is done without an explicit definition for it . Environment Organism_1 Organism_n Cell_1 Cell_n Cell_1 Cell_n production rules production rulesproduction rules rewriting rewriting rewriting rewriting rewriting rewriting ... ... ... Figure 3 : The interleaved L-system , where production rules are executed first at the environmental level , then at the organism level in parallel . For example \ Constraints '' can include the following production rules . mating -LRB- org1 , org2 -RRB- : intersect -LRB- org1 , org2 -RRB- & & -LRB- org1.Sex == female -RRB- & & -LRB- org2.Sex == male -RRB- ! org1 -LRB- State = Pregnant , ChildGene = merge -LRB- org1.GeneticCode , The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 4 GENETIC CODING Page 6 org2.GeneticCode -RRB- -RRB- org2 -LRB- : : : -RRB- birth -LRB- org1 -RRB- : -LRB- org1.Sex == female -RRB- & & -LRB- org1.State == Pregnant -RRB- ! org1 -LRB- State = Normal -RRB- new org -LRB- Sex = random -LRB- female , male -RRB- , GeneticCode = org1.ChildGene -RRB- At the first evaluation step , if two organisms intersect , the female will become \ pregnant '' and the childs genetic information will be merged from both organisms by the merge -LRB- org1.GeneticCode , org2.GeneticCode -RRB- function . After the next evaluation step , the female will give birth to a new organism posessing new genetic information . Production rules like the above should be replaced by interactions on the cell level , but for computational reasons , the neural level has been used exclusively for movement control . 3.2 Innate for Simulation The innate consists of two parts : production rules for \ Constraints '' and genetic code for initial organisms . The production rules that define \ Constraints '' are basically same for each simulation . The initial genetic code for organisms is required only to be capable to start the reproduction process within \ Constraints '' . The definitions for sensors and effectors are given in this paper explicitly , but the definition for neurons is indirect through a genetic code that produces the growth of network . This growth is based on the idea of recurrent construction , where a symmetry plays an important role . The symmetric nervous system can be produced by using a simple fractal-like construction method , where a same pattern is repeatedly used with only slight changes in its parameters . The drawback of this approach is that it is difficult to find correct production rules to produce the desired result . Advantages are that with a simple modification for these production rules we can change the result completely . The first can be avoided with a simulation of evolution process . Where as the second one is very useful for this evolution process . In Nature the innate has developed during a long time from molecular level . We would like to skip this phase and introduce , found through a ` trial-anderror ' method , an initial organism , that will give birth for other organisms . The sufficient initial organism is described hereafter . 4 Genetic coding The genetic code expresses the genotype of the autonomous system . It includes the definition of the neural network , sensors , and effectors . The genetic code is not coded for bit stream presentation . Instead , a symbolic presentation is used to enable genetic engineering like handling during crossover and mutation operations . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 4 GENETIC CODING Page 7 The development from genotype to phenotype should occur in close interaction within the environment . In the following the environmental effect for the transcription process of genetic code is made possible . Such developmental effects are visible for example in the growth of neural connections and in the synapse formation . 4.1 Sensors The following sensor attributes are used for sensors : Relative position in the organism coordination , intensity of stimulus source as a function of distance and angle , type of stimulus the sensor is sensitive to , and received perception as a natural logarithm value of the stimulus . For example sensors for an opposite sex , i.e. some chemical compounds , have the following genetic code : sensor -LRB- T ype = sex ; X = 10 ; Y = ; ffi = :35 ; P erception = 0 -RRB- Type the type of sensor , for example sensor for opposite sex X x-position of sensor in the organism coordination Y y-position of sensor in the organism coordination ffi sensing profile , for example value 0.1 for a sharp , 0.35 for a normal , and 1.5 for a wide sensing at the heading angle Perception the received stimulus The function used to update the perception value is P erception = organs X i -LRB- orgi : Stimulus ? e ? -LRB- ? = ffi -RRB- 2 = 2 ? -LRB- 1 ? 1 1 + e -LRB- Distmax = 2 ? Distance -RRB- = 2 -RRB- -RRB- where ? is the angle between the stimulus source and the heading direction . Figure 4 demonstrates the function with two ffi values . d = 0.5 -180 -90 90 180 Q Dist d = 1.0 -180 -90 90 180 Q Dist Figure 4 : Perception as function of angle and distance . This function is too simplified for simulating a real physical device . For that purpose it should be changed to correspond to a response function of some physical sensor . Also some noise should be added in the function . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 4 GENETIC CODING Page 8 4.2 Effectors The effectors correspond to muscles of the organism . The input value causes an extensor or a reflexor force for a structure -LRB- \ bone '' -RRB- of the organism . In this paper , for simplicity , an explicit definition for a movement is given . This includes the positions of effectors , and the force on what they effect for the organism when activated . For example a effector for a step forward movement have the following genetic code . effector -LRB- T ype = step ; X = ? 10 ; Y = ; ? Fx = 1 ; ? Fy = 0 -RRB- Type the type of effector X x-position of effector in the coordination of organism Y y-position of effector in the coordination of organism ? Fx the force at x-direction ? Fy the force at y-direction The effectors cause the following forces for the organism . Fx = effectors X i Activationi ? -LRB- cos -LRB- Heading -RRB- ? ? xi ? sin -LRB- Heading -RRB- ? ? yi -RRB- Fy = effectors X i Activationi ? -LRB- sin -LRB- Heading -RRB- ? ? xi + cos -LRB- Heading -RRB- ? ? y -RRB- M = effectors X i Activationi ? -LRB- X ? ? yi ? Y ? ? xi -RRB- = q X2i + Y 2i The position and heading of organism is updated relative to these forces . 4.3 Neurons The neuron circuit is defined by the following definition . n -LRB- State = Embro ; ConnList = -LSB- -LSB- -LSB- sex ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RSB- -RRB- This tells that the neuron will have connections for an ` opposite sex sensing ' sensor -LRB- -LSB- sex ; sen -RSB- -RRB- and a ` stepping ' effector -LRB- -LSB- step ; eff -RSB- -RRB- . segregation -LRB- -RRB- : -LRB- State == Embro -RRB- & & -LRB- ConnList ! =[ -RSB- -RRB- ! n -LRB- Side = left , Connections = ConnList -RRB- n -LRB- Side = right , Connections = ConnList -RRB- segregation -LRB- -RRB- : -LRB- State == Embro -RRB- & & -LRB- Connections ! =[ -RSB- -RRB- ! n -LRB- Connections = rest -LRB- Connections -RRB- -RRB- n -LRB- State = Grow , ConnectList = Connections = first -LRB- Connections -RRB- -RRB- segregation -LRB- -RRB- : -LRB- State == Embro -RRB- & & -LRB- Connections == -LSB- -RSB- -RRB- ! n -LRB- State = Dead -RRB- The above production rules gives a network with two neurons . The neurons will have the following parameters . n -LRB- Side = lef t ; right ; State = Grow ; Connections = -LSB- -LSB- sex ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RRB- The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 4 GENETIC CODING Page 9 4.3.1 Growth of connections To create connections for sensors and effectors the following production rules are used . Here we introduce a model where multiple connections are created , and the elimination of unnecessary connections is done later by other production rules . The growth of connections is controlled by a ` GrowthFactor ' , which itself is dynamically updated based on the connections a neuron has . Thus , when a neuron looses some connection the ` GrowthFactor ' will fell , and the neuron will start to grow new connections . connection -LRB- -RRB- : -LRB- GrowthFactor < StopGrowing -RRB- & & -LRB- State == Grow -RRB- & & -LRB- Connections ! =[ -RSB- -RRB- ! n -LRB- Connections = rest -LRB- Connections -RRB- -RRB- c -LRB- Connected = False , ToConnection = first -LRB- Connections -RRB- -RRB- connection -LRB- -RRB- : -LRB- GrowthFactor < StopGrowing -RRB- & & -LRB- State == Grow -RRB- & & -LRB- Connections == -LSB- -RSB- -RRB- ! n -LRB- Connections = ConnectList -RRB- connection -LRB- -RRB- : -LRB- GrowthFactor > = StopGrowing -RRB- ! n -LRB- State = Mature -RRB- 4.3.2 Creation of synaptical connections As a result of these production rules , with appropriate growth control parameters , a number of connections with labels -LRB- ToConnection -RRB- to connect to sensors -LRB- -LSB- sex ; sen -RSB- -RRB- or to effectors -LRB- -LSB- step ; eff -RSB- -RRB- . These labels will be used to create the synaptical connections by the following production rules . connect -LRB- s , c -RRB- : -LRB- ! c.Connected -RRB- & & -LRB- first -LRB- rest -LRB- c.ToConnection -RRB- -RRB- == sen -RRB- & & -LRB- s.Type == first -LRB- c.ToConnection -RRB- -RRB- ! c -LRB- Connected = True , Type = dend -RRB- s -LRB- Connection + + -RRB- connect -LRB- e , c -RRB- : -LRB- ! c.Connected -RRB- & & -LRB- first -LRB- rest -LRB- c.ToConnection -RRB- -RRB- == eff -RRB- & & -LRB- e.Type == first -LRB- c.ToConnection -RRB- -RRB- ! c -LRB- Connected = True , Type = axon -RRB- e -LRB- Connection + + -RRB- These production rules will result the network shown in Figure 5 . rightleft n n e e s s Figure 5 : The network before elimination of unnecessary connections -LRB- shown by dot line -RRB- . In biological systems the creation of synaptical connections is a complicated phenomenon . The above production rules give only the basic idea that the The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 4 GENETIC CODING Page 10 target recognition should be based on the labels , that are inherited through the cell division process . The second basic idea is that we should not try to create only the exactly needed connections , but instead plenty of them , and then use different rules for elimination of unnecessary ones . 4.3.3 Elimination of connections This network includes unnecessary connections that should be eliminated before the network can function correctly . For this example the following approximation may be used : In order to get close to something -LRB- i.e. attractor signals -RRB- , the sensors must be connected directly to same side neurons , and the effectors connected to the opposite side . This principle could be found easily through ` trial-and-error ' during the evolution process . This can be implemented through the following production rules . disconnect -LRB- s , c -RRB- : -LRB- c.Side ! = s.Side -RRB- ! c -LRB- Connected = False -RRB- s -LRB- Connection ?? -RRB- disconnect -LRB- e , c -RRB- : -LRB- c.Side ! = e.Side -RRB- ! c -LRB- Connected = False -RRB- e -LRB- Connection ?? -RRB- As above these production rules should be replaced by rules describing the biological phenomenon of connection elimination . In fact , these should be integrated with learning rules , that are restricted out of the scope of this paper . 4.3.4 Extension of the structure To create a new behavior for tracking another object the above description for neurons can be changed . n -LRB- State = Embro ; ConnList = -LSB- -LSB- -LSB- sex ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- ; -LSB- -LSB- f ood ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RSB- -RRB- This change will result in the network shown in Figure 6 . rightleft n n e e s s n s n s Figure 6 : The network before elimination of unnecessary connections -LRB- shown by dot line -RRB- . All above production rules will remain as before . However , the problem will be how the signal from two sources will be selected , i.e. focus of interest . A solution for this will be discussed below . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 5 BEHAVIOR Page 11 5 Behavior The behavior is defined as an action taking place by existence of a certain stimulus . Thus it is a high level feature that emerges from lower level actions . We do not explicitly define behavior , but we are interested in to find a organism capable of the following behavior types : ffl For a stimulus of opposite sex , a movement toward the stimulus . ffl For a stimulus of food , a movement toward the stimulus . ffl Change from one stimulus tracking to another based on the hormone balance . These basic behavior types can be combined to create new behaviors . The idea is that the system should automatically combine these basic behaviors in order to create new behaviors . 5.1 Stimulus tracking The simplest form of movement is toward a stimulus . In a simplest form this can be implemented by two sensors and two effectors that are cross connected as shown in Figure 7 . Target a1 a2 N1 N2 S1 S2 E1 E2 Organism d1 d2 Fx1 Fx2 d d a a Figure 7 : An example of a simple animat in the environment . In the Figure 8 an example of this is given . The used production rules to propagate signals in the network are as follows . propagate -LRB- s , d -RRB- ! d -LRB- Activation = s.Perception -RRB- s -LRB- Perception = 0.1 * Perception -RRB- The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 5 BEHAVIOR Page 12 100 110 120 130 140 150 160 170 180 190 110 115 120 125 130 135 140 `` Animat1.plot '' `` Animat2.plot '' Figure 8 : A male -LRB- Animat1 , initial heading angle 220 degrees -RRB- is sensing a female -LRB- Animat2 , heading angle 35 degrees -RRB- and moving toward stimulus . propagate -LRB- d , n -RRB- : -LRB- n.State == Mature -RRB- ! n -LRB- Activation = Activation + d.Activation -RRB- d -LRB- Activation = 0 -RRB- propagate -LRB- n , a -RRB- : -LRB- n.State == Mature -RRB- ! a -LRB- Activation = n.Activation -RRB- n -LRB- Activation = 0 -RRB- propagate -LRB- a , e -RRB- ! e -LRB- Activation = a.Activation -RRB- The above trivial propagation rules will give surprisingly good results . However , these can be used only for creating a rough movement in the stimulus direction . The final approaching has been done using a separate network , as will be shown later . The same simple network is able to select a more \ stimulating '' object as will shown in Figure 9 . 5.2 Change of focus Each effector is driven by several networks . A switch between these networks to be used to drive the effectors are done based on a \ hormone '' balance -LRB- sexual desire and energy level indicator -RRB- . For example in Figure 10 a male animat is first tracking opposite sex , and , after mating , starts to look for food . The both stimulus tracking is done by a similar network . However , an additional threshold function is introduced by the following production rule . propagate -LRB- n , a -RRB- : -LRB- n.State == Mature -RRB- ! a -LRB- Activation = -LRB- n : Activation > n : Threshold?n : Activation : 0 -RRB- The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 5 BEHAVIOR Page 13 100 120 140 160 180 200 220 100 105 110 115 120 125 130 135 140 145 150 `` Animat1.plot '' `` Animat2.plot '' `` Animat3.plot '' Figure 9 : A male -LRB- Animat1 , initial heading angle 220 degrees -RRB- is sensing two females -LRB- Animat2 , heading angle 35 degrees , and Animat3 , heading angle 225 degrees -RRB- and moving toward them . At a specific moment the stimulus from one of the two females becomes larger and the male will direct for her . Target1 a1 a2 N1 N2 S1 S2 E1 E2 Organism d1 d2 Fx1 Fx2 d d a a N3 S3 d a N4 S4 d a Target2 a3 a4 d3 d4 Target 2control hormone Target 1control hormone Figure 10 : Two sensor-neuron pairs to drive the same effectors . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 6 EVOLUTION OF ORGANISMS Page 14 n -LRB- Activation = 0 -RRB- -RRB- The threshold value is a function of time and is determined by the following production rules where SexHormone and EnergyLevel are updated by other production rules . hormone -LRB- org , n -RRB- : -LRB- n.Type == Sex -RRB- ! n -LRB- Threshold = 1 = -LRB- 1 + e -LRB- org : SexHormoneMax = 2 ? org : SexHormone -RRB- = 2 -RRB- -RRB- hormone -LRB- org , n -RRB- : -LRB- n.Type == Food -RRB- ! n -LRB- Threshold = 1 = -LRB- 1 + e -LRB- org : EnergyLevelMax = 2 ? org : EnergyLevel -RRB- = 2 -RRB- -RRB- The resulting behavior is shown in Figure 11 , where \ Animat1 '' is a male , that is first after food -LRB- \ Animat3 '' -RRB- and then after female -LRB- \ Animat2 '' -RRB- . 110 120 130 140 150 160 170 180 105 110 115 120 125 130 135 140 145 150 `` Animat1.plot '' `` Animat2.plot '' `` Animat3.plot '' Figure 11 : A male -LRB- Animat1 , initial heading angle 325 degrees -RRB- is sensing female -LRB- Animat2 , initial heading angle 35 degrees , sensitive for male signal trying to find it -RRB- and food -LRB- Animat3 , initial heading angle 80 degrees , sensitive for male signal trying to avoid it -RRB- . Because the focus is on the food , the male will direct toward food , and afterwards change the focus on the female . 6 Evolution of Organisms This far we have described how the behavior of an individual autonomous system emerges from simple rules . This gives us the basic elements for an evolution process . In the following we will describe how to make use of these elements to evolve the organisms . The key component of evolution is selectionism , i.e. what organisms are selected to reproduce new individuals . This is also the seed for \ intelligence '' . Each organism effects for its possibility to be selected through its behavior . The capability to observe its own best is directing the evolution . In the words The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 7 GENETIC CHANGES Page 15 of Erwin Schr?odinger \ Individuals which | by change or intelligence | change their behaviour accordingly will be more favoured , and thus selected '' -LSB- 14 -RSB- . This together with Piaget 's work of \ Adaptation and Intelligence '' -LSB- 15 -RSB- emphasizes the active role of individuals for directing their evolution against Darwin 's passive selection principle -LSB- 16 -RSB- . 6.1 Sexual Selection Bisexuality is needed for crossover operation . This has a remarkable effect for the evolution of complexity . Sexual selectionism is not part of the environmental description , but part of each individual 's behavior . In other words , which particular opposite sex attracts one is based on the structure of the nervous system . In our simulation the attraction is modeled through a simulation of odor . Each animat has a value for the \ odor '' , that can be updated dynamically . This odor is used to calculate the \ attraction '' of another individual and thus directly effects for the selection . 6.2 Natural Selection An energy modeling is used to determine liveliness of an organism . Each organism is given some initial amount of energy , that will decrease as function of time and action . If the energy gets below some given level , the organism \ dies '' . This is implemented through the following production rule . survival -LRB- env , org -RRB- : -LRB- org.Energy < env.SurvivalLevel -RRB- ! org -LRB- State = Dead -RRB- Another possibility for an organism to \ die '' is to become eaten by another organism . Thus the fitness function is depending on how well the individuals can find food and how well they succeed avoiding prediators . It is notable that this function is a relative function of the environment , rather than explicitly defined as in the case of Genetic Algorithms . 7 Genetic Changes Genetic changes consist of two operations : Crossover and Mutations . Crossover is produced when two genetic information are merged together to form a new one . Mutations are changes in the genetic code . 7.1 Crossover When two animats of opposite sex get close enough they \ mate '' . That means , the female receives male 's genetic information and a cross-over takes place . The following production rule defines the cross-over function . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 7 GENETIC CHANGES Page 16 crossover -LRB- gene , gene1 , gene2 -RRB- : ! gene -LRB- StructureGene = merge -LRB- gene1.StructureGene , gene2.StructureGene -RRB- , ConstructGene = merge -LRB- gene1.ConstructGene , gene2.ConstructGene -RRB- -RRB- The \ merge '' function takes two lists as parameters and randomly merges them . For example , two lists : StructureGene = -LSB- sen1 -LRB- T ype = sex ; X = 5 ; Y = ; Shape = :35 ; DistMax = 100 -RRB- , sen2 -LRB- Type = sex ; X = 5 ; Y = ; Shape = :35 ; DistMax = 100 -RRB- , n -LRB- State = Embryo ; Hormones = -LSB- Sex -RSB- ; Connections = -LSB- -LSB- -LSB- sex ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RSB- -RRB- , eff1 -LRB- X = ? 10 ; Y = 5 ; ? x = 1 ; ? y = 0 -RRB- eff2 -LRB- X = ? 10 ; Y = ? 5 ; ? x = 1 ; ? y = 0 -RRB- -RSB- StructureGene = -LSB- sen3 -LRB- T ype = food ; X = 10 ; Y = 10 ; Shape = :5 ; DistMax = 100 -RRB- , sen4 -LRB- Type = food ; X = 10 ; Y = ? 10 ; Shape = :5 ; DistMax = 100 -RRB- , n -LRB- State = Embryo ; Hormones = -LSB- Food -RSB- ; Connections = -LSB- -LSB- -LSB- f ood ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RSB- -RRB- , eff1 -LRB- X = ? 10 ; Y = 10 ; ? x = 1 ; ? y = 0 -RRB- eff2 -LRB- X = ? 10 ; Y = ? 10 ; ? x = 1 ; ? y = 0 -RRB- -RSB- may be merged as follows : StructureGene = -LSB- sen1 -LRB- T ype = sex ; X = 5 ; Y = ; Shape = :35 ; DistMax = 100 -RRB- , sen2 -LRB- Type = sex ; X = 5 ; Y = ; Shape = :35 ; DistMax = 100 -RRB- , sen3 -LRB- Type = food ; X = 10 ; Y = 10 ; Shape = :5 ; DistMax = 100 -RRB- , sen4 -LRB- Type = food ; X = 10 ; Y = ? 10 ; Shape = :5 ; DistMax = 100 -RRB- , n -LRB- State = Embryo ; Hormones = -LSB- sex ; food -RSB- ; Connections = -LSB- -LSB- -LSB- sex ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- ; -LSB- -LSB- f ood ; sen -RSB- ; -LSB- step ; eff -RSB- -RSB- -RSB- -RRB- , eff1 -LRB- X = ? 10 ; Y = 10 ; ? x = 1 ; ? y = 0 -RRB- eff2 -LRB- X = ? 10 ; Y = ? 10 ; ? x = 1 ; ? y = 0 -RRB- -RSB- In order to reduce the necessary evolution iterations some \ heuristics '' have been included in the \ merge '' function . 7.2 Mutations After the crossover has taken place , some mutations are introduced for the new created gene . This is done by the following production rule . mutation -LRB- gene -RRB- ! gene -LRB- StructureGene = randomize -LRB- StructureGene -RRB- , ConstructGene = randomize -LRB- ConstructGene -RRB- -RRB- The \ randomize '' function takes a list as parameter and makes random changes for it . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems 9 CONCLUSION Page 17 8 Discussion Our research work should not viewed as a simulation of real world robots . It is merely a computer exploration of behavior creation based on the development and the evolution process of neural structures . The realization of neural development or evolution on hardware is very difficult and our view is that the first we should be able to create them on computer in abstract form , and after that we can enter into the realization problems . The transcription from genotype to phenotype , i.e. the development process , is a very important part of the research . As it has widely recognized , in biological systems the transcription process is a non-linear process . This means that all phenotype features are not explicitly defined in genotype , but they are a sum of different parts of genotype . Another important aspect of the development process is the adaptation during it . As Piaget -LSB- 15 -RSB- has argued , the development process is greatly affected by the environment . We have not been able to model this so far . Our model gives means for modeling the adaptation process . Thus some environmental factors can give in addition to the learning schema individual characteristics to the modeled organisms . The demonstrated connection growth is an important feature in recreating broken connections between neurons . Of course in a simple neural network not so much variation can be created while persisting the original functionality . The strongest advantages of the presented system is , however , the capability to create new behaviors without explicit definition . Usually a biological environment is viewed as a well designed system , where each animal has its own well defined task . Still the environment is an adaptive system to be able to adjust itself to changes without any explicit modifications . This is something what we are after : self-modification for environmental changes . The need for changes can be divided into fast or slow changes . The fast changes are implemented through a learning mechanism , the slow changes through mutations , and between them are the development process and natural and sexual selection . 9 Conclusion In the paper we showed some results of how simple production rules can emerge sensor-motoric behaviors . All behavior was not explicitly defined , but instead arose out of the network and its structure . This structure is in order to change through the evolution process giving birth to a richer repertoire of behaviors . Due to lack of computational power the current implementation of the production rule interpreter is not able to generate a population large enough to demonstrate this explicitly . At the current level of research we have shown ffl The global behavior of an autonomous system can emerge from a simple set of production rules . ffl The modification for the production rules enables the evolution process to develop autonomous system without explicit definitions . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems REFERENCES Page 18 The research has concentrated this far on stimulus based \ intelligent '' actions . For a higher intelligence recurrent networks with a learning mechanism are necessary . Biological learning rules described by production rules has been shown in -LSB- 7 -RSB- . Ongoing research combines these rules together with behavior simulation creating a little bit \ more '' intelligent behavior . An open question remains how the evolution process can be directed toward some desired goal as it is required in engineering applications . References -LSB- 1 -RSB- R. Brooks , \ Artificial life and real robots , '' in Varela and Bourgine -LSB- 5 -RSB- , pp. 3 -LCB- 10 . -LSB- 2 -RSB- P. Kugler , \ Informational field and intentional action . '' The International Summer School of Comparative Approaches on Cognitive Science -LRB- CACS ' 92 -RRB- , July 6-17 1992 . -LSB- 3 -RSB- C. G. Langton , ed. , Artificial Life . Addison-Wesley Publishing Company , 1989 . -LSB- 4 -RSB- C. G. Langton , C. Taylor , J. D. Farmer , and S. Rasmussen , eds. , Artificial Life II . Addison-Wesley Publishing Company , 1992 . -LSB- 5 -RSB- F. J. Varela and P. Bourgine , eds. , Towards a Practice of Autonomous Systems : Proceedings of the First European Conference on Artificial Life -LRB- 1991 -RRB- , A Bradford Book , MIT Press , 1992 . -LSB- 6 -RSB- J.-A . Meyer and S. W. Wilson , eds. , Proceedings of the First International Conference on Simulation of Adaptive Behavior : From animals to animats , The MIT Press , Paris , September 24-28 1991 . -LSB- 7 -RSB- J. Vaario and S. Ohsuga , \ An emergent construction of adaptive neural architectures , '' Heuristics - The Journal of Knowledge Engineering , vol . 5 , no. 2 , 1992 . -LSB- 8 -RSB- P. Borgine and F. J. Varela , \ Towards a practice of autonomous systems , '' in Varela and Bourgine -LSB- 5 -RSB- , pp . xi -LCB- xvii . -LSB- 9 -RSB- P. Cariani , \ Emergence and artificial life , '' in Langton et al. . -LSB- 4 -RSB- , pp. 775 -LCB- 798 . -LSB- 10 -RSB- P. Cariani , \ Some epistemological implications of devices which construct their own sensors and effectors , '' in Varela and Bourgine -LSB- 5 -RSB- , pp. 484 -LCB- 493 . -LSB- 11 -RSB- S. Forrest , Emergent Computation . MIT/North Holland , 1991 . -LSB- 12 -RSB- A. Lindenmayer and P. Prusinkiewicz , \ Developmental models of multicellular organism : A computer graphics perspective , '' in Langton -LSB- 3 -RSB- , pp. 221 -LCB- 250 . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems REFERENCES Page 19 -LSB- 13 -RSB- P. Prusinkiewicz and A. Lindenmayer , The Algorithmic Beauty of Plants . Springer-Verlag , 1990 . -LSB- 14 -RSB- E. Schr?odinger , What is life ? Cambridge University Press , 1944 . Combined reprint with Mind and Matter 1989 . -LSB- 15 -RSB- J. Piaget , Adaptation and Intelligence | Organic Selection and Phenocopy . University of Chicago Press , 1980 . The original French edition Adaptation vitale et psychologie de l'intelligence : S?election organique et ph?enocopie in 1974 . -LSB- 16 -RSB- C. Darwin , The Origin of Species by means of natural selection . The Modern Library , 1859 . The International Journal in Computer Simulation Vaario , Hori and Ohsuga : Toward Evolutionary Design of Autonomous Systems

O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I

adaptive behavior
artificial life
artificial neural networks
autonomous systems
emergent computation
evolutionary design
genetic algorithms