CAP6938 Neuroevolution and Developmental Encoding Working with NEAT Dr. Kenneth Stanley September 27, 2006.

Slides:



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

1) What would happen to the population size if the average female produced more than one surviving reproducing daughter? A) there would be more females.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Constructing Complex NPC Behavior via Multi- Objective Neuroevolution Jacob Schrum – Risto Miikkulainen –
Genetic Algorithms By: Anna Scheuler and Aaron Smittle.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Evolving Cutting Horse and Sheepdog Behavior with a Simulated Flock Chris Beacham Computer Systems Research Lab 2009.
CAP6938 Neuroevolution and Developmental Encoding Leaky Integrator Neurons and CTRNNs Dr. Kenneth Stanley October 25, 2006.
Optimizing genetic algorithm strategies for evolving networks Matthew Berryman.
Neuro-Evolution of Augmenting Topologies Ben Trewhella.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Evolving Neural Network Agents in the NERO Video Game Author : Kenneth O. Stanley, Bobby D. Bryant, and Risto Miikkulainen Presented by Yi Cheng Lin.
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
1. 2 overview Background on video games Background on video games Neural networks Neural networks NE NE NEAT NEAT rtNEAT rtNEAT NERO NERO.
The Performance of Evolutionary Artificial Neural Networks in Ambiguous and Unambiguous Learning Situations Melissa K. Carroll October, 2004.
Neural Network Tools. Neural Net Concepts The package provides a “standard” multi-layer perceptron –Composed of layers of neurons –All neurons in a layer.
Evolving Multi-modal Behavior in NPCs Jacob Schrum – Risto Miikkulainen –
EVOLUTION OF POPULATIONS Chapter 17. Journal  Hypothesize: What would happen to the frequency (how common or uncommon) of a helpful mutation within a.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Evolutionary Robotics NEAT / HyperNEAT Stanley, K.O., Miikkulainen (2001) Evolving Neural Networks through Augmenting Topologies. Competing Conventions:
1 Evolutionary Growth of Genomes for the Development and Replication of Multi-Cellular Organisms with Indirect Encodings Stefano Nichele and Gunnar Tufte.
A Closer Look At Darwin’s Idea of Natural Selection
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolutionary Computation. Evolutionary Complexification Two major goals in intelligent systems are the discovery and improvement of solutions to complex.
CP Biology Ms. Morrison. Genes and Variation  Gene pool = combined genetic information of all members of a particular population  Relative frequency.
Chapter 16 Evolution of Populations. Variation and Gene Pools Genetic variations (differences) are studied in populations (group of individuals of the.
Vestigial Features What are vestigial features? What are some vestigial features in humans? Is it possible for human babies to be born with gills?
CAP6938 Neuroevolution and Developmental Encoding Developmental Encoding 2 Dr. Kenneth Stanley October 9, 2006.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Neural Networks Design  Motivation  Evolutionary training  Evolutionary design of the architecture.
CAP6938 Neuroevolution and Developmental Encoding Developmental Encoding Dr. Kenneth Stanley October 2, 2006.
CAP6938 Neuroevolution and Developmental Encoding Real-time NEAT Dr. Kenneth Stanley October 18, 2006.
Artificial Life/Agents Creatures: Artificial Life Autonomous Software Agents for Home Entertainment Stephen Grand, 1997 Learning Human-like Opponent Behaviour.
CAP6938 Neuroevolution and Developmental Encoding Basic Concepts Dr. Kenneth Stanley August 23, 2006.
Mike Taks Bram van de Klundert. About Published 2005 Cited 286 times Kenneth O. Stanley Associate Professor at University of Central Florida Risto Miikkulainen.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid-enabled parameter initialization for.
AP Biology Measuring Evolution of Populations.
09/20/04 Introducing Proteins into Genetic Algorithms – CSIMTA'04 Introducing “Proteins” into Genetic Algorithms Virginie LEFORT, Carole KNIBBE, Guillaume.
Pac-Man AI using GA. Why Machine Learning in Video Games? Better player experience Agents can adapt to player Increased variety of agent behaviors Ever-changing.
Artificial Intelligence Research in Video Games By Jacob Schrum
CAP6938 Neuroevolution and Artificial Embryogeny Competitive Coevolution Dr. Kenneth Stanley February 20, 2006.
CAP6938 Neuroevolution and Developmental Encoding Evolving Adaptive Neural Networks Dr. Kenneth Stanley October 23, 2006.
CAP6938 Neuroevolution and Artificial Embryogeny Leaky Integrator Neurons and CTRNNs Dr. Kenneth Stanley March 6, 2006.
CAP6938 Neuroevolution and Artificial Embryogeny Evolving Adaptive Neural Networks Dr. Kenneth Stanley March 1, 2006.
CAP6938 Neuroevolution and Developmental Encoding Intro to Neuroevolution Dr. Kenneth Stanley September 18, 2006.
Riza Erdem Jappie Klooster Dirk Meulenbelt EVOLVING MULTI-MODAL BEHAVIOR IN NPC S.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
Neural Networks And Its Applications By Dr. Surya Chitra.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
CAP6938 Neuroevolution and Artificial Embryogeny Approaches to Neuroevolution Dr. Kenneth Stanley February 1, 2006.
CAP6938 Neuroevolution and Artificial Embryogeny Evolutionary Computation Theory Dr. Kenneth Stanley January 25, 2006.
CAP6938 Neuroevolution and Artificial Embryogeny Evolutionary Comptation Dr. Kenneth Stanley January 23, 2006.
Natural Selection Topic 4.2. Introduction Review: Define adaptation: Adaptation: special feature of an organism which allows it to survive in its environment.
CAP6938 Neuroevolution and Artificial Embryogeny Real-time NEAT Dr. Kenneth Stanley February 22, 2006.
George Yauneridge.  Machine learning basics  Types of learning algorithms  Genetic algorithm basics  Applications and the future of genetic algorithms.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
CAP6938 Neuroevolution and Artificial Embryogeny Real-time NEAT Dr. Kenneth Stanley February 22, 2006.
Dr. Kenneth Stanley September 11, 2006
CAP6938 Neuroevolution and Artificial Embryogeny Artificial Embryogeny
Dr. Kenneth Stanley January 30, 2006
Dr. Kenneth Stanley September 13, 2006
Dr. Kenneth Stanley September 25, 2006
Introduction to CAP6938 Neuroevolution and Developmental Encoding
Dr. Kenneth Stanley September 20, 2006
Modelling Language Evolution Lecture 3: Evolving Syntax
Dr. Kenneth Stanley February 6, 2006
Evolution of Populations
Presentation transcript:

CAP6938 Neuroevolution and Developmental Encoding Working with NEAT Dr. Kenneth Stanley September 27, 2006

Exploiting Speciation Keep a list of species with increasing ID’s Species elitism: duplicate the species champs in the next generation –Only if species is above size 4 or 5 –Irrelevant in rtNEAT Stagnation Detection –Track generations since last improvement for each species –Drop fitnesses of stagnant species to near 0

Crossover Issue Two different connections can end up connecting the same nodes –Maybe disallow 5 9

Look Out for Bugs Gene pointing to nodes that aren’t in Gemome Gene innovation numbers out of order Node innovation numbers out of order Duplicate genes May want to check for these situations after major operations during debugging See Genome::verify() in NEAT C++ Can check whole population in a loop

Network Activation Use standard arbitrary-topology activation (Lecture 3) Do not activate in layers!

Real-time Evolution If all your agents are evaluated simultaneously, rtNEAT may be more appropriate rtNEAT produces and replaces one individual at a time (no generations) See “REAL-TIME NEUROEVOLUTION IN THE NERO VIDEO GAME ” on my homepageREAL-TIME NEUROEVOLUTION IN THE NERO VIDEO GAME Also see NERO rtNEAT source available

Your Genes May Have Extra Fields Time constants in nodes Activation function in nodes Learning parameters in connections You can have whatever you want, whatever you are evolving Should extra params affect compatibility? Remember, more fields means more possibilities, but also more dimensions

Important Methods Crossover: mate_multipoint and mate_multipoint_avg Mutation: mutate_add_connection, mutate_link_weights, mutate_enable_bits, other? Special Genomes Operations: duplicate, compare (getting the delta for compatibility distance) reproduce (inside Species) epoch (inside Population) Remember:

Developmental Encoding and Non- neural NEAT Your genes may not map directly to pieces of structure However, genes can still be marked with historical markings and complexification can still occur Need a standard starting structure

Sensors Must Be Chosen Wisely

Noisy Evaluation Randomness in an environment can cause evaluation to be inconsistent For example, in a game of chance Same individual can receive different fitness on different trials Causes confusion for evolution Not always fatal, but merits attention Maybe give all individuals in same generation same evaluation sequence

Saving and Loading Genomes/Populations should be savable and loadable Important for debugging Very disappointing to lose a good thing forever Some people use standards like XML /* Species #3 : (Size 5) (AF ) (Age 29) */ /* Organism #0 Fitness: Error: */ genomestart 0 trait trait trait node node node node node node gene gene gene gene gene gene gene gene gene genomeend 0 /* Organism #1 Fitness: Error: */ genomestart 1 trait trait trait node node node node node

Modularity Means Future Expansion (and maybe other users) Think about what you might want to do someday –Add new parameters to nodes? –Add new parameters to links? –Change the mapping? –Change platforms? –Completely different experiments? –More visualization? –Change phenotype? –Change genetyoe?

Too Much Scope = Too Much Rope Go for proof of concept What feature matters least? If nothing works what could be a prerequisite task? Incremental evolution strategies

Next Class: Developmental Encoding The power of reuse Prior work Biological underpinnings The future A Taxonomy for Artificial Embryogeny A Taxonomy for Artificial Embryogeny by Kenneth O. Stanley and Risto Miikkulainen (2003)