evolutionary robotics - pdfs.semanticscholar.org€¦ · leg 4: 2’ genotype' phenotype'...
TRANSCRIPT
Evolutionary Robotics
Genetic Algorithm
• Let’s evolve a pancake recipe
• Need:• representation/encoding• mutation• fitness function• selection
Genetic Algorithm
• Representation/Encoding• binary
- 0001110101010101010111010101010
• real- 3.4, 0.2, -5.6, ....
• What do we need to represent?
Genetic Algorithm
• Mutation• binary
- per site vs. per genome rate
• real:- uniform/gaussian/other
- gaussian: variance?
• note: mutations usually “deleterious”• good rule of thumb: 1 genomic
Genetic Algorithm
• Fitness Function• options?
Genetic Algorithm
• Selection• options?
Concepts
• Many terms and concepts you should learn
• Mostly applies to all optimization, AI, machine learning
• Tend to use biological language
• Equip your conceptual toolbox
Fitness Landscapes
• Sewall Wright (1932)
• Terms• Higher= better
- Peaks, Valleys, Plateaus, Global/Local Optima
• Lower= better- Minima, Basins, Global/Local Minima
Genotype
Fitn
ess
Fitness Landscape
•Sewall Wright (1932)
•Walk around (via mutation/permutation)
•neighboring solutions have similar values
fitness valley
fitness peak
note: often inverted
Smooth Rugged More Rugged
Fitness Landscapes
Very Rugged
Needle In Haystack
Fitness Landscapes
Selection Options
Selection: • Truncation• Fitness Proportional• Tournament• Random
Selection: • Truncation• Fitness Proportional• Tournament• Random
Selection Options
Selection: • Truncation• Fitness Proportional• Tournament• Random
Selection Options
Selection: • Truncation• Fitness Proportional• Tournament• Random
Selection Options
Fitness Landscapes & Selection
Selection: • Truncation• Fitness Proportional• Tournament• Random
!
Note: they all have parameters
Epistasis
• aka “Interaction Effects”
geneA, geneB, geneC
geneA, geneX, geneY
geneA increases fitness
geneA decreases fitness
Pleiotropy
geneA
Pale Skin
Red Hair
Freckles
Crossover
• Exchanging DNA between organisms• Note: Horizontal Gene Transfer is another means of exchange
Crossover
Can combine good “building blocks”
geneA, geneB, geneC, geneD, geneE, geneF, geneG
geneA’, geneB, geneC’, geneD, geneE’, geneF, geneG’
Mom
Dad
geneA’, geneB, geneC’, geneD, geneE, geneF, geneG
geneA’, geneB, geneC’, geneD, geneE’, geneF, geneG
Mom
Dad
Crossover
Can reduce “genetic load”: deleterious mutations
geneA, geneB, geneC, geneD, geneE, geneF, geneG
geneA’, geneB, geneC’, geneD, geneE’, geneF, geneG’
Mom
Dad
geneA’, geneB, geneC’, geneD, geneE, geneF, geneG
geneA, geneB, geneC, geneD, geneE’, geneF, geneG’
Mom
Dad
Crossover
• Kinds• One-point• Two-point• Uniform
Building Blocks
• How are they affected by crossover?• one point• two point• uniform
geneA’, geneB, geneC’, geneD, geneE , geneF, geneG
geneA , geneB, geneC , geneD, geneE’, geneF, geneG’
sub-solution
sub-solution
Crossover
Misevic et al. Proc. Royal Society. 2006
Nature’s Encoding
Evolutionary Algorithms (EAs)
Encode Problem
Generate Population
Score PopulationSelect Parents
mutation and/or recombination
1 2 3 4 W L.2 .1 .5 .2 1 .9
genome
Encodings
how information is stored in a genome + process that produces phenotype
gattaca ccatgat tggacct
Direct vs. Generative Encodings
Direct Encoding: each genotypic element specifies an independent phenotypic element
Genotype Phenotype leg 1: 2’ leg 2: 2’ leg 3: 2’ leg 4: 2’
Genotype Phenotype leg 1: 2’ leg 2: 2’ leg 3: 2’ leg 4: 2’
Genotype' Phenotype' leg 1: 2’ leg 2: 2’ leg 3: 1’ leg 4: .5’
Direct vs. Generative Encodings
Direct Encoding: each genotypic element specifies an independent phenotypic element
Genotype Phenotype leg 1: 2’ leg 2: 2’ leg 3: 2’ leg 4: 2’
Genotype' Phenotype' leg 1: 2’ leg 2: 2’ leg 3: 1’ leg 4: .5’
X
Direct vs. Generative Encodings
Direct Encoding: each genotypic element specifies an independent phenotypic element
Genotype Phenotype leg 1: 2’ leg 2: 2’ leg 3: 2’ leg 4: 2’
Genotype Phenotype
4x leg: 2’
Genotype' Phenotype' leg 1: 2’ leg 2: 2’ leg 3: 1’ leg 4: .5’
Direct vs. Generative Encodings
X
Direct Encoding: each genotypic element specifies an independent phenotypic element
Generative Encoding: genotypic elements can influence many phenotypic elements
Genotype Phenotype leg 1: 2’ leg 2: 2’ leg 3: 2’ leg 4: 2’
Genotype' Phenotype' leg 1: 2’ leg 2: 2’ leg 3: 1’ leg 4: .5’
Genotype Phenotype
4x leg: 2’
Genotype' Phenotype'
4x leg: 1’
Direct vs. Generative Encodings
X
Direct Encoding: each genotypic element specifies an independent phenotypic element
Generative Encoding: genotypic elements can influence many phenotypic elements
Desirable properties
• Coordinated mutational effects
• Scalability
• Low dimensional search, highly complex phenotype
• Structural Organization
• Regularity...with and without variation
• Modularity
• Hierarchy
Generative Encodings
Regularityreuse of information
compressibility
Lipson (2007)
irregular
less compressible
irregularity
less compressible
Regularity
multiple regularities
Generative EncodingDirect Encoding
Hornby (2005)
Examples of Regularity in Generative Encodings
Previous Work
• Generative outperforms direct on regular problems
• No tests across a continuum of problem regularity
Game Plan
• Case-study: generative encoding vs. direct encoding • as problem regularity varies
• HyperNEAT • Has a good direct encoding control
• Based on an important concept from developmental biology
2011
• Generative encoding...
• ...where cell fate is a function of geometric position
How nature builds complexity
Development involves producing complex coordinate frames
Sean Carroll: Endless Forms Most Beautiful (2005)
How nature builds complexity
How nature builds complexity
encodes phenotypic elements as a function of their geometric location
Compositional Pattern Producing Networks (CPPNs) Stanley 2007
Adapted from: Stanley (2007)
x y
value at x,y
y
x... for all x,y coordinates
genome f(x,y) = fate
Compositional Pattern Producing Networks (CPPNs) Stanley 2007
Adapted from: Stanley (2007)
asymmetry • f(x) left-right • f(y) anterior-posterior symmetry • gaussian(x) proximal-distal repetition • within segment symmetric anterior-posterior
x y
value at x,y
y
x
gaussian(x)
sine(y)
... for all x,y coordinates
Compositional Pattern Producing Networks (CPPNs) Stanley 2007
picbreeder.org
Compositional Pattern Producing Networks (CPPNs) Stanley 2007
Previous Generative Encodings
Sims 1994
Dawkins 1986Hornby & Pollack 2002