Introduction to Evolutionary Computation/

advertisement
Introduction to Evolutionary Computation/
Evolutionary Computation
Tutorial 1
Ata Kaban
A.Kaban@cs.bham.ac.uk
http://www.cs.bham.ac.uk/~axk
School of Computer Science
University of Birmingham
2003
An example: find the maximal peak of the function
(difficult optimisation) – see Fig.1.
Solution – see Fig.2.
Another example: Prisoner's dilemma
• Abstract formulation through a payoff matrix
See Table 1.
• Individuals = strategies
• How to encode a strategy by a string?
• Let memory depth of previous moves=1
Fix a canonical order of cases:
A:
B:
– Case 1:
C
C
– Case 2:
C
D
– Case 3:
D
C
– Case 4:
D
D
e.g. strategy encoding (for A): ‘CDCD’
• Now let memory dept of previous moves=3
– How many cases? ………
• Case 1: ……..
• Case 2: ……..
• …
– How many letters are needed to encode a strategy as a string?
……………
– How many strategies there are? ………….
• Is that a large number?
• Experiment 2
– changing environment: the evolving strategies played against each other.
• Results
– Found strategies similar in essence with the winner human-designed strategy
• Idealised model of evolution & co-evolution
When to use Genetic Algorithms?
• The space to be searched is large
– What if it is not?
• The space to be searched is known not to be perfectly smooth and
unimodal
– Otherwise?
• The search space is not well understood
– If it is?
• Quickly finding a sufficiently good solution is enough
• Noisy data
– Think about it, why?
Types of evolutionary algorithms
• 1) Genetic Algorithms (GAs)
Proposed & studied by John Holland & his students
Numerical optimisation and adaptive systems design
– Simulate Darwinian Evolution
– Recombination (Crossover) important
– Mainly binary representation
– Schema Theorem classical GA theory
Types of Evolutionary Algorithms
• 2) Genetic Programming (GP)
Developed by Koza et al.
Evolved LISP programs
– Tree Representation
– Widest variety of applications
Term also used by De Garis for evolution of ANNs
Types of Evolutionary Algorithms
• 3) Evolutionary Programming (EP)
Developed by Fogel for simulated intelligence
Finite State Machine representation
– Close to Lamarckian inheritance
– No recombination
– Adaptive mutation (and others)
– Applied to phenotypes
Types of Evolutionary Algorithms
• 4) Evolution Strategies
Introduced by Rechenberg and Schwefel for numerical optimisation
Real valued representation
– Mutation-based
– Adaptive mutation
• What to do about programming exercises?
– If you complete a programming exercise, write up about half page text
on your findings. Send it to me by email (only the half page text, not
your code!). A.Kaban@cs.bham.ac.uk
– Will allocate a few minutes at tutorial lectures to present / discuss
interesting findings.
Fig.1.
Fig.2.
Table 1.
Cooperate Defect
Cooperate
3,3
0,5
Defect
5,0
1,1
Download