Towards Efficient Evolutionary Design of Autonomous Robots
Peter Krˇ cah
Computer Center, Charles University Ovocn´ y Trh 5, 116 36 Prague 1 Czech Republic peter.krcah@ruk.cuni.cz
Towards Efficient Evolutionary Design of Autonomous Robots Peter Kr - - PowerPoint PPT Presentation
Towards Efficient Evolutionary Design of Autonomous Robots Peter Kr cah Computer Center, Charles University Ovocn y Trh 5, 116 36 Prague 1 Czech Republic peter.krcah@ruk.cuni.cz September 23, 2008 Introduction Ultimate goal : to
Computer Center, Charles University Ovocn´ y Trh 5, 116 36 Prague 1 Czech Republic peter.krcah@ruk.cuni.cz
◮ Ultimate goal: to automatically design hardware and software
◮ Previous works: Virtual Creatures (Sims 1994), GOLEM
◮ Fitness evaluation done in simulation ◮ Simulation is slow (only about 10x faster than reality)
◮ Single run takes typically several hours/days
◮ Possible solutions
◮ Increase computational power ◮ Use better algorithms
◮ Ultimate goal: to automatically design hardware and software
◮ Previous works: Virtual Creatures (Sims 1994), GOLEM
◮ Fitness evaluation done in simulation ◮ Simulation is slow (only about 10x faster than reality)
◮ Single run takes typically several hours/days
◮ Possible solutions
◮ Increase computational power ◮ Use better algorithms
◮ Morphology represented by a directed graph
◮ Each node represents a body part ◮ Each connection represents a physical joint between two parts
◮ Generative encoding inspired by Sims’ Virtual Creatures
◮ Phenotype is constructed by recursive traversal of the
connections of the genotype
◮ Recursive limit in each node prevents infinite cycles
◮ Control system is distributed along the robot body ◮ Each body part contains a local feedforward neural
◮ Each neuron has one of 22 transfer functions ◮ Single independent neural network for central coordination
◮ Robot is represented by a morphology graph with a nested
◮ Problem 1: How to do effective recombination?
◮ Intuition: We need to swap corresponding parts ◮ Existing approaches: Grafting, crossover (Sims), picking (Miconi)
◮ Problem 2: How to do define similarity measure?
◮ We need to find correspondence of structure elements ◮ Useful feature for advanced speciation techniques
◮ Robot is represented by a morphology graph with a nested
◮ Problem 1: How to do effective recombination?
◮ Intuition: We need to swap corresponding parts ◮ Existing approaches: Grafting, crossover (Sims), picking (Miconi)
◮ Problem 2: How to do define similarity measure?
◮ We need to find correspondence of structure elements ◮ Useful feature for advanced speciation techniques
◮ Robot is represented by a morphology graph with a nested
◮ Problem 1: How to do effective recombination?
◮ Intuition: We need to swap corresponding parts ◮ Existing approaches: Grafting, crossover (Sims), picking (Miconi)
◮ Problem 2: How to do define similarity measure?
◮ We need to find correspondence of structure elements ◮ Useful feature for advanced speciation techniques
◮ Introduced by K. Stanley in 2002 as a part of NEAT
◮ Algorithm for evolving neural networks ◮ Main principles:
assigned a unique number (a historical marking)
◮ Properties:
◮ Introduced by K. Stanley in 2002 as a part of NEAT
◮ Algorithm for evolving neural networks ◮ Main principles:
assigned a unique number (a historical marking)
◮ Properties:
◮ Introduced by K. Stanley in 2002 as a part of NEAT
◮ Algorithm for evolving neural networks ◮ Main principles:
assigned a unique number (a historical marking)
◮ Properties:
◮ Historical markings used for:
◮ Nodes and connections in the morphology graph ◮ Neurons and neural connections inside each body part
◮ Historical markings used for:
◮ Nodes and connections in the morphology graph ◮ Neurons and neural connections inside each body part
◮ Historical markings used for:
◮ Nodes and connections in the morphology graph ◮ Neurons and neural connections inside each body part
◮ Historical markings used for:
◮ Nodes and connections in the morphology graph ◮ Neurons and neural connections inside each body part
◮ Similarity measure of A and B
◮ 0 ... if A and B are the same ◮ 1 ... if A and B are completely different
◮ Similarity of two robots
◮ The average similarity of their corresponding nodes and
connections
◮ Similarity of two nodes
◮ The average similarity of their neurons and neural connections
◮ Genes without a counterpart count as if they have a
◮ Speciation
◮ Explicit fitness sharing (Goldberg, Richardson, 1987) ◮ Robots divided into species based on their similarity ◮ Fitness is shared among all robots in a single species
◮ HierarchicalNEAT (hNEAT) - An algorithm for evolving
◮ Historical markings for both morphology and neural networks ◮ Crossover and similarity measure based on historical
markings
◮ Speciation using explicit fitness sharing
◮ Speciation
◮ Explicit fitness sharing (Goldberg, Richardson, 1987) ◮ Robots divided into species based on their similarity ◮ Fitness is shared among all robots in a single species
◮ HierarchicalNEAT (hNEAT) - An algorithm for evolving
◮ Historical markings for both morphology and neural networks ◮ Crossover and similarity measure based on historical
markings
◮ Speciation using explicit fitness sharing
◮ Fitness functions: walking, jumping, swimming,
◮ Winning fitness value defined for each fitness function ◮ Performance measure: number of fitness evaluations needed
◮ Evolution fails if winner not found in the first 30 000 fitness
◮ Each configuration tested 30 times for 100 generations ◮ Single evolution: 70 minutes on 7 computers ◮ All experiments: 8 months of CPU time (< 4 days using 70
◮ Statistical significance of the differences verified (p < 0.02)
◮ Fitness functions: walking, jumping, swimming,
◮ Winning fitness value defined for each fitness function ◮ Performance measure: number of fitness evaluations needed
◮ Evolution fails if winner not found in the first 30 000 fitness
◮ Each configuration tested 30 times for 100 generations ◮ Single evolution: 70 minutes on 7 computers ◮ All experiments: 8 months of CPU time (< 4 days using 70
◮ Statistical significance of the differences verified (p < 0.02)
◮ Comparison of standard GA with grafting and crossover and
◮ Fitness functions: walking, swimming, jumping,
◮ hNEAT consistently better than standard GA
◮ Analysis of individual components of the proposed algorithm ◮ Verification of the usefulness of mating and speciation
◮ Finding the best method for creating the initial population
◮ Analysis of individual components of the proposed algorithm ◮ Verification of the usefulness of mating and speciation
◮ Finding the best method for creating the initial population
◮ Analysis of individual components of the proposed algorithm ◮ Verification of the usefulness of mating and speciation
◮ Finding the best method for creating the initial population
◮ Speciation maintains diversity and prevents stagnation in a
◮ Crossover based on historical markings performs sensible
◮ Contributions
◮ Our algorithm evolves robots with given fitness value twice as
fast as standard GA
◮ Crossover and similarity measure for complex structures
(graphs with nested graphs)
◮ Future works
◮ Further analysis and experimentation (complexity of evolved
creatures)
◮ Constructing evolved robots in reality ◮ Large-scale computation on clusters of 1000+ computers