91
Evolvability and Morphogenesis Reading: Evolution terminology: http://www.dorak.info/evolution/glossary.html Book: Evolutionary Design by Computers Papers: Kumar, S. and Bentley, P. J.(2003) Biologically Plausible Evolutionary Development. In Proc. of ICES ’03, the 5th International Conference on Evolvable Systems: From Biology to Hardware. A. Tyrrell, P. Haddow, and J. Torresen (eds), Springer LNCS 2606, Berlin, pp.57-68 Basanta, D., Miodownik, M. A., Bentley, P. J. and Holm, E. A. (2004) Investigating the Evolvability of biologically inspired CA. Submitted to the Ninth International Conference on the Simulation and Synthesis of Living Systems (ALIFE9). Boston, Massachusetts, September 12-15th, 2004. Bentley, P. J. and Kumar, S. (1999). Three Ways to Grow Designs: A Comparison of Embryogenies for an Evolutionary Design Problem. Genetic and Evolutionary Computation Conference (GECCO '99), July 14-17, 1999, Orlando, Florida USA, pp.35-43. Bentley, P. J. (2004) Controlling Robots with Fractal Gene Regulatory Networks. Chapter in de Castro, L. and von Zuben, F. (editors) Recent Developments in Biologically Inspired Computing. Idea Group Inc. Bentley, P. J. (2004) Evolving Beyond Perfection: An Investigation of the Effects of Long-Term Evolution on Fractal Gene Regulatory Networks. BioSystems v76, 291-301.

Evolvability and Morphogenesis - UCL · 2010. 12. 7. · Bentley, P. J. and Kumar, S. (1999). Three Ways to Grow Designs: A Comparison of Embryogenies for an Evolutionary Design Problem

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Evolvability and Morphogenesis Reading: Evolution terminology: http://www.dorak.info/evolution/glossary.html Book: Evolutionary Design by Computers Papers: Kumar, S. and Bentley, P. J.(2003) Biologically Plausible Evolutionary Development. In Proc. of ICES ’03, the 5th International Conference on Evolvable Systems: From Biology to Hardware. A. Tyrrell, P. Haddow, and J. Torresen (eds), Springer LNCS 2606, Berlin, pp.57-68 Basanta, D., Miodownik, M. A., Bentley, P. J. and Holm, E. A. (2004) Investigating the Evolvability of biologically inspired CA. Submitted to the Ninth International Conference on the Simulation and Synthesis of Living Systems (ALIFE9). Boston, Massachusetts, September 12-15th, 2004. Bentley, P. J. and Kumar, S. (1999). Three Ways to Grow Designs: A Comparison of Embryogenies for an Evolutionary Design Problem. Genetic and Evolutionary Computation Conference (GECCO '99), July 14-17, 1999, Orlando, Florida USA, pp.35-43. Bentley, P. J. (2004) Controlling Robots with Fractal Gene Regulatory Networks. Chapter in de Castro, L. and von Zuben, F. (editors) Recent Developments in Biologically Inspired Computing. Idea Group Inc. Bentley, P. J. (2004) Evolving Beyond Perfection: An Investigation of the Effects of Long-Term Evolution on Fractal Gene Regulatory Networks. BioSystems v76, 291-301.

  • •  How do you stop evolution from working? •  You can use:

    –  too many constraints and conflicting, noisy, discontinuous or deceptive fitness functions.

    –  stupid operators, or –  a dodgy representation.

    •  Unfortunately, it is not always possible to do much about fitness functions for real-world problems.

    •  and although you can tweak your operators, the representation will determine the effectiveness of the changes.

    Evolvability

  • •  But we can design representations.

    •  Good genetic, phenotypic and even embryogeny representations can make the difference.

    •  The choice of operators, and even specific evolutionary algorithms is far less significant.

  • What we did then: Optimization

    •  Evolution was first viewed as an optimizer (and some still hold this view)

    •  The first applications were usually treated as optimization problems.

    •  We parameterize an existing solution and use evolution to fine-tune the values.

    •  i.e., we provide knowledge-rich representations.

  • What we did then: Optimization

    •  Evolution makes a very good optimizer.

    •  Example: Goodman’s flywheels in Evolutionary Design by Computers

  • What we did then: Optimization

    •  But what if we don’t have an existing solution to parameterize?

    •  What if we want something original?

    •  Or what if the whole idea of ‘optimality’ doesn’t make sense?

  • What we do now: Exploration

    •  Instead of knowledge-rich, use knowledge-poor representations

    •  Instead of optimizing an existing solution, explore the space for novel solutions.

    •  Use component-based representations

  • Component-based representations

    •  Large numbers of researchers use this idea now.

    •  Genotypes are coded versions of components, which are assembled to produce phenotypes.

    •  Variable numbers, types and organizations of components allow exploration and discovery.

  • Component-based representations

    Many years ago my work used primitive shapes to construct novel designs

  • Component-based representations

    sin() pdiv() pminus() mandelstalk() pqj4da2013() pln() M_PI 0.022307 x y

    Steven Rooke

    used GP function and terminals to generate his art

  • Component-based representations

    John Gero used ‘wall fragments’ to generate house floor plans

  • Component-based representations

    •  Electronic components are used to construct novel circuits •  Separate ‘Neurons’ are combined to construct novel neural networks •  Musical notes are assembled into novel compositions •  Primitive shapes are joined to create original sculptures

    •  Unlike the optimization representations, these representations allow evolution to explore, to originate.

    •  These representations have allowed us to venture into AL, design, art, music, and other difficult fields.

  • Why things don’t work

    •  There is only so much knowledge we can add to representations and operators

    •  Try evolving a realistic brain and current methods will fail.

    •  But WHY?

  • Why things don’t work

    •  because evolving complex solutions is tricky

  • What is a complex solution?

    •  We are surrounded by complex solutions. •  A building is made from bricks, which make walls, which make rooms,

    and so on. •  A program is made from commands that make iterations that are used

    in subroutines, and so on •  A circuit is made from components that perform subfunctions that

    together perform the whole function. •  Music is made from notes that make bars that make melodies that

    make compositions.

  • What is a complex solution?

    •  All of these everyday complex solutions have similar characteristics.

    •  They are hierarchical •  They have self-similarity •  They are modular

    •  Complexity has structure.

  • The ‘Microsoft effect’

    •  Although we are quite practiced at developing such solutions ourselves, when complexity becomes high, even we struggle.

    •  E.g. for software comprising 100s of thousands of lines of code... •  Our solutions can become bulky, inefficient, and inadequate. •  The same problems are being solved many times in one solution.

    •  We tend to use evolution in the same way that we normally approach problems.

    •  So evolution copes no better than us (and usually much worse) for complex problems.

    •  Imagine if we wanted to evolve a brain as complex as ours...

  • Evolving growing solutions

    •  Biological brains did evolve.

    •  Natural evolution relies on embryogenesis.

    •  Growth and evolution go hand in hand to generate really complex solutions.

  • To grow we need different genotypes

    •  No longer parameterisation of existing solutions

    •  No longer coding of components to construct solutions

    •  Now instructions which describe how, where and which components should grow to develop solutions.

  • To grow we need different genotypes

    genotype

    (instructions)

    embryogeny

    (growth process)

    phenotype

    (solution)

    101010101010101010101010101010101010101010101010101010101 101010101010101010101010101010101010101010101010101010101 101010101010101010101010101010101010101010101010101010101 101010101010101010101010101010101010101010101010101010101

  • To grow we need different genotypes

    •  By using an advanced mapping from genotype to phenotype (an embryogeny), we can:

    –  take care of constraints –  have more adaptive solutions –  evolve solutions of greater complexity –  etc.

  • To grow we need different genotypes

    •  How?

    •  Because the embryogeny will take care of features such as self-similarity and hierarchies using

    –  subroutines –  symmetry –  iteration –  segmentation

  • Sanjeev Kumar’s Evolutionary Developmental System

  • Proteins

    •  Proteins are objects created and owned by cells.

    •  During protein construction each protein is allocated spatial co-ordinates inherited from the cell creating the protein.

    •  A protein lookup table (extracted from the genome) holds details about all proteins and is used to initialise each protein upon creation:

  • Proteins

    •  Additionally, each protein keeps the following variables:

  • Proteins

    •  Diffusion is implemented by using a Gaussian function centred on the protein source. The use of the Gaussian assumes proteins diffuse equally in all directions from the cell.

    •  The source concentration records the amount of the current protein.

    •  Every iteration, its value is decremented by the corresponding 'rate of decay' parameter.

    •  If expressed by a gene, its value is also incremented by the corresponding 'rate of synthesis' parameter.

  • Proteins

    •  To calculate the concentration of a protein at a distance x from the protein source:

    Where: d is the diffusion coefficient of the current protein. x is distance from protein source to current point s is the current protein source concentration.

  • Genes

    •  Every individual has two chromosomes, one for storing protein information, the other for controlling protein production:

  • Genes

    •  Each gene integrates its TFs and either switches 'on' or 'off'.

    •  Integration is performed by summing the products of the concentration and interaction strength (weight) of each TF, to find the total activity of all TFs occupying a single gene's cis-regulatory region:

    where: a is the total activity, i is the current TF, d is the total number of TF proteins visible to the current gene, conci is the concentration of i at the centre of the current cell, interaction_strengthi is the strength of protein interaction for the current TF

  • Genes

    •  This sum provides the input to a logistic sigmoid threshold function (a hyperbolic tangent function), which yields a value between -1 and 1.

    •  Negative values denote gene repression and positive values denote gene activation:

  • Cells

    •  Like proteins, cells in the EDS are held as objects with their own spatial position.

    •  A range of different cell behaviours are supported, triggered by the expression of certain genes:

    –  division (when an existing cell "divides", a new cell object is created and placed in a neighbouring position)

    –  differentiation (where the function of a cell is fixed, e.g., colour = "red" or colour = "blue"), and

    –  apoptosis (programmed cell death).

  • Genetic Algorithm

    •  A genetic algorithm (GA) is "wrapped around" the developmental model.

    •  Individuals within the population of the genetic algorithm comprise a genotype, a phenotype (in the form of an embryo object), and a fitness score. After the population is created, each individual has its fitness assessed through the process of development.

    •  Each individual is permitted to execute its developmental program according to the instructions in the genome. After development has ended a fitness score is assigned to the individual based upon the desired objective function.

  • Genetic Algorithm

    •  The EDS uses a generational GA with tournament selection (typically using % of population size), and real coding.

    •  Crossover is applied with 100% probability.

    •  Creep mutation is applied with a Gaussian distribution (small changes more likely than large changes), with probability between 0.01 and 0.001 per gene.

  • Coordinates and Visualisation

    •  The underlying co-ordinate system used by the EDS is isospatial.

    •  Isospatial co-ordinates permit a single cell to have up to twelve equidistant neighbours defined by 6 axis.

    •  The EDS automatically writes VRML files of developed embryos, enabling three-dimensional rendered cells and proteins to be visualised.

    •  Cells are represented by spheres of fixed radius; proteins are shown as translucent spheres of radius equal to the extent of their diffusion from their source cells

  • Experiments

  • Experiments

    •  Two "spherical" embryos. Using the equation of a sphere as a fitness function with sphere of radius 2.0.

  • Physics-based models

  • Josh Bongard’s evolved ontogenies

  • Josh Bongard’s evolved ontogenies

  • Josh Bongard’s evolved ontogenies

  • Karl Sims and his Virtual Creatures

  • William Latham’s genetic art

  • William Latham’s genetic art

  • Evoart / genetic art

  • Evoart / genetic art

  • William Latham’s genetic art

  • Evolvability •  Evolving solutions to problems is not always easy.

    •  A few years ago it was believed that a smaller search space meant it was always easier to find the solution – so if evolution got stuck, reduce the number of parameters (=dimensions of the space). Others believe that the key is to maintain a diverse population so always try to prevent “premature convergence.”

    •  But we now recognise that it is not the size of the search space or the diversity of solutions in that space, but the ruggedness of the space that really makes things hard for evolution.

  • Evolvability •  Real world problems often have rugged landscapes. Sometimes the

    problem is changing in real time so the landscape constantly changes. Sometimes the evaluation (or effect of the variables) can be noisy, so the landscape is “blurred” or “shaking” with different regions sometimes appearing better than they really are.

    •  Evolution works best with a strong causal link from gene to phenotypic effect. Strong causality means that a small change to a gene always causes a corresponding small change to the phenotype. Weak causality means that a small change could result in a massive change to the phenotype. Why do you think this is a problem?

    •  Epistasis and pleiotropy are common problems with real evolutionary systems.

    •  Epistasis means that two or more genes are linked – the effect of each one partly depends on the values of the others. So changing one gene may have different effects on the solution depending on the values of the other genes. Epistasis can lead to linkage where genes that act together become co-located in the same region of a chromosome. Can you figure out why?

    •  Pleiotropy means that one gene effects more than one phenotype feature. So if you change one pleiotropic gene then many different things may change in your solution.

  • Evolvability

    •  Evolvability can be defined as the ability of a representation to find a good solution for a given fitness function.

    •  However this is a somewhat naïve definition, for it does not help us understand generalised evolvability - you can only say ”my system is evolvable for problem x.”

    •  Today many researchers prefer a definition closer to "if evolution can always alter a gene and result in a solution of equal or better fitness, then the system is evolvable”

    •  i.e., the emphasis is on the ability to evolve (modify genes) without limit, and not on an optimal end result.

    •  This is because evolution is not really an optimiser (some call it a satificer) and so continually changing genotypes without phenotypic improvement is still evolving (and this can eventually lead to better phenotypes through neutral networks).

  • Evolvability

    •  One sign of an evolvable system is that it can continue to evolve beyond a perfect solution

    •  i.e., even when the phenotype has a maximal fitness, an evolvable representation can continue to modify the genotype that results in that identical phenotype, making the genotype more compact and robust against damage by subsequent mutation.

    •  So a highly evolvable system may not have the capabilities to solve a given problem - an apple tree can't grow pears, but that does not make it not evolvable, that means it's unable to tackle that particular problem.

    •  Life on Earth has evolved to be evolvable – it can adapt to new environments very well. But we are highly unlikely to evolve metal wheels attached to our feet: our building blocks of protein, cells and bone don’t make this a viable option for us.

  • Evolvability and Development

    •  Development causes major evolvability problems.

    •  If you evolve a small set of rules which are iteratively applied to grow a solution then you are evolving a complex system, so:

    •  Epistasis becomes common, •  Pleitropy becomes common, •  The causal distance from gene to phenotypic effect becomes huge

    •  Not only that, but in component-based representations, the number of components may also vary. This means evolution is not just searching a static search space, it is searching through different search-spaces of differing dimensionality.

    •  What this means is that most of our developmental representations create very rugged, changing search spaces. So it is very hard to evolve a good solution in evo-devo.

  • Testing Evolvability in Development

    •  How can you test evolvability? •  One approach used by David Basanta to compare a CA and EA (effector

    automata) is shown here. •  Pick a random rule set and take a random walk in the search space,

    modifying the genotype by the same small amount for each step, measuring the change in phenotype/fitness each time. Repeat 1000 times.

    •  This provides a general view of how rugged the landscape is, and so how evolvable it is.

  • Testing Evolvability in Development

    •  When evolving CA rules you may end up with redundancy – that is rules that are never used. These could provide neutral networks: bridges between different parts of the search space (modify a redundant rule and it has no effect… until another rule is removed and it is no longer redundant).

    •  David discovered the Effector Automata is more evolvable than the standard CA – despite massively more redundancy in the CA, the EA had a less rugged search space and so was better for evolution.

  • David Basanta’s Effector Automata for microstructures

  • David Basanta’s Effector Automata for microstructures

  • David Basanta’s Effector Automata for microstructures

  • Tim Gordon’s developmental evolvable hardware

  • Tim Gordon’s developmental evolvable hardware

  • Computational Development using Fractal Proteins

  • Example of a fractal protein defined by (x = 0.132541887, y = 0.698126164, z = 0.468306528)

    Fractal Proteins

  • Two fractal proteins (left, middle) and the resulting merged fractal protein combination (right).

    Fractal Chemistry

  • The different concentrations of the two fractal proteins and the concentration levels in their merged product.

    Fractal Chemistry

  • The shape of the desired protein as defined by a promoter and the concentration levels seen on that promoter (total concentration is taken as mean). Note that although one protein may decrease affinity (similarity) to the promoter, should it have a higher concentration, it will boost overall concentration seen by the promoter, i.e., act like a catalyst to speed up (or slow down, if lower) the “reaction”.

    Fractal Chemistry

  • Every time step the new concentration of each protein is calculated. This formed by summing two separate terms: the previous concentration level after diffusion (diffusedconc) and the new concentration output by a gene (geneoutputconc).

    diffusedconc = prevconcentration – prevconcentration / PROTEINDEC + 0.2 (PROTEINDEC is a constant normally set to 5)

    geneoutputconc = totalconc × tanh((totalconc – ct) / CWIDTH) / CINC where: totalconc is the mean concentration seen at the promoter,

    ct is the concentration threshold from the gene promoter CWIDTH, CINC are constants

    Fractal Chemistry

  • All genes contain 7 real-coded values:

    (xp, yp, zp, Affinity threshold, Concentration threshold) defines the promoter (operator or precondition) for the gene

    (x,y,z) defines the coding region of the gene.

    The type value defines the type of gene, and can be one or all of: environment, receptor, behavioural, or regulatory.

    Genes

  • When Affinity threshold is a positive value, one or more proteins must match the promoter shape defined by (xp,yp,zp) with a difference equal to or lower than Affinity threshold for the gene to be activated.

    When Affinity threshold is a negative value, one or more proteins must match the promoter shape defined by (xp,yp,zp) with a difference equal to or lower than |Affinity threshold| for the gene to be repressed (not activated).

    Gene Activation

  • Given the similarity matching score between cell cytoplasm fractals and gene promoter, the activation probability of a gene is given by:

    actvtionprob = (1 + tanh((matchnum – Affinity threshold - Ct) / Cs)) / 2

    where: matchnum is the matching score, Affinity threshold is the matching threshold from the gene promoter Ct is a threshold constant (normally set to 50) Cs is a sharpness constant (normally set to 50)

    Gene Activation

  • •  If other protein(s) in the cytoplasm (with concentrations above 0) match the promoter region, the corresponding coding region (x,y,z) is expressed (by calculating the subset of the Mandelbrot set) and new concentration level calculated.

    •  The concentration of the resulting protein is modified by incrementing with geneoutputconc, the result of a function of the concentration threshold (ct) and the mean total concentration seen at the gene promoter (totalconc)

    Gene activation – Regulatory Gene

  • •  This gene is always activated.

    •  It produces environmental factors for all cells: fractal proteins of concentration 200.

    •  If there is more than one environmental gene, the resulting environmental proteins are merged before being masked by the receptor protein.

    Gene activation – environment gene

  • •  In addition to the normal “housekeeping” environmental genes which are always activated, in the robot application, there is:

    •  an environmental protein produced by the robot’s left ���������������proximity sensor, and

    •  An environmental protein produced by the robot’s right proximity sensor.

    Gene activation – environment gene

  • Cell receptor protein (left), environment protein(s) (middle), resulting masked protein to be combined with cytoplasm (right). At present, the promoter region of the cell receptor gene is ignored, and this gene is always activated

    Gene activation – cell receptor gene

  • •  A behavioural gene is activated when other protein(s) in the cytoplasm match its promoter region and the overall concentration is above its Concentration Threshold value.

    •  Instead of the coding region (x,y,z) being expressed as a protein, these three real values are decoded to specify a range of different cellular functions, depending on the application.

    •  If there are more behavioural genes than are required, only the first encountered in the genome are used.

    Gene activation – behavioural gene

  • Comparing fractal proteins (left) – what the computer “sees” (right).

    Fractal Sampling

  • •  An individual begins life as a single cell in a given environment. •  To develop the individual from this zygote into the final phenotype, fractal

    proteins are iteratively calculated and matched against all genes of the genome.

    •  Should any genes be activated, the result of their activation (be it a new protein, receptor or cellular behaviour) is generated at the end of the current cycle.

    •  Development continues for d cycles, where d is dependent on the problem.

    Development

  • •  A genetic algorithm based on GADES is used (overlapping populations, lifespans, etc).

    •  Genes are real-coded, genomes variable-length.

    •  There are no constraints on ranges.

    •  Mutation enables coding regions/operators to be duplicated, genes to be deleted/duplicated and all values to be adjusted through creep mutation.

    Evolution

  • Evolving robot controllers

  • Evolving robot controllers

  • Evolving robot controllers

  • 0

    50

    100

    150

    200

    1 5 9 13 17 21 25 29

    Protein 1 Protein 2 Protein 4

    Controller analysis

  • •  To incorporate responsiveness to sensors, an adaptive GRN was required, that changed its pattern of behavioural gene activations dependant on the environmental proteins that correspond to the sensors.

    Evolving adaptive robot controllers

  • •  It is not possible to run the fractal GRNs on the robot’s simple processor, so the GRNs generate a series of control commands that are then uploaded into the robot.

    •  The robot’s twin infrared (binary) collision detection sensors were used as inputs, providing four possible states (nothing there, on the left, on the right, or in front).

    •  To generate all necessary control commands, the same GRN was developed four times in succession, in different environments.

    Evolving adaptive robot controllers

  • Evolving adaptive robot controllers

  • •  Analysis shows that most GRNs evolved two different behaviours

      However, on several occasions, evolution generated three separate behaviours from the same GRN:

    Nothing there / On the right:

    Forwards left 1, Forwards left 1, … (*32)

    On the left: Forwards right 2, Forwards right 2, … (*32) In front: Backup left 1, Backup left 1, … (*32)

    Evolving adaptive robot controllers

  • Summary: external embryology

    •  The external embryology (or ontogeny or developmental process) is specified outside the genotype and not evolved.

    •  Examples include Latham’s genetic art, Manos’s fibre optics, Katie’s diatoms

  • Summary: explicit embryology

    •  The explicit embryology (or ontogeny or developmental process) is specified as part of the genotype and evolved, but every step of the development is explicitly given.

    •  Examples include Bongard’s evolved ontogenies, Sims’s virtual creatures

  • Summary: implicit embryology

    •  The implicit embryology (or ontogeny or developmental process) is specified as part of the genotype and evolved, but every step of the development merges spontaneously during growth.

    •  Examples include Kumar’s EDS, Behravan’s 3D R-D CA, Gordon’s e-hardware, Basanta’s effector automata, Nina’s swarming nanotech.

  • End of Lecture!