Introduction
Genetic programming falls into the category of
evolutionary algorithms.
Genetic algorithms vs. genetic programming.
Concept developed by John Koza.
Types of research
Determining which problem domains genetic
programming can successfully be applied to and
compare GP with other AI techniques.
Applying genetic programming to derive solutions to
problems not previously solved.
Genetic Programming
Algorithm
Create the initial population
Repeat
Evaluate the population
Select parents for the next generation
Apply genetic operators
Until the termination criteria are met
Symbolic Regression Problem
Given
x:
11 , 4 , 1 , 8 , 5 , 9 , 3 , 7 , 2 , 6
y:
1742400.0 , 3600.0 , 0.0 , 254016.0 , 14400.0 ,
518400.0 , 576.0 , 112896.0 ,
36.0, 44100.0
What function does y represent?
What else do we know?
x forms part of the function
One or more of +,

, /, *, sqrt forms part of the function
Fitness
Cases
Terminal set
Function Set
The Artificial Ant Problem
What are the moves that must be made by the
ant to pick up all the food pellets? (Note: the
shaded squares represent food pellets)
Legal Moves:
Move left
•
Move right
•
Move up
•
Move down
•
Pick up food
Function
Set
Terminals and Functions
The terminal set contains a variable
representing each input to a problem.
The terminal set may also include constants and
operators that do not take any arguments.
The function set consists of operators or legal
moves, e.g. +, if, for, move

left.
Terminals and functions are collectively referred
to as primitives.
Closure and sufficiency.
Extraneous primitives degrade system
performance.
Representing an Individual
Parse trees are commonly used to represent
each member of the population.
Each tree is constructed by randomly choosing
elements from the function and terminal sets
F = { + ,

, * , / }
T = { x , y }
F = { + ,

,
*
, / }
F = {
+
,

, * , / }
F = { + ,

, * , / }
T = {
x
, y }
T = { x ,
y
}
T = {
x
, y }
T = { x , y }
A maximum tree depth must
be specified as a GP parameter
Comments 0
Log in to post a comment