2. What is Genetic Programming?
Genetic programming is a model of programming which
uses the ideas (and some of the terminology) of biological
evolution to handle a complex problem. …
Genetic programming can be viewed as an extension of the
genetic algorithm, a model for testing and selecting the best
choice among a set of results, each represented by a string.
3. Genetic Algorithm
Genetic Algorithm:
• It is a part of evolutionary computing.
• Adaptive heuristic search algorithm based on evolutionary ideas
of natural selection and genetics.
4. Biological Back view
GA’s are inspired by Darwin's theory of evolution:
‘Survival of the Fittest’.
In nature, evolution is mostly determined by natural
selection or different individuals competing for resources in
the environment. Those individuals that are better are more
likely to survive and propagate their genetic material.
6. Evolutionary Computing
Evolutionary Algorithm(EA) is a subset of Evolutionary
Computing(EC) which is a subfield of Artificial Intelligence(AI).
Evolutionary Computing: Represents powerful search and
optimized paradigm.
Evolutionary Algorithm: Involve selection, recombination,
random variation, and competition.
8. Genetic Algorithm
Genetic Algorithm: Represents the main paradigm of
Evolutionary Computing.
• GA’s simulate natural evolution, mimicking processes the
nature uses: selection, cross over, mutation and accepting.
• GAs simulate the survival of the fittest among individuals over
consecutive generation for solving a problem.
9. Genetic Algorithm Cycle
children
reproduction modification
modified
parents children
population evaluation
evaluated children
deleted
members
discard
10. Genetic Operators
• Cross over: Exchange of Genetic material (substrings) denoting
rules, structural components, features of a machine learning,
search or optimization problem.
• Selection: The application of the fitness criterion to choose
which individuals from a population will go on to reproduce.
11. Genetic Operators
• Replication: The propagation of individuals from one generation
to next.
• Mutation: The modification of chromosomes for single
individual.
12. Population
population
Chromosomes could be:
– Bit strings (0101 ... 1100)
– Real numbers (43.2 -33.1 ... 0.0 89.2)
– Permutations of element (E11 E3 E7 ... E1 E15)
– Lists of rules (R1 R2 R3 ... R22 R23)
– Program elements (genetic programming)
– ... any data structure ...
13. Reproduction
children
reproduction
parents
population
Parents are selected at random with selection chances biased in relation to
chromosome evaluations.
14. Chromosome Modification
children
modification
modified children
• Modifications are stochastically triggered
• Operator types are:
– Mutation
– Crossover (recombination)
15. Mutation
Before: (1 0 1 1 0 1 1 0)
After: (0 1 1 0 0 1 1 0)
Before: (1.38 -69.4 326.44 0.1)
After: (1.38 -67.5 326.44 0.1)
• Causes movement in the search space
(local or global)
• Restores lost information to the population
16. Cross Over
*
P1 (0 1 1 0 1 0 0 0) (0 1 0 0 1 0 0 0) C1
P2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2
Crossover is a critical feature of genetic
algorithms:
– It greatly accelerates search early in evolution of a
population
– It leads to effective combination of schemata (sub solutions
on different chromosomes)
17. Evaluation
modified
evaluated children
children
evaluation
• The evaluator decodes a chromosome and assigns it a fitness
measure
• The evaluator is the only link between a classical GA and the
problem it is solving
18. Deletion
population
discarded members
discard
• Generational GA:
entire populations replaced with each iteration
• Steady-state GA:
a few members replaced each generation
19. Pseudo Code
BEGIN
INITIALISE POPULATION with random candidate solution
EVALUATE each candidate;
REPEAT UNTILL (candidate termination condition) is satisfied DO
1. SELECT parents;
2. RECOMBINE pairs of parents;
3. MUTATE the resulting offspring;
4. SELECT individual or the next generation;
END
20. Conclusion
Genetic Algorithms provide a comprehensive search
methodology for machine learning and optimization. It been
shore to be efficient and powerful through many data mining
applications that use optimization and classification