A.E. Eiben and J.E. Smith, Introduction To Evolutionary Computing Genetic Programming
A.E. Eiben and J.E. Smith, Introduction To Evolutionary Computing Genetic Programming
Attributed features:
competes with neural nets and alike
needs huge populations (thousands)
slow
Special:
non-linear chromosomes: trees, graphs
mutation possible but not necessary (disputed!)
Representation
Tree structures
Recombination
Exchange of subtrees
Mutation
Parent selection
Fitness proportional
Survivor selection
Generational replacement
No of
children
Salary
Marital
status
OK?
ID-1
45000
Married
ID-2
30000
Single
ID-3
40000
Divorced
A possible model:
IF (NOC = 2) AND (S> 80000) THEN good ELSE bad
In general:
IF formula THEN good ELSE bad
Only unknown is the right formula, hence
Our search space (phenotypes) is the set of formulas
Natural fitness of a formula: percentage of well classified
cases of the model it stands for
Natural representation of formulas (genotypes) is: parse trees
AND
NOC
>
80000
( x 3)
Logical formula
(x
Program
true)
(( x
y
5 1
y)
i =1;
while (i < 20)
{
i = i +1
}
(z
(x
y)))
( x 3)
y
5 1
(x
true)
(( x
y)
(z
(x
y)))
i =1;
while (i < 20)
{
i = i +1
}
Compare
GA scheme using crossover AND mutation
sequentially (be it probabilistically)
GP scheme using crossover OR mutation
(chosen probabilistically)
GA flowchart
GP flowchart
Parent 1
Child 1
Parent 2
Child 2
Survivor selection:
Typical: generational scheme (thus none)
Recently steady-state is becoming popular for its elitism
Trees for data fitting vs. trees (programs) that are really
executable
Execution can change the environment the calculation of
fitness
Example: robot controller
Fitness calculations mostly by simulation, ranging from
expensive to extremely expensive (in time)
But evolved controllers are often to very good
Is GP:
The art of evolving computer programs ?
Means to automated programming of
computers?
GA with another representation?