Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.

Similar presentations


Presentation on theme: "Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin."— Presentation transcript:

1 Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin

2 Motivation  What: Automatically generate physically simulated characters without fully understanding the procedures used to control them  How: Utilize optimization technique to generate complex behaviours automatically

3 Use of Optimization in this paper  Genetic Algorithm used as an optimization technique to search genotypes (encoding of a solution)

4 Genetic Algorithms  Imitate the processes of evolution and natural selection in biological world to generate/evolve the best solution

5 Genetic Algorithms  Goal: Create a computer program to solve a problem defined by high level statements  High level statements:  Define objective function  Define and implement genetic representation  Define and implement genetic operators

6 Genetic Algorithms  [Start] Generate random population of n suitable solutions for the problem  [Fitness] Evaluate the fitness of each solution in the population  [New population] Create a new population:  [Selection] Select two parent solutions from a population according to their fitness (the better fitness, the bigger chance to be selected)  [Mutation] With a mutation probability, mutate new offspring at each position in solution  [Sexual Reproduction] With some probability, combine parents to form new offspring  [Replace] Replace current population with newly generated population  [Test] If the end condition is satisfied, stop, and return the best solution in current population  [Loop] Go to Fitness Step

7 Application of Genetic Algorithm  Define objective function  Define and implement genetic representation  Define and implement genetic operators

8 Objective Function  Stated implicitly  To create realistic looking and acting creatures  Fitness functions used to help evaluate if the objective function is satisfied

9 Genetic Representation  Defined by creature morphology and neurology  Morphology: “The form and structure of an organism or one of its parts”  Neurology (Nervous system): “The system of cells, tissues, and organs that regulates the body's responses to internal and external stimuli”

10 Creature Morphology  Articulated three dimension rigid body parts  Represented as a directed graph of nodes and connections  Each node describes one body part  Many parameters to a node

11 Creature Neurology  Comprised of:  Sensors  Neurons  Effectors

12 Sensors  Each sensor is at a different part of the body  Measure  That body part  The world relative to that body part  Different types of sensors  Joint angle sensor  Contact sensors  Photo sensors

13 Neurons  Virtual brain: Function based on sensor input  Provides output effector values

14 Effectors  Each effecter controls a degree of freedom in a joint  Each effectors value is applied as forces or torques  Only exert simulated muscle force  Connected to neuron or sensor

15 Neural System  Local neural system:  Neural system generated along with morphological system  Connection allowed between local neural systems  Global neural system:  Neurons not associated with a specific node  Can be connected with local neural systems

16 Genetic Operators: Mutation (1/5) Alter internal node parameters  Dimensions- determine the physical shape of the part  Joint type- number of DOF for each joint and movement allowed for each DOF  Joint limits- point where spring forces will be exerted for each DOF  Recursive limit  Set of local neurons  Set of connections to other nodes  Position, orientation, scale and reflection relative to parent

17 Genetic Operators: Mutation (2/5) Add a new node at random Leg Segment Body Segment Head Segment

18 Genetic Operators: Mutation (3/5) Parameter of each connection is subject to change Leg Segment Body Segment 9045

19 Genetic Operators: Mutation (4/5) New connections are added at random and old ones are deleted Leg Segment Body Segment Head Segment

20 Genetic Operators: Mutation (5/5) Delete unconnected nodes Leg Segment Body Segment Head Segment

21 Genetic Operators: Crossover

22 Genetic Operators: Grafting

23 Genetic Algorithms  [Start] Generate random population of n suitable solutions for the problem  [Fitness] Evaluate the fitness of each solution in the population  [New population] Create a new population:  [Selection] Select two parent solutions from a population according to their fitness (the better fitness, the bigger chance to be selected)  [Mutation] With a mutation probability, mutate new offspring at each position in solution  [Sexual Reproduction] With some probability, combine parents to form new offspring  [Replace] Replace current population with newly generated population  [Test] If the end condition is satisfied, stop, and return the best solution in current population  [Loop] Go to Fitness Step

24 Start  Generate random population of n suitable solutions for the problem  Random generation of nodes and connections  Use existing genotype to seed function  Create genotype manually to seed function

25 Fitness  Swimming, walking, jumping  Distance travelled by COM/unit of time  Following  Speed at which creature moves towards target  Competition  Pairs of individuals compete for control over a cube  Final distance of the creature from cube and opponents final distance from cube

26 New population  Survival ratio: 1/5 of 300  40% mutation, 30% crossover, 30% grafting  Children from crossover and grafting are sometimes mutated

27 Results  Different runs converged on characters with different evolved characteristics  Specify a User Preference using the Algorithm  User can specify a preference over multiple runs of the simulation  User can perform the natural selection

28 Results Video

29 Advantages  Generate characters without specification or knowledge about exactly how they work  Less likely to get stuck on a local solution since we are searching on an encoding  Easy to parallelize

30 Disadvantages  The characters could produce incorrect behaviour that could go undetected because of the lack of understanding of the underlying algorithm  Process is not very reusable  Can reuse some of the components of the implementation, for example, the neuron language  Genetic Algorithms sometimes require a lot of tweaking to work right

31 Disadvantages  Difficult to obtain ideal size for the neuron language, node types and parameters (joint types and parameters and connection parameters), sensor and effecter types  i.e. Difficult to obtain best size for the search space  If the size is too small, then there aren't enough variations in the population  If the size is too large, then changes in isolated parts of the creature do not have a big affect on the behavior or structure

32 Questions ?

33 References  http://www.genetic-programming.com/ http://www.genetic-programming.com/  http://lancet.mit.edu/~mbwall/presentations /IntroToGAs/ http://lancet.mit.edu/~mbwall/presentations /IntroToGAs/ http://lancet.mit.edu/~mbwall/presentations /IntroToGAs/  http://cs.felk.cvut.cz/~xobitko/ga/

34 Physical Simulation  Dynamics used to calculate movement of characters  Articulated body dynamics  Numerical Integration  Collision detection and response  Friction  Option viscous fluid  Crucial for the physical simulator to be bug free as the GA will find ways to exploit bugs


Download ppt "Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin."

Similar presentations


Ads by Google