Professional Documents
Culture Documents
AGENDA
What is GP
GPdotNET user perspective
Running GPdotNET on Fedora17
Demos with real data samples
GPdotNET Architecture
Thread-Safe Random number generator
Memory Pooling
ParallelFX implementation in GPdotNET
Demos
GENETIC
ALGORITHM
Genetic Algorithm (GA) is heuristic method
that mimics the proces of natural selection.
GA represents population of strings
(chromosomes) which encode posible
solutions (phenotypes)
In GA every chromosom is defined with
fixed size.
Most GA problems used chromsomes in
form of string of binary numbers.
GENETIC
PROGRAMMING
GP is variation of GA, with diferent
Chromosome sizes.
GP envolves computer programs,
represented as tree structure.
Every tree contains: terminals and functions
Inner nodes represent functions
Outer nodes represent terminals
GP
FLOWCHART
A COMPUTER
PROGRAM IN C
int foo (int time)
{
int temp1, temp2;
if (time > 10)
temp1 = 3;
else
temp1 = 4;
temp2 = temp1 + 1 + 2;
return (temp2);
}
Time
Output
10
11
12
OUTPUT OF C
PROGRAM
PROGRAM TREE
CREATING RANDOM
PROGRAMS
Available functions
F = {+, -, *, %, IFLTE}
Available terminals
T = {X, Y, Random-Constants}
The random programs are:
Of different sizes and shapes
Syntactically valid
Executable
GP GENETIC
OPERATIONS
Reproduction
Mutation
Crossover (sexual recombination)
Others
MUTATION
OPERATION
CROSSOVER
OPERATION
REPRODUCTION
OPERATION
Select parent probabilistically
based on fitness
Copy it (unchanged) into the next
generation of the population
RUNNING GP
GPdotNET
GPdotNET
Implementation
Core
Engine
Util
Common.Tools
Application
Chromosome
implementation
-
Memory Pooling
Chromosome Level
Simple Stack implementation of
Pool
Memory Pooling has to be Thread Safe
DEMO
MEMORY POOLING
IMPLEMENTATION
Random Number
Generation
DEMO
RANDOM IMPLEMENTATION
Parallel GP
3 kind of parallelisation in GP
Fitness level of parallelisation
Chromosome level of parallelisation
Level on Independent runs
Fitness level GP
paralelization
Chromosome level of
Paralelization
Paralelization at level
of Independent runs
DEMO
PARALIZATION IN GPDOTNET
More info
www.genetic-programming.org oficial web page
http://gpdotnet.codeplex.com
http://bhrnjica.wordpress.com/gpdotnet latest information
about the GPdotNET