Genetic Programming
The Generational Control Model
This is the control model that is traditionally used by GP systems.
There are a distinct number of generations performed by the algorithm.
In each generation there is a complete population of individuals.
The new population is created from the old population which it replaces by applying genetic operators to the individuals.
The size of the population remains constant throughout a run of the genetic programming system.
Genetic ProgrammingGenerational Algorithm
Create the initial population Repeat
Evaluate the population Select parents for the next generation Apply genetic operators
Until the termination criteria are met
Genetic Programming
Generational Control Model Example
Generation 0
c%
c b
*
a dd
+
c *
c
*
c c
+
-
cb cc
a
+
-*
c
*
e f c% ca
c b
Generation 1
Mutate
+
-*
c
*
e f cab
Reproduce
*
a dd
Mutate
c%
b*
c
*
a a
Crossover
c
+
a
+
*
c
*
c c
-
cb cc
Genetic ProgrammingSteady-State Control Model
This model does not implement a fixed number of generations.
A single population of a fixed size is maintained during a genetic programming run.
Newly created individuals replace the individuals with poor fitness in the population.
Inverse selection methods are used for choosing which members of the population to replace. Inverse fitness proportionate selection Inverse tournament selection
Genetic Programming
Steady-State Example Algorithm
Create an initial population. Evaluate each member of the population Use a selection method to select members to apply the
genetic operators to. These are referred to as winners. Apply the genetic operators to the winners. Use inverse selection methods to select members of the
population to replace with the newly created offspring. Replace the losers in the population with the offspring. Repeat the second through to the seventh step until the
termination criterion is met.
Genetic Programming
Steady-State Control Model Example
Population
c%
c b
*
a dd
+
c *
c
*
c c
+
-
cb cc
a
+
-*
c
*
e f c% ca
c b
17.25 23.76
10.1133.32
15.33
Updated Population
mutate
%
a b
*
dd
*
a dd
+
-
cb cc
a
+
-*
c
*
e f c% ca
c b
replace
+
c *
c
*
c c
Genetic Programming
Varying Population Size Control
In this case a single population is maintained, the size of which changes throughout a GP run.
This algorithm enables the population size to grow and shrink according to the state of the search.
If the fitness is high then the population grows. If the neighbourhood of an optimal solution is
found the population size is decreased. In the neighbourhood of a local optimum the
size of the population is increased.