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 • Genotype • Phenotype 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. 2. 3. 4. 5. • Node internal parameters Adding random node Parameters of each connection Adding/removing random connections 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.