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

Similar documents
Machine Evolution. Machine Evolution. Let s look at. Machine Evolution. Machine Evolution. Machine Evolution. Machine Evolution

Evolutionary Computation. Chao Lan

Introduction to Evolutionary Computation

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

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 of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

Previous Lecture Genetic Programming

Genetic Programming Part 1

ADAPTATION OF REPRESENTATION IN GP

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

Optimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining

Investigating the Application of Genetic Programming to Function Approximation

Mutations for Permutations

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

Using Genetic Programming to Evolve Robot Behaviours

A More Stable Approach To LISP Tree GP

Mesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees

Practice Midterm Exam Solutions

CONCEPT FORMATION AND DECISION TREE INDUCTION USING THE GENETIC PROGRAMMING PARADIGM

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

Genetic Programming: A study on Computer Language

Introduction to Optimization

Computational Intelligence

MDL-based Genetic Programming for Object Detection

The Parallel Software Design Process. Parallel Software Design

Genetic Algorithms and Genetic Programming Lecture 9

Learning Composite Operators for Object Detection

GENETIC ALGORITHM with Hands-On exercise

Santa Fe Trail Problem Solution Using Grammatical Evolution

Genetic Programming for Data Classification: Partitioning the Search Space

Simultaneous Discovery of Detectors and a Way of Using the Detectors via Genetic Programming

A Comparative Study of Linear Encoding in Genetic Programming

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

Stack-Based Genetic Programming

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

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

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

Using Genetic Algorithms to Solve the Box Stacking Problem

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

Evolution Evolves with Autoconstruction

Genetic Programming for Multiclass Object Classification

Genetic Programming. Modern optimization methods 1

AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENETIC ALGORITHMS

Evolving Variable-Ordering Heuristics for Constrained Optimisation

Chapter 14 Global Search Algorithms

Introduction to Optimization

Using Genetic Algorithms to optimize ACS-TSP

How Santa Fe Ants Evolve

Escaping Local Optima: Genetic Algorithm

Automata Construct with Genetic Algorithm

Multi Expression Programming. Mihai Oltean

Evolutionary Computation, 2018/2019 Programming assignment 3

Hierarchical Crossover in Genetic Algorithms

Optimizing the Sailing Route for Fixed Groundfish Survey Stations

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

One-Point Geometric Crossover

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

CHAPTER 4 GENETIC ALGORITHM

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

1. Meshes. D7013E Lecture 14

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Heuristic Optimisation

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

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Application of Genetic Algorithms to CFD. Cameron McCartney

CS 540-1: Introduction to Artificial Intelligence

Semantically-Driven Search Techniques for Learning Boolean Program Trees

Polyhedron Evolver Evolution of 3D Shapes with Evolvica

Neural Network Weight Selection Using Genetic Algorithms

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

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

Background on Genetic Programming

Evolution of the Discrete Cosine Transform Using Genetic Programming

Clustering Analysis of Simple K Means Algorithm for Various Data Sets in Function Optimization Problem (Fop) of Evolutionary Programming

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

A Genetic Algorithm-Based Approach for Building Accurate Decision Trees

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

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Planning and Search. Genetic algorithms. Genetic algorithms 1

Introduction to Optimization

3DUDOOHO*UDPPDWLFDO(YROXWLRQ

An Evolutionary Algorithm with Stochastic Hill-Climbing for the Edge-Biconnectivity Augmentation Problem

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

Automatic Generation of Prime Factorization Algorithms Using Genetic Programming

ACCELERATING THE ANT COLONY OPTIMIZATION

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Distinguishing genotype and phenotype in genetic programming

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

Local Search. CS 486/686: Introduction to Artificial Intelligence Winter 2016

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

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

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

The k-means Algorithm and Genetic Algorithm

Genetic Algorithms Variations and Implementation Issues

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

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

A Method Dependence Relations Guided Genetic Algorithm

Image Classification and Processing using Modified Parallel-ACTIT

Transcription:

Genetic programming Lecture Genetic Programming CIS 412 Artificial Intelligence Umass, Dartmouth One of the central problems in computer science is how to make computers solve problems without being explicitly programmed to do so. Genetic programming offers a solution through the evolution of computer programs by methods of natural selection. In fact, genetic programming is an extension of the conventional genetic algorithm, but the goal of genetic programming is not just to evolve a bitstring representation of some problem but the computer code that solves the problem. GP LISP as a GP language Genetic programming is a recent development in the area of evolutionary computation. It was greatly stimulated in the 1990s by John Koza. According to Koza, genetic programming searches the space of possible computer programs for a program that is highly fit for solving the problem at hand. Any computer program is a sequence of operations (functions) applied to values (arguments), but different programming languages may include different types of statements and operations, and have different syntactic restrictions. GP manipulates programs by applying genetic operators. Programming language should permit a computer program to be manipulated as data and the newly created data to be executed as a program. LISP was chosen as the main language for genetic programming. LISP structure S-expressions LISP has a highly symbol-oriented structure. Its basic data structures are atoms and lists. An atom is the smallest indivisible element of the LISP syntax. The number 21, the symbol X and the string This is a string are examples of LISP atoms. A list is an object composed of atoms and/or other lists. LISP lists are written as an ordered collection of items inside a pair of parentheses. ( (* A B) C) Both atoms and lists are called symbolic expressions or S- expressions. In LISP, all data and all programs are S- expressions. This gives LISP the ability to operate on programs as if they were data. Any LISP S-expression can be depicted as a rooted pointlabeled tree with ordered branches. 1

GP algorithm steps GP example Five preparatory steps: 1. Determine the set of terminals. 2. Select the set of primitive functions. 3. Define the fitness function. 4. Decide on the parameters for controlling the run. 5. Choose the method for designating a result of the run. Performance measure - fitness GP algorithm steps We use a number of different fitness cases. The fitness cases for the Pythagorean Theorem are represented by the samples of right triangles in Table. These fitness cases are chosen at random over a range of values of variables a and b. GP algorithm steps GP algorithm steps 2

GP run Two parental s-expressions - crossover Two offspring s-expressions Mutation in GP - original Mutation in GP - result Fitness history of the best s- expression 3

Example: Wall-Following Robot A Wall-Following Program Program Representation in GP Functions AND (x, y) = 0 if x = 0; else y OR (x, y) = 1 if x = 1; else y NOT (x) = 0 if x = 1; else 1 IF (x, y, z) = y if x = 1; else z Terminals Actions: move the robot one cell to each direction {north, east, south, west} Sensory input: its value is 0 whenever the corresponding cell is free for the robot to occupy; otherwise, 1. {n, ne, e, se, s, sw, w, nw} Evolving a Wall-Following Robot Experimental Setup Population size: 5,000 Fitness measure: the number of cells next to the wall that are visited during 60 steps Perfect score (320) One Run (32) 10 randomly chosen starting points Termination condition: found perfect solution Selection: tournament selection Creating Next Generation 500 programs (10%) are copied directly into next generation. Tournament selection 7 programs are randomly selected from the population 5,000. The most fit of these 7 programs is chosen. 4,500 programs (90%) are generated by crossover. A mother and a father are each chosen by tournament selection. A randomly chosen subtree from the father replaces a randomly selected subtree from the mother. In this example, mutation was not used. Two Parents Programs and Their Child Generation 0 the most fit program (fitness = 92) Starting in any cell, this program moves east until it reaches a cell next to the wall; then it moves north until it can move east again or it moves west and gets trapped in the upper-left cell. 4

Generation 2 Generation 6 The most fit program (fitness = 117) Smaller than the best one of generation 0, but it does get stuck in the lower-right corner. The most fit program (fitness = 163) Following the wall perfectly but still gets stuck in the bottom-right corner. Generation 10 Fitness Curve The most fit program (fitness = 320) Following the wall around clockwise and moves south to the wall if it doesn t start next to it. Fitness as a function of generation number The progressive (but often small) improvement from generation to generation Main advantage of GP Advantages of GP vs GA 5

Summary Applications of EC Numerical, Combinatorial Optimization System Modeling and Identification Planning and Control Engineering Design Data Mining Machine Learning Artificial Life Advantages of EC Disadvantages of EC No presumptions about problem space Widely applicable Low development & application costs Easy to incorporate other methods Solutions are interpretable (unlike NN) Can be run interactively, accommodate user proposed solutions Provide many alternative solutions No guarantee for optimal solution within finite time Weak theoretical basis May need parameter tuning Often computationally expensive, i.e. slow 6