What is Genetic Programming? Genetic programming is a model of programming whichuses the ideas (and some of the terminology) of biologicalevolution to handle a complex problem. … Genetic programming can be viewed as an extension of thegenetic algorithm, a model for testing and selecting the bestchoice among a set of results, each represented by a string.
Genetic AlgorithmGenetic Algorithm:• It is a part of evolutionary computing.• Adaptive heuristic search algorithm based on evolutionary ideas of natural selection and genetics.
Biological Back viewGA’s are inspired by Darwins 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.
Evolutionary ComputingEvolutionary Algorithm(EA) is a subset of EvolutionaryComputing(EC) which is a subfield of Artificial Intelligence(AI).Evolutionary Computing: Represents powerful search andoptimized paradigm.Evolutionary Algorithm: Involve selection, recombination,random variation, and competition.
Evolutionary Computing Selection Parents Population Reproduction Replacement Offspring
Genetic AlgorithmGenetic Algorithm: Represents the main paradigm ofEvolutionary Computing.• GA’s simulate natural evolution, mimicking processes thenature uses: selection, cross over, mutation and accepting.• GAs simulate the survival of the fittest among individuals overconsecutive generation for solving a problem.
Genetic Algorithm Cycle children reproduction modification modifiedparents children population evaluation evaluated childrendeletedmembers discard
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.
Genetic Operators• Replication: The propagation of individuals from one generation to next.• Mutation: The modification of chromosomes for single individual.
Population populationChromosomes 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 ...
Reproduction children reproduction parents populationParents are selected at random with selection chances biased in relation tochromosome evaluations.
Chromosome Modification children modification modified children• Modifications are stochastically triggered• Operator types are: – Mutation – Crossover (recombination)
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
Cross Over *P1 (0 1 1 0 1 0 0 0) (0 1 0 0 1 0 0 0) C1P2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2Crossover is a critical feature of geneticalgorithms: – It greatly accelerates search early in evolution of a population – It leads to effective combination of schemata (sub solutions on different chromosomes)
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
Deletion population discarded members discard• Generational GA: entire populations replaced with each iteration• Steady-state GA: a few members replaced each generation
Pseudo CodeBEGININITIALISE POPULATION with random candidate solutionEVALUATE 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
Conclusion Genetic Algorithms provide a comprehensive searchmethodology for machine learning and optimization. It beenshore to be efficient and powerful through many data miningapplications that use optimization and classification