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

Slides:



Advertisements
Similar presentations
Logical and Artificial Intelligence in Games Lecture 14
Advertisements

Algorithm Design Techniques
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
T.J. Hartnett CSE 704 Seminar Dr. Miller Spring ‘11 EVOLVING CREATURES.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Evolving Motor Techniques for Artificial Life Kelley Hecker, Period 7.
Genetic Algorithm.
Integrating Neural Network and Genetic Algorithm to Solve Function Approximation Combined with Optimization Problem Term presentation for CSC7333 Machine.
Introduction to Genetic Algorithms and Evolutionary Computation
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
CS 551 Computer Animation Lecture 15 Evolved Virtual Creatures Lecture 15 Evolved Virtual Creatures.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
Spacetime Constraints Revisited Joe Marks J. Thomas Ngo Using genetic algorithms to find solutions to spacetime constraint problems in 2D.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Fuzzy Genetic Algorithm
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
Evolving Motor Techniques for Artificial Life Kelley Hecker Period 7.
Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder.
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Evolving Motor Techniques for Artificial Life Kelley Hecker, Period 7.
 Based on observed functioning of human brain.  (Artificial Neural Networks (ANN)  Our view of neural networks is very simplistic.  We view a neural.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Edge Assembly Crossover
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
Innovative and Unconventional Approach Toward Analytical Cadastre – based on Genetic Algorithms Anna Shnaidman Mapping and Geo-Information Engineering.
Local Search. Systematic versus local search u Systematic search  Breadth-first, depth-first, IDDFS, A*, IDA*, etc  Keep one or more paths in memory.
1 Autonomic Computer Systems Evolutionary Computation Pascal Paysan.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic Algorithm (Knapsack Problem)
Instructor: Erol Şahin
Genetic Algorithms.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Basics of Genetic Algorithms (MidTerm – only in RED material)
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Basics of Genetic Algorithms
EE368 Soft Computing Genetic Algorithms.
Boltzmann Machine (BM) (§6.4)
Artificial Intelligence CIS 342
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Coevolutionary Automated Software Correction
Presentation transcript:

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 9045

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   /IntroToGAs/ /IntroToGAs/ /IntroToGAs/ 

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