Coevolutionary Learning with Genetic Algorithms
Problem for learning algorithms: How to select “training environments” appropriate to different stages of learning? One solution: Co-evolve training examples, using inspiration from host-parasite coevolution in nature.
Host-parasite coevolution in nature Hosts evolve defenses against parasites Parasites find ways to overcome defenses Hosts evolve new defenses Continual “biological arms race”
Heliconius-egg mimicry in Passiflora
Darwin recognized the importance of coevolution in driving evolution
Coevolution was later hypothesized to be major factor in evolution of sexual reproduction
Coevolutionary Learning
Candidate solutions and training environments coevolve.
Coevolutionary Learning Candidate solutions and training environments coevolve. –Fitness of candidate solution (host): how well it performs on training examples.
Coevolutionary Learning Candidate solutions and training environments coevolve. –Fitness of candidate solution (host): how well it performs on training examples. –Fitness of training example (parasite): how well it defeats candidate solutions.
Sample Applications of Coevolutionary Learning
–Coevolving minimal sorting algorithms (Hillis) Hosts: Candidate sorting algorithms Parasites: Lists of items to sort
Sample Applications of Coevolutionary Learning –Game playing strategies (e.g., Rosin & Belew; Fogel; Juillé & Pollack) Hosts: Candidate strategies for Nim, 3D Tic Tac Toe, backgammon, etc. Parasites: Another population of candidate strategies
Sample Applications of Coevolutionary Learning –HIV drug design (e.g., Rosin) Hosts: Candidate protease inhibitors to match HIV protease enzymes Parasites: Evolving protease enzymes
Sample Applications of Coevolutionary Learning –Robot behavior (e.g., Sims; Nolfi & Floreano) Hosts: Robot control programs Parasites: Obstacles; mazes; competing robot control programs;
Why should we expect coevolutionary learning to speed-up and/or improve evolution?
“Biological” arms races Increased “biodiversity”?
Practical problems observed in coevolutionary learning
Cycling: fitness generation hosts parasites low “true” fitness
Loss of gradient for hosts fitness generation hosts parasites
Over-“virulence” of parasites fitness generation hosts parasites
Hypothesis Distributing host and parasite populations in space will overcome these impediments by: –Preserving diversity in the populations –Fostering arms races between hosts and parasites
Our Experiments (Mitchell, Thomure, & Williams, 2006) Spatial Non-spatial Coevolution Evolution
Problem domains used in experiments 1. Function induction from data 2. Cellular automata I.e., given a set of points generated by a “secret” function, find the function. Hosts: Candidate functions Parasites: Points generated by the secret function
Host and parasite populations live on a two- dimensional toroidal (i.e., donut-shaped) grid with one host (h) and one parasite (p) per site Spatial Coevolution hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp
Host and parasite populations live on a two- dimensional toroidal (i.e., donut-shaped) grid with one host (h) and one parasite (p) per site Spatial Coevolution hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp
Host and parasite populations live on a two- dimensional toroidal (i.e., donut-shaped) grid with one host (h) and one parasite (p) per site Spatial Coevolution hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp hphp At each generation, each h is replaced by mutated copy of winner of tournament among itself and 8 neighboring hosts. At each generation, each p is replaced by mutated copy of winner of tournament among itself and 8 neighboring parasites.
Host and parasite populations live in a non-spatial world (no notion of “neighbor” or “distance) Non-Spatial Coevolution h p h h h h h p p p p p p p p h h hh p p p h h
Host and parasite populations live in a non-spatial world (no notion of “neighbor” or “distance) Non-Spatial Coevolution h p h h h h h p p p p p p p p h h hh p p p h h At each generation, each h is replaced by mutated copy of winner of tournament among itself and 8 random hosts. At each generation, each p is replaced by mutated copy of winner of tournament among itself and 8 random parasites.
Spatial Evolution: –Same as spatial coevolution, except parasites don’t evolve. –A new population of random parasites is generated at each generation.
Non-Spatial Evolution: –Same as non-spatial coevolution, except parasites don’t evolve. –A new sample of random parasites is generated at each generation.
Results Function InductionCellular Automata Spatial Coev.78% (39/50) 67% (20/30) Non-Spatial Coev.0% (0/50) 0% (0/20) Spatial Evol.14% (7/50) 0% (0/30) Non-Spatial Evol.6% (3/50) 0% (0/20) Percentage of successful runs
In short: Spatial coevolution significantly out- performs other methods on both problems
Analysis Why was spatial coevolution successful? Hypotheses: 1.Maintains diversity over long period of time 2.Creates extended “arms race” between hosts and parasite populations Here we examine these hypotheses for the cellular automaton task. [That is, we will do so after the lecture on cellular automata. To be continued…]