Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin 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 Use of Optimization in this paper Genetic Algorithm used as an optimization technique to search genotypes (encoding of a solution) Genetic Algorithms Imitate the processes of evolution and natural selection in biological world to generate/evolve the best solution 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 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 Application of Genetic Algorithm Define objective function Define and implement genetic representation Define and implement genetic operators Objective Function Stated implicitly To create realistic looking and acting creatures Fitness functions used to help evaluate if the objective function is satisfied 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” 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 Creature Neurology Comprised of: Sensors Neurons Effectors 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 Neurons Virtual brain: Function based on sensor input Provides output effector values 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 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 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 Genetic Operators: Mutation (2/5) Add a new node at random Leg Segment Body Segment Head Segment Genetic Operators: Mutation (3/5) Parameter of each connection is subject to change Leg Segment Body Segment 45 90 Genetic Operators: Mutation (4/5) New connections are added at random and old ones are deleted Leg Segment Body Segment Head Segment Genetic Operators: Mutation (5/5) Delete unconnected nodes Leg Segment Body Segment Head Segment Genetic Operators: Crossover Genetic Operators: Grafting 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 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 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 New population Survival ratio: 1/5 of 300 40% mutation, 30% crossover, 30% grafting Children from crossover and grafting are sometimes mutated 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 Results Video 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 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 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 Questions ? References http://www.genetic-programming.com/ http://lancet.mit.edu/~mbwall/presentations /IntroToGAs/ http://cs.felk.cvut.cz/~xobitko/ga/ 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