Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.

Slides:



Advertisements
Similar presentations
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Advertisements

GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Doug Downey, adapted from Bryan Pardo, Machine Learning EECS 349 Machine Learning Genetic Programming.
Learning to Advertise. Introduction Advertising on the Internet = $$$ –Especially search advertising and web page advertising Problem: –Selecting ads.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Chapter 14 Genetic Algorithms.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
On the Application of Artificial Intelligence Techniques to the Quality Improvement of Industrial Processes P. Georgilakis N. Hatziargyriou Schneider ElectricNational.
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
Genetic Programming Chapter 6. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Programming GP quick overview Developed: USA.
1 Analysis - Improving GP with Statistics Chap. 8 발표자 : 김정집.
Genetic Algorithm.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Automatically Defined Functions Used to evolve modular programs Architecture implemented by Koza Architecture implemented by Bruce Function calls A critical.
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Evolutionary Computation Stefano Cagnoni University of Parma, Italy.
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
1 Chapter 14 Genetic Algorithms. 2 Chapter 14 Contents (1) l Representation l The Algorithm l Fitness l Crossover l Mutation l Termination Criteria l.
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
7. Genetic Programming and Emergent Order GP-Seminar 신수용.
Artificial Intelligence Chapter 4. Machine Evolution.
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Programming. GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically applied to: machine learning tasks (prediction, classification…)
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #12 2/20/02 Evolutionary Algorithms.
2101INT – Principles of Intelligent Systems Lecture 11.
Genetic Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 6.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
GENETIC PROGRAMMING. THE CHALLENGE "How can computers learn to solve problems without being explicitly programmed? In other words, how can computers be.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Genetic Programming COSC Ch. F. Eick, Introduction to Genetic Programming GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Blocks World Problem. The CS Terminal Specifies the block at the top of the stack. Example CS evaluates to E Note: Evaluates to nil if the stack is empty.
John R. Koza [Edited by J. Wiebe] 1. GENETIC PROGRAMMING 2.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
GP FOR ADAPTIVE MARKETS Jake Pacheco 6/11/2010. The Goal  Produce a system that can create novel quantitative trading strategies for the stock market.
Genetic Programming.
Chapter 14 Genetic Algorithms.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Evolution strategies and genetic programming
Multy- Objective Differential Evolution (MODE)
Genetic Programming Chapter 6.
Genetic Programming.
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
Presentation transcript:

Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat A blessing or a curse?

Lack of Genetic Diversity Duplicate individuals Higher mutation application rates Creation operator Similar individuals Detect lack of diversity Similarity indexes Introducing dissimilar individuals

Example: Similarity Index Tree 1 Tree 2 Is Tree1 similar to Tree2 Index 1: 3 Index 2: 3/7

Selection Noise or Variance What is selection noise? Multiple runs Multiple populations Interbreeding

Destructive Effects of Genetic Operators One of the destructive effects of crossover is that it breaks up good building blocks that could form part of a solution. Another destructive effect is that it may insert a good building block into an individual that does not make proper use of it. Crossover is destructive approximately seventy five percent of the time. The closer a tree is to a solution the more susceptible it is to the destructive effects of crossover. Experiments conducted indicate that the percentage of destructive crossover remains high until the end of a run.

Monitoring the Effects of Crossover Due to the destructive effects of crossover the application of the crossover operator must be monitored during a GP run. Method 1: The average fitness of the parents must be compared with the average fitness of the offspring. Method 2: The fitness of one parent is compared with the fitness of one child. However, this approach presents the problem of how the child and parent should be chosen. Non-destructive operators

Methods for Dealing with Destructive Effects The Macromutation Operator Brood Recombination Similar Parents Intelligent Crossover Context-sensitive Crossover Explicitly Defined Introns (EDIs)

The Macromutation Operator A single parent is selected using the standard selection methods. A new individual is created using the initial population generation process. Crossover is applied to both these individuals. If the offspring has a fitness value greater than or equal to the fitness of its parent it forms part of the new population, else it is discarded. The macromutation operator has not been widely tested and has been successfully applied to only one problem domain.

Brood Recombination GP Parameter: A brood size N must be specified. Two parents are selected. Standard crossover is applied to the parents N times creating N pairs of offspring. The offspring is evaluated for fitness and sorted according to their fitness values. The best two offspring are selected as the result of brood selection and the rest of the offspring are discarded. One of the disadvantages of this method is the time required to evaluate all 2N offspring.

Similar Parents Researchers are of the opinion that the problems experienced with the crossover operator can be attributed to the fact that there are differences between the biological crossover and GP crossover. Biological crossover is only applied to two individuals that are homologous with respect to their function and structure. Similar parents: Arity Node types

Intelligent Crossover An intelligent crossover operator is used in the PADO – The operator is evolved as part of the evolutionary process. Intelligent operator used by Banzhaf: A performance measure is calculated for each subtree. This performance value is used to determine which subtrees to insert into other trees, and which to replace.

Context-Sensitive Crossover A context-sensitive crossover operator will allow only “similar” points to be swapped. Similar points Same arity Same function type Same label How does this effect convergence?

Explicitly Defined Introns This approach involves adding introns to an individual to reduce the destructive effects of crossover. Explicitly defined introns usually take the form of real or integer values inserted between every two nodes in an individual. Example:

Cloning Cloning caused by crossover The use of crossover together with a depth limit can result in the crossover operator merely producing clones of the parents and hence causing the GP process to stagnate. Crossover which swaps terminals Crossover which replaces whole trees Variety

Preventing Cloning Do not use the reproduction operator. An increase in selective pressure. Detect when an offspring is identical to one of its parents. This information can be used to reduce the GP run time or increase the variety. The first of these is achieved by copying the fitness value of parents for offspring that are clones instead of re-evaluating the offspring. The latter is achieved by not allowing the production of duplicates.

Introns and Bloat An intron is redundant code. Examples: Code which does nothing,e.g. NOT(NOT(X)), (+ X 0) Code which is not executed, e.g. (IF (2==1)...X) The emergence of introns has been described as a protective response to the destructive effect of the crossover operator. Introns grow exponentially towards the end of a run. This exponential growth of introns is called bloat and causes the GP algorithm to stagnate.

Types of Introns Local introns - These are functions that have no effect except to pass on the values that were passed to them. Hierarchical introns - These are functions which contain one or more arguments that will be ignored, e.g. an if-else statement. Sibling (horizontal) introns - These functions undo the effect of a function represented by a sibling tree. e.g. when a subtree has its contributions to a memory location overwritten by another subtree after it.

Reducing Introns and Bloat The editing operator (+ x 0) is replaced by x All the introns will not be removed Increased mutation rates Parsimony pressure using a penalty function Weighting size and correctness Pareto fitness When to apply the penalty function The use of Automatically Defined Functions (ADFs)