Why Evolution Is Not a Good Paradigm For Program Induction; A Critique of Genetic Programming John Woodward and Ruibin Bai.

Slides:



Advertisements
Similar presentations
Introduction to Evolution
Advertisements

Biologically Inspired Computing: Operators for Evolutionary Algorithms
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Evolutionary Computation Introduction Peter Andras s.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Genetic Algorithms (GAs)
13 Basics of Genetic Algorithms and some possibilities Peter Spijker Technische Universiteit Eindhoven Department of Biomedical Engineering Division of.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Evolutionary Computational Intelligence Lecture 8: Memetic Algorithms Ferrante Neri University of Jyväskylä.
7/2/2015Intelligent Systems and Soft Computing1 Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Programming.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Genetic Algorithm.
Evolutionary Intelligence
© Negnevitsky, Pearson Education, CSC 4510 – Machine Learning Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University.
Introduction to AI Michael J. Watts
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Genetic algorithms Prof Kang Li
Genetic Algorithms Michael J. Watts
Genetics Notes Article selections from “Introduction to Genetics” at wikipedia.org.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Canonical Representation Genetic Programming John Woodward and Ruibin Bai The University of Nottingham Ningbo.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
Fuzzy Genetic Algorithm
1 Machine Learning: Lecture 12 Genetic Algorithms (Based on Chapter 9 of Mitchell, T., Machine Learning, 1997)
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
EE459 I ntroduction to Artificial I ntelligence Genetic Algorithms Kasin Prakobwaitayakit Department of Electrical Engineering Chiangmai University.
© Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
 Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms n Introduction, or can evolution be intelligent? n Simulation.
09/20/04 Introducing Proteins into Genetic Algorithms – CSIMTA'04 Introducing “Proteins” into Genetic Algorithms Virginie LEFORT, Carole KNIBBE, Guillaume.
1. Genetic Algorithms: An Overview  Objectives - Studying basic principle of GA - Understanding applications in prisoner’s dilemma & sorting network.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
1. Genetic Algorithms: An Overview 4 학습목표 GA 의 기본원리를 파악하고, Prisoner’s dilemma 와 sorting network 에의 응용 및 이론적 배경을 이해한 다.
DNA replication ?  DNA replication- the basis for biological inheritance, is a fundamental process occurring in all living organisms to copy their DNA.
MISCONCEPTIONS ABOUT EVOLUTION BY NATURAL SELECTION
Contribution of second order evolution to evolutionary algorithms Virginie LEFORT July 11 th.
1 Autonomic Computer Systems Evolutionary Computation Pascal Paysan.
Life and Genetic Material. Defining Life Even in science there isn’t one single definition of Life Scientists try to make all living things fit into their.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genes in ActionSection 1 Section 1: Mutation and Genetic Change Preview Bellringer Key Ideas Mutation: The Basis of Genetic Change Several Kinds of Mutations.
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.
Warm-Up Using the images below as reference, what is the purpose of a museum and what are some commonalities between the various types of museums? Art.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Introduction to Genetic Algorithms
Chapter 14 Genetic Algorithms.
Introduction to Evolutionary Computing
Evolution Strategies Evolutionary Programming
Section 1: Mutation and Genetic Change
Intelligent Systems and Soft Computing
Basics of Genetic Algorithms (MidTerm – only in RED material)
Theory of Computation Turing Machines.
Natural Selection.
GENETIC ALGORITHMS & MACHINE LEARNING
Dr. Unnikrishnan P.C. Professor, EEE
Basics of Genetic Algorithms
1. Genetic Algorithms: An Overview
Machine Learning: UNIT-4 CHAPTER-2
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Beyond Classical Search
Presentation transcript:

Why Evolution Is Not a Good Paradigm For Program Induction; A Critique of Genetic Programming John Woodward and Ruibin Bai

My interest… We would not attempt to try to write computer programs without the constructs of 1.Reusable functions (in GP terminology ADFs), 2.Iteration (loops or repeat) 3.Memory (e.g. read-write arrays) So why don’t we allow GP this ability Where are the papers on evolving Turing Complete Programs? This suggests it is hard!!!

OUTLINE 1 Revisit natural evolution 1.genetic code – A T C G bases in DNA 2.Crossover – primary search operator 3.re-evaluation – aim of evolution? 4.limits of natural evolution – what evolution cannot do easily. 5.Why does evolution seem so successful? Because it solved self-imposed problems

OUTLINE 2 Re-examine genetic programming. 1.Non-biological description (mathematical) 2.Crossover – unsuitable? 3.number of loops in evolved programs (very few!) 4.manipulating syntax (what about semantics) 5.stochastic search for deterministic problems

GENETIC CODE 1 4 bases (A T C G) along DNA In groups of 3 (called codons) code for 21 amino acids (+ STOP). This is the minimum number. If only 2 bases per codon = 4*4=16 3 bases (64) and 4 bases (256)

GENETIC CODE 2 The codons do not randomly map to the amino acids! They are clustered together, often the last base of the 3 in a codon is redundant. This reduces the chances of a copying error. In fact we have a perfect code. But what if an error were to occur?

GENETIC CODE 3 Amino acids have different properties – acidic, hydrophobic … However different amino acids are clustered together So even if a wrong amino acid was coded for – the impact on the property of resulting protein is low. Genetic code is good at the job it does.

BIOLOGICAL CROSSOVER In biology, like genes are exchanged for like- genes in the crossover process. Template Skin-hair-eye color example. Parent1 brown-black-black Parent2 white-blonde-blue Child1 brown-brown-blue (possible) Child2 blue-white-blonde (highly improbably) Crossover is good for producing novel combinations of traits in a species. This sub-space is still large

RE-EVALUATION Magnets “appear” to repel/attract. Balls “appear” to roll to bottom of valley It “appears” the aim of evolution is to produce more “like individuals”. The more individuals in the current generation, the more likely the species will survive. If the number hits zero – the species is extinct (and therefore very unlikely to reappear). If everything become extinct, evolution has failed

LIMITS OF NATURAL EVOLUTION Some bacteria reproduce faster than it takes to copy their DNA! Nice solution Wheels are simple from an engineering perspective, but hard for evolution.  Bulldogs are artificially selected to have larger heads, which is not naturally selected, with the result bulldogs are born by cesarean section (humans have a fontella ).

WHY EVOLUTION SEEMS SUCCESSFUL Evolution has undoubtedly produced a vast array of interesting, simple/complex, creative solutions to some demanding problems. Evolution appears so successful as it is often solving self-imposed problems regarding survival. Basic problem: resource Advanced problem: competition Evolution is providing the solutions to the problems it is posing. A biological solution to a biological problem.

End of part 1 Natural evolution Start of part 2 Genetic programming.

NON-BIOLOGICAL DESCRIPTION Most crossover operators conserve the amount of genetic material, remaining faithful to biology. XO: P X P -> P X P and is just a binary operatory. Labeling thing influences the way we think about things (mathematical terminology is largely unbiased). Calling it “crossover” makes us think we should conserve the size of the programs. Could even be n-ary operator! “Thinking biologically” constrains us!!! I have even seen post-doc using ATCG for a problem where are binary representation was perfectly okay.

NON-BIOLOGICAL DESCRIPTION

GP - CROSSOVER Example Evolving a Word processor (wp) Template Font-hotkeys-input method WP1 arial-windows-dasher WP2 courier-unix-voice Child1 courier-windows-voice (viable variation) Child2 voice-arial-unix (unviable variation) The “purpose” of crossover is to “safely” search the sub-space of viable combinations -off-spring. It is not the position of the code, but the context!

NUMBER OF LOOPS - EVOLVED PROGRAMS

MANIPULATING SYNTAX How can “random” changes in syntax bring about meaningful changes in semantics? We are ignoring the mapping between programs and functions. Given two operators and two function sets most GP researchers would not know which combination would be better. This interplay is what defines the landscape and ultimately the success of GP.

THOUGHT EXPERIMENT As a programmer – you understand the semantics of the function set e.g. {+, -, *, /}. Imagine you were “semantically blind” and were only dealing with “arbitrarily labeled functions” {jiggle, wiggle, boggle, diddle}. In your favorite GP algorithm, the crossover component is replaced by you the “semantically blind programmer”.

STOCASTIC SEARCH FOR NON-STOCASTIC PROBLEMS Many of the problems tackled in the literature (for Turing Complete GP) are not stochastic E.g. sorting, multiplication, even parity. These are not even noise problems. Similar to situation with artificial neural networks and support vector machines. Would you trust a method that gave you a different answer each time?

SUMMARY Biology 1.genetic code 2.Crossover – primary search operator 3.limits of natural evolution. 4.evolution is deceptively successful. Genetic Programming 1.Non-biological description (mathematical) 2.Crossover – unsuitable? 3.number of loops in evolved programs (very few!)