Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder
Overview Virtual Creatures Creature Representation Creature Control Physical Simulation Behavior Evolution Results
Virtual Creatures Complexity vs. Control Genetic Algorithms –Darwin (fitness) –Differs from previous work
Creature Representation GenotypePhenotype
Creature Representation Directed Graph –Nodes Information –Dimensions –Joint-type –Joint-limits –Recursive-limit –Neurons –Connections Child Node Position Orientation
Creature Control Brain –A directed graph of “neurons” Effectors –Applied at Joints as Forces or Torques Muscle Pairs
Creature Control Sensors –Joint Angle Sensors –Contact Sensors Multiple Sensors per Unit Self vs. Environment –Photosensors Provides relative coordinates of light source
Creature Control Neurons –Provide different functions Sum, product, abs, max, sin, cos, oscillators, etc… –Output vs. Input Number of inputs dependant on function Output dependant on input and maybe previous state
Creature Control Effectors –Connected to sensor or neuron –Control a single DOF of a joint –Scaled by Maximum-strength
Combining Control and Representation Nodes –Contain unit information –Contain neuron information Also a global set of neurons
Combining Control and Representation
Physical Simulation Collision Detection –Bounding Box + Pair Specific Collision Response –Impulses + penalty springs Friction Viscosity –For simulating underwater Bugs will be found and exploited!
Behavior Evolution for a specific behavior –Swimming –Walking/Limping –Jumping –Following (Land/Water) Fitness function evaluated at each step –Weights for more preferred methods
Evolution Recipe for a successful evolution 1.Create initial genotypes 1.From scratch 2.From pre-evolved creatures 3.From the user 2.Calculate survival ratio 3.Evaluate fitness and kill off the weaklings 4.Reproduce the Alpha-males 1.Reproductive ability 5.Evolve, and proceed to step 3.
Evolution Directed Graph Mutation 1.Node internal parameters 2.Adding random node 3.Parameters of each connection 4.Adding/removing random connections 5.Removing unconnected elements Mutation frequency scales inversely with graph size
Evolution Mating Directed Graphs Reproductive Method –40% Asexual –30% Crossover –30% Grafting
Evolution User Control –Choose genotypes to survive –Design initial aesthetic genotype –Evolve only the aesthetic phenotype, then add a brain.
Performance CM-5 with 32 processors – 3 Hours –Population of 300 –100 Generations
Results Homogeneity Swimmers –Paddlers –Tail-waggers Walkers –Lizard-like –Pushers/Pullers –Hoppers Followers –Steering Fins –Paddlers
Virtual Creatures They are the one-armed, three-legged, limping, falling and drowning creatures of the virtual world.