Previous Lecture Genetic Programming

Similar documents
Genetic Programming Part 1

Genetic Programming. Modern optimization methods 1

Mutations for Permutations

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

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

Investigating the Application of Genetic Programming to Function Approximation

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

Automatic Programming with Ant Colony Optimization

Computational Intelligence

Introduction to Evolutionary Computation

Genetic Programming: A study on Computer Language

Selection Based on the Pareto Nondomination Criterion for Controlling Code Growth in Genetic Programming

CONCEPT FORMATION AND DECISION TREE INDUCTION USING THE GENETIC PROGRAMMING PARADIGM

Heuristic Optimisation

Santa Fe Trail Problem Solution Using Grammatical Evolution

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

A New Crossover Technique for Cartesian Genetic Programming

School of Mathematics, Statistics and Computer Science. Computer Science. Object Detection using Neural Networks and Genetic Programming

Genetic Algorithms and Genetic Programming Lecture 9

Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming

Evolutionary Computation: Solution Representation. Set Covering Problem. Set Covering Problem. Set Covering Problem 2/28/2008.

Evolutionary Art with Cartesian Genetic Programming

ACGP: ADAPTABLE CONSTRAINED GENETIC PROGRAMMING

Escaping Local Optima: Genetic Algorithm

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

Reusing Code in Genetic Programming

A New Crossover Technique for Cartesian Genetic Programming

Using Genetic Programming for Multiclass Classification by Simultaneously Solving Component Binary Classification Problems

Hierarchical Crossover in Genetic Algorithms

An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach

ADAPTATION OF REPRESENTATION IN GP

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

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

Evolutionary Computation. Chao Lan

Genetic Programming in the Wild:

Correspondence. Object Detection via Feature Synthesis Using MDL-Based Genetic Programming

Genetic Programming for Data Classification: Partitioning the Search Space

A Comparison of Cartesian Genetic Programming and Linear Genetic Programming

Classification Strategies for Image Classification in Genetic Programming

Genetic Programming for Julia: fast performance and parallel island model implementation

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Towards Byte Code Genetic Programming 1

Constraint Handling. Fernando Lobo. University of Algarve

Genetic Programming for Multiclass Object Classification

Stack-Based Genetic Programming

Using Genetic Programming to Evolve Robot Behaviours

Robust Gene Expression Programming

Evolving Turing-Complete Programs for a Register Machine with. Self-modifying Code. 1 Introduction

Introduction to Optimization

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

Introduction to Optimization

Evolving SQL Queries for Data Mining

Genetic Algorithms: Setting Parmeters and Incorporating Constraints OUTLINE OF TOPICS: 1. Setting GA parameters. 2. Constraint Handling (two methods)

Genetic Algorithms and the Evolution of Neural Networks for Language Processing

Using Genetic Algorithms to Solve the Box Stacking Problem

Automatic Programming of Agents by Genetic Programming

Distinguishing genotype and phenotype in genetic programming

Introduction to Artificial Intelligence

Evolution of Robot Leg Movements in a Physical Simulation

The calculator problem and the evolutionary synthesis of arbitrary software

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

Genetic Algorithms. Kang Zheng Karl Schober

Parallel Linear Genetic Programming

Improving Convergence in Cartesian Genetic Programming Using Adaptive Crossover, Mutation and Selection

Heuristic Optimisation

Interpreting a genetic programming population on an nvidia Tesla

Evolving Controllers for Autonomous Agents Using Genetically Programmed Networks

The calculator problem and the evolutionary synthesis of arbitrary software

Lecture 8: Genetic Algorithms

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Automating Test Driven Development with Grammatical Evolution

Genetic L-System Programming

Solving the Symbolic R egr es sion Pr oblem w ith T re e -A djunc t Gr ammar Guided Genetic Pr ogr amming: T he Compar ative Re sults

Peter Nordin, Wolfgang Banzhaf and Frank D. Francone

Genetic Image Network for Image Classification

Evolutionary Computation Part 2

Fall 2003 BMI 226 / CS 426 Notes F-1 AUTOMATICALLY DEFINED FUNCTIONS (ADFS)

Geometric Semantic Genetic Programming ~ Theory & Practice ~

Artificial Intelligence Application (Genetic Algorithm)

Introduction to Design Optimization: Search Methods

A Comparative Study of Linear Encoding in Genetic Programming

Evolution of the Discrete Cosine Transform Using Genetic Programming

Smooth Uniform Crossover, Sub-Machine Code GP and Demes: A Recipe For Solving High-Order Boolean Parity Problems

A Fitness Function to Find Feasible Sequences of Method Calls for Evolutionary Testing of Object-Oriented Programs

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

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

Genetic Algorithm for Finding Shortest Path in a Network

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

Genetic Programming with Statically Scoped Local Variables

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

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

Genetic Algorithms for Vision and Pattern Recognition

Multi-objective Optimization

Iteration Over Vectors in Genetic Programming

A Structural Optimization Method of Genetic Network Programming. for Enhancing Generalization Ability

Administrative. Local Search!

Transcription:

Genetic Programming Previous Lecture Constraint Handling Penalty Approach Penalize fitness for infeasible solutions, depending on distance from feasible region Balanace between under- and over-penalization Static, dynamic, and adaptive Evolutionary Computation - Lecture 15 22/11/2002 Thorsten Schnier School of Computer Science University of Birmingham Repair Approach Use feasible reference individuals to move infeasible points Other approaches - 2 - - 1 - Genetic Programming (GP) Two different view of what GP means: Content view: Automatic Programming Creation of programs by artificial evolution Different representations Representation view: anything using tree representation May be programs, may be other things - 3 - Representing Programs in EC Tree representation LISP-like expression Local data storage Tree Genotypes Tree genetic operators Linear representation Series of instructions Registers for data storage Graph representation Nodes contain instructions Edges control program flow Stack for data storage - 4 -

Example Problem: Symbolic Tree Representation for Symbolic Example Problem: Symbolic Given: a set of function points Problem: find a function that fits the points as closely as possible Common problem in stats, process engineering,... Terminal Set and Function Set - 6 - - 5 - The Terminal Set Anything with arity 0 and one output Arity: number of inputs (unary, binary,...) Inputs Sensors Function variables Constants Numbers Do we need to supply all possible constants? - 7 - The Function Set n-ary functions E.g. mathematical functions +, -, *, /, log, sum,... E.g. boolean functions and, or, not, xor,... E.g. memory functions store, read E.g. control structures if..then..else, for,... E.g. side-effect functions move, pen up, turn,... Sufficiency need a set of functions sufficiently complex for the task but not too rich Coverage Functions need to be defined over all inputs E.g. division needs to be defined for input 0-8 -

Crossover Branch Swap Pick random branch at both parents Swap branches Matched One-point Tree Crossover Matching From root follow branches As long as nodes have same arity Same crossover point for both parents, within matched branches n-point crossover possible, too - 9 - Advantages and Disadvantages Does not change tree depth Less disruptive Population more likely to converge - 9 - Mutation Branch replacement Pick random branch from parent Delete branch Replace with random new branch (New branch created as in initial population creation) Creation of Initial Population Full Method with fixed tree depth treedepth: 1. do add random function nodes until all branches have (treedepth -1) depth 2. add random terminal nodes to all branches Growth Method with fixed maximum tree depth maxdepth: 1. do add random function or terminal nodes until all branches have terminals or are (maxdepth -1) depth 2. add random terminal nodes to all branches without terminals Ramped half-and-half method - 10 - with fixed maximum tree depth maxdepth and population size popsize: 1. for n=2..maxdepth create: (popsize/2*(maxdepth -1)) individuals using growth with maxdepth=n (popsize/2*(maxdepth -1)) individuals using full with treedepth=n - 11 -

Bloat Program size grows As a result of uneven crossover Unused code Slows down runs More space, cpu time required Mutation, crossover of unused code - offspring behaviour is identical Countermeasures Incorporate program size into fitness Use special crossover (e.g. matched one-point crossover) Linear Representation Genetic Programming Register Machine Van-Neuman Architecture String of instructions and data Functions get arguments from registers String Representation Usually variable-length Crossover: variable-length versions of one-pint, two-point Mutation: usual random gene replacement, but also add, delete operations - 12 - - 13 - Graph Representation Genetic Programming Nodes define operations Operands come from stack Result will be put onto the stack Edges define control flow Control mechanism controls which edge to follow E.g. depends on value written to stack {<0, =0, >0} Loops and recursion common Specialized Crossover and Mutation operators Genetic Programming == Automatic Programming? Does it start from a high level specification? Does it produce an executable program? Does it automatically deteremine the number of steps a program should take? Does it produce results that are competitive with human programmers, engineers, mathematicians and designers? - 15 - - 14 -

Genetic Programming Applications Chemistry,Engineering Statistics Classification etc. Data Mining Intrusion Detection Image classification Control Plants Robots Spacecraft altitude maneuvres Animation Sumary Automatic Generation of Programs within limits... Tree Representation Tree crossover Branch replacement mutation Other Representations Linear Graph - 17 - Design Neural Networks Electronic Circuits - 16 - References Basic Reading: Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Francone Genetic Programming: An Introduction Morgan Kaufmann Publishers (In the Library): Chapter 5 Advanced Reading Other chapters in Banzhaf et. al John R. Koza: Genetic Programming: On the Programming of Computers by Means of Natural Selection (In the library - don t be put off by the volume of the book, you can skim over a lot of the material quickly, just pick interesting applications.) Websites http://www.geneticprogramming.com/ - 18 -