Download [ slides ] 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

Introduction to evolution wikipedia , lookup

Unilineal evolution wikipedia , lookup

Gene expression programming wikipedia , lookup

Catholic Church and evolution wikipedia , lookup

Creation and evolution in public education wikipedia , lookup

Koinophilia wikipedia , lookup

Saltation (biology) wikipedia , lookup

Theistic evolution wikipedia , lookup

Transcript
Evolving Virtual Creatures
by Karl Sims (1995)
Adelein Rodriguez
Outline
• Goal & Perspective
• Motivation
• Creatures
• Morphology
• Control
• Evolution
• Coevolution
• Demo
• Comments
• Other Work
Goal
• Automatically create creatures by evolving its
morphology and behaviour.
• Creatures will be optimized for specific tasks
such as walking, jumping, and swimming.
• Perspective:
• Karl Sims had previously evolved expressions for
creating virtual plants, particle effects, and others.
• Genetic Programming recently invented (1992),
evolving of variable length genomes.
• MIT Media Lab
• This work has been referenced 440 times.
Motivation
• Tedious coding process for creating behaviours
that look realistic.
• Entertainment industry:
• Creating film effects
• Creating characters
• Need specific behaviours, thus optimization
technique such as evolution can help bias.
• Previous work evolved either the morphology, or
the control structure, but not both.
• Here we want to evolve a control for a structure,
and a structure for the control.
The big picture
• Genotype
• Directed graphs of nodes and
connections. Graphs provide instructions
for building a creature and cycles for
repeating same part.
• Phenotype
• Body parts are made by starting at the
root node of the directed graph and
following the connections.
Morphology
• Node
• Dimensions
• Joint type: Defines degrees of freedom & type of
movement relative to parent part.
• Revolute
• Rigid
• Twist
• Universal
• Etc...
• Joint Limits: Point at which need to exert string
forces.
• Node (cont)
• Recursive Limit: No. of times it can generate a
part from a cycle.
• Neurons: Given an input perform a function to
produce and output.
• Connections to other nodes (parts)
• Position, orientation, scale, and reflection,
terminal only flag.
Example Hand Designed Topologies
Control
Sensors
• Connected to:
• Effector
• Neuron
• “Embedded” in body parts:
• Joint angle sensors: monitors values of degrees of
freedom.
• Contact Sensors: Positive activation (1,0) if contact.
Negative activation (-1,0) if no contact. Present on all
surfaces.
• Photosensors: 3 sensors combined to get
coordinates of global light source.
• Sensors enabled depending on environment.
(Manually?)
Neurons
• Functions: sum, product, threshold, min,
max, if, sigmoid, oscillate-wave, etc.
• Two types of functions:
• Operate on input and give output directly
• Recurrence, output depends on time
step. Can give different output even if
inputs is constant. Memory.
Effectors
• Connected to:
• Sensor
• Neuron
• Value is exerted as a joint force
• Maximum strength proportional to the max
cross sectional area of the 2 parts it joins.
Force scales with area.
Going from genotype to phenotype
• Iterate over directed graph to create body parts:
• Blocks of neural circuitry can be replicated together with
morphological nodes.
• There can be connections between adjacent parts .
Sensors, neurons and effectors from one part can
connect to sensors, neurons and effectors from other
part. Allows coordination.
• There is a separate graph of neurons not tied to any part.
Phenotype has only one copy of this graph. Brain ?
• Can allow centralized control
How it all comes together
• Nodes contain sensors, neurons (graphs), and
effectors.
• Connections allow flow of signals between
nodes.
The idea
• Similar to Nervous System:
• Localized distributed control
(neurons for every part)
• Central control (separate groups of
neurons)
Phenotype Brain
Phenotype Morphology
This creature swims by making
paddling motions with the flippers
Evolution
• Initial population: random genotypes and
previous evolution genotypes.
• Population size: 300
• Selection: Top fit 1/5 of population survives to
next generation.
• Fitness evaluation: place creature in a simulated
environment, goal is to optimize for specific task
or behaviour (e.g. jumping).
• Pre-screening process.
Fitness Evaluation
• 4 Different Evolutions, each with
different tasks:
• Swimming
• Walking
• Jumping
• Following
Swimming
•
•
•
•
Simulated environment has no gravity.
Viscosity effect.
Faster it swims, higher fitness.
Straight swimming gets higher fitness than
circling.
• Continuous movement gets higher fitness than
initial drastic jumps.
Walking
• Walking = kind of moving on land.
• Gravity and friction.
• Faster it moves, better. Vertical movement is
ignored.
• Environment could have other objects.
Jumping
• Measure vertical movement.
Following
•
•
•
•
Task is to follow a light source
Many trials with light source at different positions
Faster it moves towards light source better.
Land and water environments.
Evolution (Cont)
• Get surviving creatures, mate and/or
mutate them.
• Reproduction: Only highest fit can
reproduce, higher fit reproduce more.
• To create an offspring you can
mutate a parent, or mate two parents
by either one of two crossover types.
Mutation
• Graph mutation steps:
• 1) Node's internal parameters
• Boolean values change from true to false and vice
versa.
• Scalar values change according to a Gaussian
scale (Small adjustments are more likely than
drastic ones)
• 2) Add a new node to graph
• Must be followed by a mutation that adds a
connection to it in order to have effect.
Mutation (Cont)
• Graph mutation steps (cont):
• 3) Connection's internal parameters
• 4) Add/Remove a connection (can only happen in
morphological graphs, nor neural ones)
• 5) Remove unconnected nodes and neurons.
• Morphology graphs mutated first, then inner
graphs.
Mating
• Combines structures from two parent
genotypes to make an offspring.
• Used two mating types:
• Crossover:
• Graft
Evolution (Cont)
• Some creatures from one evolution
were used as seeds for other
evolutions.
• A creature from one medium could
be used for evolution in another
medium.
Co Evolution
• Evolving 3D Morphology and
Behaviour by Competition (1994)
• Place pairs of creatures in an arena to
compete for a common resource.
• Taller creatures start further back.
How to pair individuals
• Each to all
• Very expensive
• Each to some
• Might not get correct idea of fitness
relative to others.
• Species intrabreeding
• Species interbreeding
Interesting results
• Interspecie competition was observed
where both species developed
different techniques for grabbing the
cube, then tried to add techniques to
stop the other from grabbing it.
• Push cube from opponent, then
follow it.
• Demo
Additional Comments
• Genotype-Phenotype encoding allows to specify the
structure and behaviour in a compact way. Indirect
encoding.
• Only need to specify a few building blocks and the rules
for how to combine the building blocks
• Information reuse, modularity.
• Avoids hardships of hand coded designs. Very useful for
automatic content creation (Games)
• Use of evolutionary search allows for parallel search over
many possible structures and behaviours.
• Neural structure is added as needed and tightly connected
to the morphological structure. Co-adapation.
Additional Comments (Cont)
• Evolution attempts to find (“learn”) the
best mapping of sensors and effectors
by being exposed to the environment.
• Downside: Fitness function and
genotype language encoding need a
lot of hand design.
Other Related Work
• http://sodarace.net/
• http://www.frams.alife.pl/a/al_pict.html