Genetic Algorithms and Genetic Programming. Lecture 9: (23/10/09)

Similar documents
Genetic Programming: A study on Computer Language

Genetic Programming Prof. Thomas Bäck Nat Evur ol al ut ic o om nar put y Aling go rg it roup hms Genetic Programming 1

Genetic Programming. and its use for learning Concepts in Description Logics

Background on Genetic Programming

Genetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions

Genetic Programming Practice and Theory

Lecture 8: Genetic Algorithms

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Genetic Programming. Czech Institute of Informatics, Robotics and Cybernetics CTU Prague.

Genetic Algorithms and Genetic Programming Lecture 7

Lecture 6: The Building Block Hypothesis. Genetic Algorithms and Genetic Programming Lecture 6. The Schema Theorem Reminder

Genetic Programming. Modern optimization methods 1

The Parallel Software Design Process. Parallel Software Design

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Genetic Programming Testing Model

Acquisition of accurate or approximate throughput formulas for serial production lines through genetic programming. Abstract

Evolutionary Linkage Creation between Information Sources in P2P Networks

Application of Genetic Algorithms to CFD. Cameron McCartney

Evolving Variable-Ordering Heuristics for Constrained Optimisation

GENETIC ALGORITHM with Hands-On exercise

CHAPTER 4 GENETIC ALGORITHM

Introduction to Genetic Algorithms

Administrative. Local Search!

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Santa Fe Trail Problem Solution Using Grammatical Evolution

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Investigating the Application of Genetic Programming to Function Approximation

Genetic Algorithms and Genetic Programming Lecture 9

Genetic Programming for Multiclass Object Classification

Using Genetic Programming to Evolve a General Purpose Sorting Network for Comparable Data Sets

Genetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

CONCEPT FORMATION AND DECISION TREE INDUCTION USING THE GENETIC PROGRAMMING PARADIGM

Mutations for Permutations

Classification Using Genetic Programming. Patrick Kellogg General Assembly Data Science Course (8/23/15-11/12/15)

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Impact of Commutative and Non-commutative Functions on Symbolic Regression with ACGP

Genetic Programming of Autonomous Agents. Functional Requirements List and Performance Specifi cations. Scott O'Dell

Automatic Creation of Digital Fast Adder Circuits by Means of Genetic Programming

How Santa Fe Ants Evolve

N-Queens problem. Administrative. Local Search

Contents. Index... 11

Genetic Algorithms Variations and Implementation Issues

Genetic Programming Part 1

Evolutionary Computation. Chao Lan

Computational Intelligence

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Constructing an Optimisation Phase Using Grammatical Evolution. Brad Alexander and Michael Gratton

A Case Study on Grammatical-based Representation for Regular Expression Evolution

Previous Lecture Genetic Programming

Evolutionary Computation Part 2

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

Artificial Intelligence Application (Genetic Algorithm)

Neural Network Weight Selection Using Genetic Algorithms

A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each

Genetic Programming in the Wild:

Automatic Programming of Agents by Genetic Programming

A More Stable Approach To LISP Tree GP

Genetic Algorithms. Aims 09s1: COMP9417 Machine Learning and Data Mining. Biological Evolution. Evolutionary Computation

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

ACGP: ADAPTABLE CONSTRAINED GENETIC PROGRAMMING

Introduction to Optimization

Partitioning Regression

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland

Deduplication of Hospital Data using Genetic Programming

Introduction to Evolutionary Computation

Gen := 0. Create Initial Random Population. Termination Criterion Satisfied? Yes. Evaluate fitness of each individual in population.

Coevolving Functions in Genetic Programming: Classification using K-nearest-neighbour

Genetic Algorithm Based Template Optimization for a Vision System: Obstacle Detection

Gene Expression Programming. Czech Institute of Informatics, Robotics and Cybernetics CTU Prague

One-Point Geometric Crossover

ADAPTATION OF REPRESENTATION IN GP

Evolving SQL Queries for Data Mining

Design Automation MAE 2250

Polyhedron Evolver Evolution of 3D Shapes with Evolvica

Genetic-PSO Fuzzy Data Mining With Divide and Conquer Strategy

A Comparative Study of Linear Encoding in Genetic Programming

JHPCSN: Volume 4, Number 1, 2012, pp. 1-7

An Evolutionary Algorithm for Minimizing Multimodal Functions

Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming

Non-deterministic Search techniques. Emma Hart

Artificial Intelligence

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Robust Gene Expression Programming

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

ET-based Test Data Generation for Multiple-path Testing

Enhanced Generalized Ant Programming (EGAP)

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

Iteration Over Vectors in Genetic Programming

Constraints in Particle Swarm Optimization of Hidden Markov Models

A Parallel Evolutionary Algorithm for Discovery of Decision Rules

A New Crossover Technique for Cartesian Genetic Programming

A Genetic Programming Approach for Distributed Queries

Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?)

Transcription:

Genetic Algorithms and Genetic Programming Lecture 9: (23/10/09) Genetic programming II Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42

Overview 1. Introduction: History 2. The genetic code 3. The canonical genetic algorithm 4. Examples & Variants of GA 5. The schema theorem 6. Hybrid algorithms 7. Evolutionary robotics 8. Genetic Programming 9. Genetic Programming II 10. Practical issues

GP: Overview Evolution of random programs of a purpose specified by a fitness function Choose: non-terminals (functions), terminals Initialization (termination criterion) Closure, defaults, sufficiency Fitness cases Choose parameters (population size, probabilities) Selection Crossover and mutation. Particularly operators on trees: subtree replacement, exchange, shift (shrink and hoist)

John R. Koza: GECCO 2007 Tutorial / Introduction to Genetic Programming, http://www.genetic-programming.org GP Flowchart

Initialization The initial population might be lost quickly, but general features may determine the solutions Assume the functions and terminal are sufficient Structural properties of the expected solution (uniformity, symmetry, depth, ) Lagrange initialization: Crossover can be shown to produce programs with a typical distribution (Lagrange distribution of the second kind) which can be used also for initialization Seeding: Start with many copies of good candidates Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming. For free at http://www.lulu.com/content/2167025

Automatically Defined Functions Efficient code : Loops, subroutines, functions, classes, or variables Automatically defined iterations (ADIs), automatically defined loops (ADLs) and automatically defined recursions (ADRs) provide means to reuse code. (Koza) Automatically defined stores (ADSs) provide means to reuse the result of executing code. Solution: functiondefining branches (i.e., ADFs) and result-producing branches (the RPB) e.g. RPB: ADF(ADF(ADF(x))), where ADF: arg0 arg0

Grammar-based Constraints Constraints can either be included in the fitness function, but are more efficiently implemented by the operators. One way is to require individuals to be generatable by a grammar. Other approaches require types for terminals, functions and return values.

Hybrid GP Information theoretic measures and minimum description length in fitness function Local search: Hill-climbing for adaptation of numerical values Co-evolution: Fitness depends on the individuals in other populations Editing: Apply regularly rules to increase efficiency (e.g. removing branches from a multiplication subtree that are always zero, type consistency check, grammatical GP)

GP Theory Schema theorem (sub-tree at a particular position) worst case (Koza 1992) exact for one-point crossover (Poli 2000) For many types of crossover (Poli et al., 2003) Markov chain theory Distribution of fitness in search space as the length of programs increases, the proportion of programs implementing a function approaches a limit Halting probability for programs of length L is of order 1/L 1/2, while the expected number of instructions executed by halting programs is of order L 1/2.

Bloat GP Theory: Bloat increase in program size not accompanied by any corresponding increase in fitness but: the optimal solution may be a large program Theories (non of these is universally accepted) replication accuracy theory inactive code nature of program search spaces theory crossover bias (1-step-mean constant, but Lagrange variance) Size evolution equation (similar to exact schema theorem) Practical solutions: Size and Depth Limits, parsimony pressure (fitness reduced by size: f - c l(i))

Plots of the evolution average size over 500 generations for multiple runs of the 6-MUX problem with various forms of covariant parsimony pressure. The Constant runs had a constant target size of 150. In the Sin runs the target size was sin((generation + 1)/50) 50 + 150. For the Linear runs the target size was 150 + generation. The Limited runs used no size control until the size reached 250, then the target was held at 250. Finally, the Local runs used c = -Cov(l, f)/var(l), which allowed a certain amount of drift but still avoided runaway bloat. Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming.

Visualisation of the size and shape of the entire population of 1,000 individuals in the final generation of runs using a depth limit of 50 (on the left) and a size limit of 600 (on the right). The inner circle is at depth 50, and the outer circle is at depth 100. These plots are from (Crane and McPhee, 2005) and were drawn using the techniques described in (Daida et al., 2005). Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming.

Troubleshooting Is there a bug in the code? Closure Can you trust your results? Crossvalidation There are no silver bullets: Expect multiple runs Small changes can have big effects Big changes can have no effect Study your populations Encourage diversity Embrace approximation: No program is errorfree Control bloat Runs can be very long: Checkpoint results

Characteristics Suggesting the Use of GP 1.Discovering the size and shape of the solution 2.Reusing substructures 3.Discovering the number of substructures, 4.Discovering the nature of the hierarchical references among substructures, 5.Passing parameters to a substructure, 6.Discovering the type of substructures (e.g., subroutines, iterations, loops, recursions, or storage), 7.Discovering the number of arguments possessed by a substructure, 8.Maintaining syntactic validity and locality by means of a developmental process, or 9.Discovering a general solution in the form of a parameterized topology containing free variables

Strong Indicators for Using GA or ES The size and shape of the solution is known or fixed Ascertaining numerical parameters is the major issue Simplicity is a major consideration On-chip evolution the algorithm's logic is implemented on the chip in hardware John R. Koza: GECCO 2007 Tutorial / Introduction to Genetic Programming http://www.genetic-programming.org

Fundamental Differences between GP and other Approaches to AI and ML 1. Representation: Genetic programming overtly conducts it search for a solution to the given problem in program space. 2. Role of point-to-point transformations in the search: Genetic programming does not conduct its search by transforming a single point in the search space into another single point, but instead transforms a set of points into another set of points. 3. Role of hill climbing in the search: Genetic programming does not rely exclusively on greedy hill climbing to conduct its search, but instead allocates a certain number of trials, in a principled way, to choices that are known to be inferior. 4. Role of determinism in the search: Genetic programming conducts its search probabilistically. 5. Role of an explicit knowledge base: None. 6. Role of formal logic in the search: None. 7. Underpinnings of the technique: Biologically inspired.

Cross-Domain Features Native representations are sufficient when working with genetic programming Genetic programming breeds simulatability (Koza) Genetic programming starts small Genetic programming frequently exploits a simulator s built-in assumption of reasonableness Genetic programming engineers around existing patents and creates novel designs more frequently than it creates infringing solutions John R. Koza: GECCO 2007 Tutorial / Introduction to Genetic Programming http://www.genetic-programming.org

Promising GP Application Areas Problem areas involving many variables that are interrelated in highly non-linear ways Inter-relationship of variables is not well understood A good approximate solution is satisfactory design, control, classification and pattern recognition, data mining, system identification and forecasting Discovery of the size and shape of the solution is a major part of the problem Areas where humans find it difficult to write programs parallel computers, cellular automata, multi-agent strategies / distributed AI, FPGAs "black art" problems synthesis of topology and sizing of analog circuits, synthesis of topology and tuning of controllers, quantum computing circuits, synthesis of designs for antennas Areas where you simply have no idea how to program a solution, but where the objective (fitness measure) is clear Problem areas where large computerized databases are accumulating and computerized techniques are needed to analyze the data

Open Questions/Research Areas Scaling up to more complex problems and larger programs Using large function and terminal sets. How well do the evolved programs generalise? How can we evolve nicer programs? size, efficiency, correctness What sort of problems is GP good at/ not-so-good at? How does GP work? etc. Reading: J. Koza 1990, especially pp 8 14, 27 35, 42 43 (paper linked to web page) Riccardo Poli, William B Langdon, Nicholas F. McPhee (2008) A Field Guide to Genetic Programming. For free at http://www.lulu.com/content/2167025 see also: http://www.genetic-programming.org http://www.geneticprogramming.us Outlook: Practical issues of EC

Alan Turing (1950) Computing Machinery and Intelligence We cannot expect to find a good child-machine at the first attempt. One must experiment with teaching one such machine and see how well it learns. One can then try another and see if it is better or worse. There is an obvious connection between this process and evolution: Structure of the child machine = Hereditary material Changes of the child machine = Mutations Natural selection = Judgement of the experimenter