Genetic Programming: Examples and Theory: Natural Computing
Genetic Programming: Examples and Theory: Natural Computing
Lecture 9
Michael Herrmann
[email protected]
phone: 0131 6 517177
Informatics Forum 1.42
18/10/2011
Genetic Programming:
Aim:
To nd a program to transform any initial state into UNIVERSAL
Terminals:
CS returns the current stack's top block
Functions:
MS(x) move block x from table to the current stack. Return
T if does something, else NIL.
Generation 10: (EQ (DU (MT CS) (NOT CS)) (DU (MS NN) (NOT NN)))
166 tness cases
Koza shows how to amend the tness function for ecient, small
programs: Combined tness measure rewards
(progn3
left
)
)
Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming.
Can you trust your results? Fitness: From tness cases using
crossvalidation (e.g. for symbolic regression)
Halting probability
Bloat is an increase in
program size that is not
accompanied by any
corresponding increase in
tness. Problem: The
optimal solution might still
From: Genetic Programming by Riccardo Poli
be a large program
Average program size over 500 generations for multiple runs of the
6-MUX problem [decode a 2-bit address and return the value from the
corresponding register] with various forms of parsimony pressure.
Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming.
GP applied to one-then-zeros
problem: independently of tree
structure tness is maximal if
all nodes have a identical sym-
bol. Expected to bloat, but
doesn't. Why?
E. Crane and N. McPhee The Eects of Size and Depth Limits on Tree Based Genetic Programming
Variable size tree structure does not permit the same denition
of a schema as in GA
E.g. H = ( x (+y )
represents the programs
{(+x (+x y ) , (+x (+y y )) , (x (+y x )) , . . . }
(prex notation, can be terminal or non-terminal)
This means that the ospring will have the right shape and
primitives to match the schema of interest if and only if, after
the excision of the chosen subtree, the rst parent has shape
and primitives compatible with the schema, and the subtree to
be inserted has shape and primitives compatible with the
schema.
Choosing crossover points 1 1
Pr i j k l =
and in shapes and Nodes in shape k Nodes in shape l
k l such that if
Selecting parents with shapes and
Pr crossed over at points i and j produce and ospring in H
k such that its upper
Selecting a root-donating parent with shape
Pr part w.r.t crossover point i matches the upper part of H w.r.t. j