Genetic Algorithms, Part 2. Evolving (and co-evolving) one-dimensional cellular automata to perform a computation.

Slides:



Advertisements
Similar presentations
Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.
Advertisements

Genetic Algorithms in Problem Solving EVOLVING COMPUTER PROGRAMS (1) t Evolving Lisp Programs Keplers Third Law: P 2 = cA 3 PROGRAM ORBITAL_PERIORD.
Genetic Algorithms (Evolutionary Computing) Genetic Algorithms are used to try to “evolve” the solution to a problem Generate prototype solutions called.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
The Dominance Tournament Method of Monitoring Progress in Coevolution Speaker: Lin, Wei-Kai (2009/04/30) 1.
Genetic Algorithms. Some Examples of Biologically Inspired AI Neural networks Evolutionary computation (e.g., genetic algorithms) Immune-system-inspired.
Coevolutionary Learning with Genetic Algorithms. Problem for learning algorithms: How to select “training environments” appropriate to different stages.
Genetic Algorithms Chapter 9, Complexity: A Guided Tour.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Evolutionary Computation Melanie Mitchell Portland State University and Santa Fe Institute Complex Systems Summer School Thursday June 19, 2008 Copyright.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Introduction to Genetic Algorithms Yonatan Shichel.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Co-Evolution Ata Kaban University of Birmingham. F.Polking ( Cheetah: mph, for up to 100 yards Thompson's.
Evolutionary Computation and Co-evolution Alan Blair October 2005.
Genetic Algorithm for Variable Selection
Genetic Algorithms Learning Machines for knowledge discovery.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Brandon Andrews.  What are genetic algorithms?  3 steps  Applications to Bioinformatics.
Genetic Programming.
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Introduction to Genetic Algorithms and Evolutionary Computation
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
CS 484 – Artificial Intelligence1 Announcements Lab 4 due today, November 8 Homework 8 due Tuesday, November 13 ½ to 1 page description of final project.
More on coevolution and learning Jing Xiao April, 2008.
Coevolutionary Models A/Prof. Xiaodong Li School of Computer Science and IT, RMIT University Melbourne, Australia April.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
George F Luger ARTIFICIAL INTELLIGENCE 5th edition Structures and Strategies for Complex Problem Solving Machine Learning: Social and Emergent Luger: Artificial.
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Friday, 16 February 2007 William.
GENETIC ALGORITHMS.  Genetic algorithms are a form of local search that use methods based on evolution to make small changes to a popula- tion of chromosomes.
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
Algorithms and their Applications CS2004 ( ) 13.1 Further Evolutionary Computation.
1 Genetic Algorithms and Ant Colony Optimisation.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Algorithms Genetic algorithms provide an approach to learning that is based loosely on simulated evolution. Hypotheses are often described by bit.
1 Danny Hillis and Co-evolution Between Hosts and Parasites I 590 4/11/2005 Pu-Wen(Bruce) Chang.
CAP6938 Neuroevolution and Artificial Embryogeny Competitive Coevolution Dr. Kenneth Stanley February 20, 2006.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Competition and Cooperation
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.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
George Yauneridge.  Machine learning basics  Types of learning algorithms  Genetic algorithm basics  Applications and the future of genetic algorithms.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Genetic Algorithm (Knapsack Problem)
Genetic Algorithms.
Evolutionary Algorithms Jim Whitehead
Evolution Strategies Evolutionary Programming
Dr. Kenneth Stanley September 20, 2006
An Overview of Evolutionary Cellular Automata Computation
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Searching for solutions: Genetic Algorithms
Beyond Classical Search
Coevolutionary Automated Software Correction
Presentation transcript:

Genetic Algorithms, Part 2

Evolving (and co-evolving) one-dimensional cellular automata to perform a computation

One-dimensional cellular automata

Rule:

One-dimensional cellular automata Rule:

One-dimensional cellular automata Rule:

One-dimensional cellular automata Rule:

One-dimensional cellular automata Rule:

Can the complex dynamics be harnessed by evolution to perform collective information processing?

A task requiring collective computation in cellular automata

Design a cellular automata to decide whether or not the initial pattern has a majority of “on”cells.

majority on initial

majority on initial final

majority offmajority on initial final

majority offmajority on initial final

majority offmajority on initial final How to design a cellular automaton that will do this?

We used cellular automata with 6 neighbors for each cell: Rule:......

A candidate solution that does not work: Local majority voting

Evolving cellular automata with genetic algorithms Create a random population of candidate cellular automata rules The “fitness” of each cellular automaton is how well it performs the task. (Analogous to surviving in an environment.) The fittest cellular automata get to reproduce themselves, with mutations and crossovers. This process continues for many generations.

The “chromosome” of a cellular automaton is an encoding of its rule table: Rule table: Chromosome

Create a random population of candidate cellular automata rules: rule 1: rule 2: rule 3: rule 100:

Calculating the Fitness of a Rule For each rule, create the corresponding cellular automaton. Run that cellular automaton on many initial configurations. Fitness of rule = fraction of correct classifications

rule 1: Create rule table For each cellular automaton rule in the population:

Run corresponding cellular automaton on many random initial lattice configurations... incorrectcorrect etc. rule 1 rule table: Fitness of rule = fraction of correct classifications

rule 1: Fitness = 0.5 rule 2: Fitness = 0.2 rule 3: Fitness = 0.4. rule 100: Fitness = 0.0 Select fittest rules to reproduce themselves rule 1: Fitness = 0.5 rule 3: Fitness = 0.4. GA Population:

Parents: Children: Create new generation via crossover and mutation: mutate rule 1: rule 3:

Parents: Children: Create new generation via crossover and mutation: mutate rule 1: rule 3:

Parents: Children: Create new generation via crossover and mutation: mutate rule 1: rule 3:

Parents: Children: Create new generation via crossover and mutation: mutate rule 1: rule 3:

Parents: Children: Create new generation via crossover and mutation: rule 1: rule 3:

Parents: Children: Create new generation via crossover and mutation: Continue this process until new generation is complete. Then start over with the new generation. Keep iterating for many generations. rule 1: rule 3:

majority on A cellular automaton evolved by the genetic algorithm majority off

majority on A cellular automaton evolved by the genetic algorithm majority off How does it perform the computation?

How do we describe information processing in complex systems?

“simple patterns”: black, white, checkerboard

Simple patterns filtered out

“particles”

laws of “particle physics”

Level of particles can explain:

–Why one CA is fitter than another

Level of particles can explain: –Why one CA is fitter than another –What mistakes are made

Level of particles can explain: –Why one CA is fitter than another –What mistakes are made –How the GA produced the observed series of innovations

Level of particles can explain: –Why one CA is fitter than another –What mistakes are made –How the GA produced the observed series of innovations Particles give an “information processing” description of the collective behavior

Level of particles can explain: –Why one CA is fitter than another –What mistakes are made –How the GA produced the observed series of innovations Particles give an “information processing” description of the collective behavior ----> “Algorithmic” level

How the genetic algorithm evolved cellular automata

generation 8

How the genetic algorithm evolved cellular automata generation 8 generation 13

How the genetic algorithm evolved cellular automata generation 17

How the genetic algorithm evolved cellular automata generation 17 generation 18

How the genetic algorithm evolved cellular automata generation 33

How the genetic algorithm evolved cellular automata generation 33 generation 64

Cellular Automata Traditional GA (with crossover) 20% Traditional GA (mutation only) 0% Percentage of successful runs

Cellular Automata Traditional GA (with crossover) 20% Traditional GA (mutation only) 0% Percentage of successful runs Problem: GA often gets stuck in local optima, with “too easy” training examples

Problem for learning algorithms: How to select training examples appropriate to different stages of learning? One solution: Co-evolve training examples, using inspiration from host-parasite coevolution in nature.

Host-parasite coevolution in nature Hosts evolve defenses against parasites Parasites find ways to overcome defenses Hosts evolve new defenses Continual “biological arms race”

Heliconius-egg mimicry in Passiflora

Darwin recognized the importance of coevolution in driving evolution

Coevolution was later hypothesized to be major factor in evolution of sexual reproduction

Coevolutionary Learning

Candidate solutions and training examples coevolve.

Coevolutionary Learning Candidate solutions and training examples coevolve. –Fitness of candidate solution (host): how well it performs on training examples.

Coevolutionary Learning Candidate solutions and training examples coevolve. –Fitness of candidate solution (host): how well it performs on training examples. –Fitness of training example (parasite): how well it defeats candidate solutions.

Sample Applications of Coevolutionary Learning

Competitive: –Coevolving minimal sorting networks (Hillis) Hosts: Candidate sorting networks Parasites: Lists of items to sort

Sample Applications of Coevolutionary Learning –Game playing strategies (e.g., Rosin & Belew; Fogel; Juillé & Pollack) Hosts: Candidate strategies for Nim, 3D Tic Tac Toe, backgammon, etc. Parasites: Another population of candidate strategies

–HIV drug design (e.g., Rosin) Hosts: Candidate protease inhibitors to match HIV protease enzymes Parasites: Evolving protease enzymes

–Robot behavior (e.g., Sims; Nolfi & Floreano) Hosts: Robot control programs Parasites: Competing robot control programs

Cooperative: –Cooperative coevolution of neural network weights and topologies (e.g., Potter & De Jong; Stanley, Moriarty, Miikkulainen)

Our Experiments (Mitchell, Thomure, & Williams, 2006) Spatial Non-spatial Coevolution Evolution

Problem domains used in experiments 1.Function induction: 2D function-induction task (Pagie & Hogeweg, 1997) –Evolve function tree to approximate

–Hosts are candidate trees Function set: {+, -, , %} Terminal set: {x, y,  } +  * yxy  Example of candidate tree

–Parasites are (x,y) pairs

Fitness (h) = Average inverse error on sample of p Fitness (p): Error of h on problem p Success = Correct host (on complete set of problems) in population for 50 generations 75

2.Evolving cellular automata Problem is to design 1D CA that classifies initial configurations (ICs) as “majority 1s” or “majority 0s”.

Spatial Coevolution

2D toroidal lattice with one host (h) and one parasite (p) per site

Spatial Coevolution hphp hphp hphp hphp hphp 2D toroidal lattice with one host (h) and one parasite (p) per site

Spatial Coevolution hphp hphp hphp hphp hphp 2D toroidal lattice with one host (h) and one parasite (p) per site

Spatial Coevolution hphp hphp hphp hphp hphp 2D toroidal lattice with one host (h) and one parasite (p) per site

Spatial Coevolution hphp hphp hphp hphp hphp Each h is replaced by mutated copy of winner of tournament among itself and 8 neighboring hosts. 2D toroidal lattice with one host (h) and one parasite (p) per site

Spatial Coevolution hphp hphp hphp hphp hphp Each h is replaced by mutated copy of winner of tournament among itself and 8 neighboring hosts. Each p is replaced by mutated copy of winner tournament among itself and 8 neighboring parasites. 2D toroidal lattice with one host (h) and one parasite (p) per site

Non-Spatial Coevolution

No spatial distribution of host and parasite populations

Non-Spatial Coevolution No spatial distribution of host and parasite populations hosts parasites

Non-Spatial Coevolution No spatial distribution of host and parasite populations hosts parasites

Non-Spatial Coevolution No spatial distribution of host and parasite populations hosts parasites

Non-Spatial Coevolution No spatial distribution of host and parasite populations Each h is replaced by mutated copy of winner of tournament among itself and 8 randomly chosen hosts. hosts parasites

Non-Spatial Coevolution No spatial distribution of host and parasite populations Each h is replaced by mutated copy of winner of tournament among itself and 8 randomly chosen hosts. hosts parasites Each p is replaced by mutated copy of winner tournament among itself and 8 randomly chosen parasites.

Spatial Evolution: –Same as spatial coevolution, except parasites don’t evolve. –A new population of random parasites is generated at each generation.

Non-Spatial Evolution: –Same as non-spatial coevolution, except parasites don’t evolve. –A new sample of 100 random parasites is generated at each generation. –Fitness of a host is classification accuracy on these 100 randomly generated parasites

Results Function InductionCellular Automata Spatial Coev.78% (39/50) 67% (20/30) Non-Spatial Coev.0% (0/50) 0% (0/20) Spatial Evol.14% (7/50) 0% (0/30) Non-Spatial Evol.6% (3/50) 0% (0/20) Percentage of successful runs

In short: Spatial coevolution significantly out- performs other methods on both problems

Analysis Why was spatial coevolution successful? See our papers…

Possible applications to real-world problems –Drug design to foil evolving viruses/bacteria –Coevolving software/hardware with test cases –Evolving game-playing programs –Coevolving computer security systems with possible threats