150 likes | 167 Views
CS206. Evolutionary Robotics. More fit organisms survive and reproduce. Less fit organisms die. Offspring with genetic variation. BIOLOGICAL EVOLUTION. CS206. Evolutionary Robotics. 0.3 0.4 … 0.7. More fit organisms survive and reproduce. Make modified copies
E N D
CS206 Evolutionary Robotics More fit organisms survive and reproduce Less fit organisms die Offspring with genetic variation BIOLOGICAL EVOLUTION
CS206 Evolutionary Robotics 0.3 0.4 … 0.7 More fit organisms survive and reproduce Make modified copies of the better solutions Discard poor solutions Less fit organisms die Offspring with genetic variation Generate random solutions BIOLOGICAL EVOLUTION THE GENETIC ALGORITHM 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 … -0.9
CS206 Evolutionary Robotics Genetic algorithm + robot simulator = evolutionary robotics Throw away bad robots Generate robots Make modified copies of the good robots Evolved Neural Network Controller 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 Value of gene 1 Fitness Gene 2 Gene 1 The Fitness Landscape (Sewall Wright, 1932) 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:
CS206 Evolutionary Robotics Fitness Value of gene 1 0.3 0.4 … 0.7 0.3 0.4 … 0.8 The Hill Climber Population size: 1 “parent” “child”
CS206 Evolutionary Robotics Fitness Value of gene 1 0.3 0.4 … 0.7 0.3 0.4 … 0.8 0.9 0.1 … 0.5 0.9 0.0 … 0.5 The Parallel Hill Climber “parents” Population size: >1 … … “children”
CS206 Evolutionary Robotics 0.3 0.4 … 0.7 0.3 0.4 … 0.5 0.9 0.1 … 0.5 0.9 0.1 … 0.7 The Genetic Algorithm Fitness “parents” Population size: >1 Value of gene 1 “children”
CS206 Evolutionary Robotics Fitness Value of gene 1 0.3 0.4 … 0.7 0.1 0.2 … 0.05 The Evolution Strategy “Genes” Step sizes, or strategy parameters Fitness Value of gene 1
CS206 Evolutionary Robotics Genetic Programming Possible sin(a) branch cos(a) nodes: plus(a,b) minus(a,b) mult(a,b) div(a,b) pow(a,b) Possible x,y,… terminal nodes 0.1,-3.0,… p2 p1 * / + 1.4 0.2 + x 0.8 x y z = z =
CS206 Evolutionary Robotics Genetic Programming p2 p1 * / + 1.4 0.2 + x 0.8 x y p2 p1 * / z = z = + 0.2 0.8 x c2 c1 * / + 0.2 0.8 x z = z =
CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression y y = ? 0 x 3
CS206 Evolutionary Robotics n y y (xi-xi’)2 + (yi-yi’)2 Error = n i = 1 0 0 3 3 Genetic Programming: Symbolic Regression y = ? x y = x high error low fitness
CS206 Evolutionary Robotics n (xi-xi’)2 + (yi-yi’)2 Error = n i = 1 Genetic Programming: Symbolic Regression y y = ? 0 x 3 y y 0 0 3 3 y = x high error low fitness y = (x-3)2 low error high fitness
CS206 Evolutionary Robotics Genetic Programming: Symbolic Regression Question: What causes toxic algal blooms in Lake Champlain? i.e., T = ?
CS206 Evolutionary Robotics Genetic Programming Q: What is a good genotype? What is the phenotype? How to compute fitness?