Download Evolving Virtual Creatures

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Neuroanatomy wikipedia , lookup

Recurrent neural network wikipedia , lookup

Feature detection (nervous system) wikipedia , lookup

Neuropsychopharmacology wikipedia , lookup

Nervous system network models wikipedia , lookup

Genetic algorithm wikipedia , lookup

Synaptic gating wikipedia , lookup

Optogenetics wikipedia , lookup

Channelrhodopsin wikipedia , lookup

Transcript
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.