Genetic Programming Part 1

Similar documents
Previous Lecture Genetic Programming

Genetic Programming. Modern optimization methods 1

Mutations for Permutations

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. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions

Investigating the Application of Genetic Programming to Function Approximation

CONCEPT FORMATION AND DECISION TREE INDUCTION USING THE GENETIC PROGRAMMING PARADIGM

Automatic Programming with Ant Colony Optimization

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

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

Introduction to Evolutionary Computation

Genetic Algorithms and Genetic Programming Lecture 9

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

Genetic Programming: A study on Computer Language

Computational Intelligence

Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming

A New Crossover Technique for Cartesian Genetic Programming

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

Santa Fe Trail Problem Solution Using Grammatical Evolution

ACGP: ADAPTABLE CONSTRAINED GENETIC PROGRAMMING

Genetic Programming in the Wild:

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

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

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

A Comparison of Cartesian Genetic Programming and Linear Genetic Programming

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

Evolutionary Art with Cartesian Genetic Programming

A New Crossover Technique for Cartesian Genetic Programming

Evolutionary Computation. Chao Lan

Introduction to Artificial Intelligence

Hierarchical Crossover in Genetic Algorithms

Genetic Programming for Data Classification: Partitioning the Search Space

Reusing Code in Genetic Programming

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

ADAPTATION OF REPRESENTATION IN GP

Classification Strategies for Image Classification in Genetic Programming

Stack-Based Genetic Programming

Automatic Programming of Agents by Genetic Programming

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

Towards Byte Code Genetic Programming 1

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

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

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

Automating Test Driven Development with Grammatical Evolution

Robust Gene Expression Programming

Interpreting a genetic programming population on an nvidia Tesla

Genetic Programming for Multiclass Object Classification

Geometric Semantic Genetic Programming ~ Theory & Practice ~

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

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

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

Using Genetic Algorithms to Solve the Box Stacking Problem

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Heuristic Optimisation

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

A Comparative Study of Linear Encoding in Genetic Programming

A Comparison of Several Linear Genetic Programming Techniques

Outline. CS 6776 Evolutionary Computation. Numerical Optimization. Fitness Function. ,x 2. ) = x 2 1. , x , 5.0 x 1.

The calculator problem and the evolutionary synthesis of arbitrary software

Evolution of Robot Leg Movements in a Physical Simulation

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

Genetic Algorithm for Finding Shortest Path in a Network

The calculator problem and the evolutionary synthesis of arbitrary software

Genetic Programming with Statically Scoped Local Variables

Lecture 8: Genetic Algorithms

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

Using Genetic Programming to Evolve Robot Behaviours

RESPONSE SURFACE METHODOLOGIES - METAMODELS

Genetic Algorithms. Kang Zheng Karl Schober

Escaping Local Optima: Genetic Algorithm

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

Genetic Algorithms for Vision and Pattern Recognition

Evolutionary origins of modularity

Iteration Over Vectors in Genetic Programming

Genetic L-System Programming

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

Background on Genetic Programming

Multi Expression Programming. Mihai Oltean

Evolutionary Computation Part 2

Genetic Image Network for Image Classification

Genetic Algorithms and the Evolution of Neural Networks for Language Processing

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

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

Evolution of the Discrete Cosine Transform Using Genetic Programming

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

Project 2: Genetic Programming for Symbolic Regression

DEAP: Evolutionary Algorithms Made Easy

Cartesian Genetic Programming

John R. Koza Computer Science Department Stanford University Stanford, CA USA

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

Introduction to Genetic Algorithms. Genetic Algorithms

Evolving Controllers for Autonomous Agents Using Genetically Programmed Networks

Multi-objective Optimization

Parallel Linear Genetic Programming

Evolving Evolutionary Algorithms with Patterns

Function Approximation and Feature Selection Tool

Efficient Evolution of Machine Code for CISC Architectures using Blocks and Homologous Crossover.

Administrative. Local Search!

Artificial Intelligence Application (Genetic Algorithm)

Transcription:

Genetic Programming Part 1 Evolutionary Computation Lecture 11 Thorsten Schnier 06/11/2009

Previous Lecture Multi-objective Optimization Pareto optimality Hyper-volume based indicators Recent lectures about Constraint handling Niching Population dynamics

Genetic Programming 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

Representing Programs in EC Tree representation LISP-like expression Local data storage Tree Genotypes Tree genetic operators Stack for data storage Linear representation Series of instructions Registers for data storage Graph representation Nodes contain instructions Edges control program flow Stack for data storage

Example Problem: Symbolic Regression Given: a set of function points Problem: find a function that fits the points as closely as possible Common problem in stats, process engineering,...

Tree Representation for Symbolic Regression Function Set and Terminal Set

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?

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,...

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

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

Crossover Branch Swap Pick random branch at each parent Swap branches

Matched 1-point Tree Crossover 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

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 (1) 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

Creation of Initial Population (2) 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

Creation of Initial Population (3) Ramped half-and-half with fixed maximum tree depth maxdepth and population size popsize: 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

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 onepint, two-point Mutation: 'usual' random gene replacement, but also add, delete operations

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 determine the number of steps a program should take? Does it produce results that are competitive with human programmers, engineers, mathematicians and designers?

Genetic Programming Applications Regression Chemistry,Engineering Statistics Classification etc. Data Mining Intrusion Detection Image classification Control Plants Robots Spacecraft altitude manoeuvres Animation Design Neural Networks Electronic Circuits

Summary Automatic Generation of Programs within limits... Tree Representation Tree crossover Branch replacement mutation Other Representations Linear Graph

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/