Co-Evolution Ata Kaban University of Birmingham. F.Polking (http://www.art.com/asp/sp.asp?PD=10056007#) Cheetah: 60-70 mph, for up to 100 yards Thompson's.

Slides:



Advertisements
Similar presentations
© Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems Introduction.
Advertisements

Genetic Algorithms Genetic Programming Ata Kaban School of Computer Science University of Birmingham 2003.
Evolving Cooperative Strategies in Multi-Agent Systems Using a Coevolutionary Algorithm Cesario C. Julaton III, Ramanathan S. Thinniyam, Una-May O’Reilly.
EC – Tutorial / Case study Iterated Prisoner's Dilemma Ata Kaban University of Birmingham.
Evolutionary Computation For Backgammon david gabai.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
EvoNet Flying Circus Introduction to Evolutionary Computation Brought to you by (insert your name) The EvoNet Training Committee The EvoNet Flying Circus.
Genetic Algorithms, Part 2. Evolving (and co-evolving) one-dimensional cellular automata to perform a computation.
Coevolutionary Learning with Genetic Algorithms. Problem for learning algorithms: How to select “training environments” appropriate to different stages.
EvoNet Flying Circus Introduction to Evolutionary Computation Brought to you by (insert your name) The EvoNet Training Committee The EvoNet Flying Circus.
Object Recognition Using Genetic Algorithms CS773C Advanced Machine Intelligence Applications Spring 2008: Object Recognition.
Evolutionary Design By: Dianna Fox and Dan Morris.
Evolutionary Computation and Co-evolution Alan Blair October 2005.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Evolutionary Computation Application Peter Andras peter.andras/lectures.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Rohit Ray ESE 251. What are Artificial Neural Networks? ANN are inspired by models of the biological nervous systems such as the brain Novel structure.
Khaled Rasheed Computer Science Dept. University of Georgia
1 An Overview of Evolutionary Computation 조 성 배 연세대학교 컴퓨터과학과.
Lecture 2. Co-Evolution (II)
Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico.
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 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
More on coevolution and learning Jing Xiao April, 2008.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
Lecture 5. Niching and Speciation (2) 4 학습목표 진화로 얻어진 해의 다양성을 확보하기 위한 대표 적인 방법에 대해 이해한다.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Neural Networks Design  Motivation  Evolutionary training  Evolutionary design of the architecture.
Coevolution Chapter 6, Essentials of Metaheuristics, 2013 Spring, 2014 Metaheuristics Byung-Hyun Ha R2R3.
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.
Algorithms and their Applications CS2004 ( ) 13.1 Further Evolutionary Computation.
1 Genetic Algorithms and Ant Colony Optimisation.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Evolutionary Programming
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
1. Genetic Algorithms: An Overview  Objectives - Studying basic principle of GA - Understanding applications in prisoner’s dilemma & sorting network.
1 Danny Hillis and Co-evolution Between Hosts and Parasites I 590 4/11/2005 Pu-Wen(Bruce) Chang.
CITS7212: Computational Intelligence An Overview of Core CI Technologies Lyndon While.
1. Genetic Algorithms: An Overview 4 학습목표 GA 의 기본원리를 파악하고, Prisoner’s dilemma 와 sorting network 에의 응용 및 이론적 배경을 이해한 다.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Evolutionary Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 5.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Evolutionary Programming.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
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.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Genetic Programming.
Haploid-Diploid Evolutionary Algorithms
Chapter 14 Genetic Algorithms.
Evolutionary Programming
Haploid-Diploid Evolutionary Algorithms
Co-Evolution and Speciation
Evolutionary Programming
1. Genetic Algorithms: An Overview
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
Lecture 4. Niching and Speciation (1)
학습목표 공진화의 개념을 이해하고, sorting network에의 응용가능성을 점검한다
Genetic Programming Chapter 6.
Evolutionary Ensembles with Negative Correlation Learning
Coevolutionary Automated Software Correction
Presentation transcript:

Co-Evolution Ata Kaban University of Birmingham

F.Polking ( Cheetah: mph, for up to 100 yards Thompson's Gazelle, Greg Koch ( och/ Tommy2GregKoch_JPG.htm) Thompson's Gazelle: 50 mph...

Robb Hoenick ( The outcome (but about 50% of attempts are failures)

What is Co-Evolution? Fitness of an individual depends on other individuals –Fitness landscape changes –Fitness of an individual may be different in different runs Change in one individual will change the fitness landscape in others Remember the Iterated Prisoner’s Dilemma experiments? – the ones in which evolving strategies played against each other

Types of co-evolution By evaluation –Competitive –Cooperative By population-organisation –Inter-population –Intra-population

Example1: Sorting algorithm Goal: place the elements in a data structure (e.g. list or tree) in some specified order (e.g. numerical or alphanumeric) One approach in Knuth’s book is the so called sorting network (for fixed nos of elements) –Horizontal lines=elements in the list –Vertical arrows=comparisons to be made (in parallel) –If compared elements are in wrong order than swap Will look at the simple case of n=16 elements (e0—e15)

Designing sorting algorithms Goal: make them –correct –efficient (reduce no of comparisons) What is the minimum number of comparisons necessary for correct sorting? –hot Q around the ’60s (n=16 case) ’62: Bose & Nelson developed a net that needs 65 comparisons ’64: Batcher, Flyod, Knuth – 63 comparisons ’69: Shapiro – 62 comparisons ’69: Green – 60 comparisons ’80s: W.D. Hillis – can GA find an answer to this problem?

Encoding the sorting net –ordered list of pairs to be compared = phenotypes –considered nets of 60—120 comparisons –genotype: diploid chromosomes 1 individual = 15 pairs of 32 bit chromosomes, each encoding 4 comparisons See more details on M. Mitchell, pp. 21—27. Fitness measure: the percentage of cases sorted correctly –Problem: how to compute this? Test all possible inputs – slow Test fixed set of inputs? – which?

First trials –To foster speciation, individuals placed on a 2D grid (i.e. spatial distance between them) –Fitness computed from random subsamples –Half of population with lower fitness deleted – replaced with a copy of a surviving neighbor –Pairing in the local neighborhoods –Special crossover for diploids, followed by mutation with p_m = –Population size between 512—1million –5000 generation  result: GA found sorting net of 65 comparisons 

Why didn’t the GA do better? –After early generations, with randomly generated test cases used to compute fitness, the difficulty of test cases stayed roughly the same! Solution: Co-Evolution = evolve both algorithms and test cases! Algorithms try to sort Test cases try to ‘trip up’ algorithms  predator/prey (or host/parasite) relationship inspired from nature  as the algorithms got better, the test cases got harder (specifically targeting weaknesses in the networks) Result: 61 comparisons

Importance of the work: introduces new technique inspired by co- evolution. The results are convincing in that this new technique is potentially powerful. Inter-population competitive co-evolution

Example2: Game Playing Intra-population competitive co-evolution Task: evolve a backgammon player Problem: evaluation –Against human player –Against ‘conventional’ program –Against internet players Solution: co-evolution –Play against other evolving programs Intra-population –All genotypes are of the same type –Only one population

Co-Evolving Backgammon Players TD-Gammon –Grand Master level player –Learns by self-playing What makes it successful ? –Temporal-Difference Learning ? –Or simply self-playing ? Simple use of NN in game play: –Generate all legal moves –Feed them to the NN –Best output is new move –NN used to evaluate positions

Simple Backgammon Learner Evolve a NN that plays backgammon 1. Initial NN is NN(k) ; k=0; 2. Generate a mutant challenger of NNk: w‘(i,j) = w(i,j) + Gaussian (0, s); 3. If NN‘(k) is beaten by NN(k) NN(k+1) = NN(k) else NN(k+1) = 0.95 * NN(k) * NN‘(k) 4. k = k+1; go to step 2 unless finished

Setting –Uses fully connected feed-forward NN; initial weights 0s –No training for NNs ! –EA with population size 1 –Only simple mutation: add Gaussian noise to weights –No recombination –Performance 40% winning against a strong expert-trained program (PUBEVAL) after generations

Example3: Evolution of a complete robot Inter-population Cooperative Co-Evolution Task: Evolve Morphology and Behaviour of a robot –Structure –Control Evaluation: no problem –Simulation –But: slow Problem: Evolution –All-in-one is possible, but: –Very large search space Solution: Co-Evolution –Divide Problems –Evolve Structure and Control separately

GOLEM project, Pollack et. al

Coupling cooperative Co-Evolution Tight coupling (1) –Body-Individual and Controller-Individuals evolve into 'matched pair' –Body 'a' only works well with controller 'b' Option: Two-Part Genotype –Keep both genotypes in one Individual –Evolve both together Tight coupling (2) –Change in one might depend on change in the other –Can slow down evolution Option: delayed evaluation –Mutate morphology individuals –Evolve controller individuals (possibly more than one generation) –Assign fitness to morphology individuals

Example4: Pattern recognition Intra-population Cooperative Co-Evolution Taks: Evolve a NN to recognize a set of letters –Grey values fed into NN –Output classifies letters –Classification problem Co-Evolution: Divide and Conquer –Different Individuals specialize on different letters –Group output is combined into one by external mechanism (e.g. voting) Speciation

When and Why Co-Evolution? No fitness-function known –Bootstrapping by co-evolution Too many fitness cases –Co-Evolve fitness and cases Modularizable Problem –Divide and Conquer

Other examples Creative Design Systems –Evolve designs and design specifications Other Games –Tic-Tac-Toe –Prisoner's Dilema –Checkers Artificial Life –Complex simulated Ecosystems

Summary Co-Evolution is Everywhere Can be cooperative and competitive Can be in one population, or more than one An individual's fitness is not fixed in co- evolution Co-evolution is not well explored in Evolutionary Computation

References Mitchell, M, Introduction to Genetic Algorithms (book), MIT Press, 1996, pp.21—27. Pollack, J, Blair, A. and Land, M. (1996). Coevolution of A Backgammon Player. Proceedings Artificial Life V, C. Langton, (Ed), MIT Press. Available at: Pollack, Jordan B., Lipson, Hod, Hornby, Gregory S., and Funes, Pablo. Three Generations of Automatically Designed Robots. Artificial Life, 7:3, pg Available at: Darwen, P. J. and Yao, X. (1996). Automatic Modularization by Speciation. Third IEEE International Conference on Evolutionary Computation, available at: