Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
CS206 Evolutionary Robotics Offspring with genetic variation BIOLOGICAL EVOLUTION Less fit organisms die More fit organisms survive and reproduce CS206 Evolutionary Robotics Offspring with genetic variation Less fit organisms die More fit organisms survive and reproduce BIOLOGICAL EVOLUTION THE GENETIC ALGORITHM 0.3 0.4 … 0.7 0.3 0.4 … 0.7 0.3 0.4 … 0.7 -0.2 0.0 … 0.1 -0.2 0.0 … 0.1 0.3 0.5 … -0.9 0.0 0.1 … -0.9 0.0 0.1 … -0.9 0.0 0.1 … Generate random solutions Discard poor solutions -0.9 Make modified copies of the better solutions CS206 Evolutionary Robotics Genetic algorithm + robot simulator = evolutionary robotics Generate robots Evolved Neural Network Controller Throw away bad robots Make modified copies of the good robots Modified Controller Frutiger, D. R., J. C. Bongard and F. Iida (2002) “Iterative Product Engineering: Evolutionary Robot Design”, in Bidaud, P. and F. B. Amar (eds.), Proceedings of the Fifth International Conference on Climbing and Walking Robots, Professional Engineering Publishing, pp. 619-629. CS206 Evolutionary Robotics Fitness The Fitness Landscape (Sewall Wright, 1932) Fitness Value of gene 1 If a genotype has n genes, the fitness landscape exists in n+1 dimensions: the fitness of the phenotype produced by that genotype is the extra dimension. Genotype: Phenotype: Gene 2 Gene 1 CS206 Evolutionary Robotics Fitness The Hill Climber Population size: 1 0.3 0.4 … 0.7 “parent” Value of gene 1 0.3 0.4 … “child” 0.8 CS206 Evolutionary Robotics Fitness The Parallel Hill Climber “parents” Population size: >1 0.3 0.4 … 0.7 5 0.9 0.1 … 0.3 0.4 0.8 5 0.9 0.0 … “children” 0.5 … 0.5 Value of gene 1 CS206 Evolutionary Robotics Fitness The Genetic Algorithm “parents” Population size: >1 0.3 0.4 … 0.7 0.9 0.1 0.3 0.4 … … 0.5 … 0.7 0.5 0.9 0.1 “children” Value of gene 1 CS206 Evolutionary Robotics Fitness The Evolution Strategy “Genes” 0.3 0.4 0.1 0.2 … … 0.7 0.05 Value of gene 1 Fitness Step sizes, or strategy parameters Value of gene 1 CS206 Evolutionary Robotics Genetic Programming p1 + 0.8 * p2 Possible branch nodes: / 1.4 0.2 + x x z= z= y sin(a) cos(a) plus(a,b) minus(a,b) mult(a,b) div(a,b) pow(a,b) Possible x,y,5 terminal nodes 0.1,-3.0,5 CS206 Evolutionary Robotics Genetic Programming p1 * + 0.8 p2 / 1.4 0.2 + x x z= z= y p1 + 0.8 c1 + 0.8 z= * c2 0.2 x z= / x * p2 0.2 / CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression y y=? 0 3 x x y -0.4 1.4 0.0 0.6 5 5 0.5 2.1 CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression y x n y (xi-xi’)2 + (yi-yi’)2 Error = y=? 0 3 x y 0 y’ = x 3 high error low fitness -0.4 1.4 0.0 0.6 5 5 0.5 2.1 i=1 n CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression y x n y (xi-xi’)2 + (yi-yi’)2 Error = y=? 0 3 x y 1.4 0.0 0.6 5 5 0.5 2.1 i=1 n y 0 y’ = x -0.4 3 high error low fitness 0 3 2 y’ = (x-3) low error high fitness CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression Question: What causes toxic algal blooms in Lake Champlain? i.e., T = ? Nitrogen (N) Phosphorus (P) Water temp (W) Turbidity (B) Rainfall (R) 5 Toxic algae/ml (T) Malletts Bay 08/01/99 0.4 0.6 0.2 0.1 0.4 5 0.5 Shelburne 08/02/99 0.1 0.3 0.6 0.4 0.1 5 0.05 Malletts Bay 07/05/00 0.9 0.1 0.9 0.4 0.6 5 0.8 5 5 5 5 5 5 5 5 CS206 Genetic Programming Q: What is a good genotype? What is the phenotype? How to compute fitness? Evolutionary Robotics