Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions.

Slides:



Advertisements
Similar presentations
Genetic Programming and LIL-GP
Advertisements

Sequences A sequence is a function that computes an ordered list. For example, the average person in the United States uses 100 gallons of water each day.
GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Doug Downey, adapted from Bryan Pardo, Machine Learning EECS 349 Machine Learning Genetic Programming.
Genetic Art. Network Record Using Network Information Chicago Evanston ParisMoscow.
Copyright © 2007 Pearson Education, Inc. Slide 8-1 Warm-Up Find the next term in the sequence: 1, 1, 2, 6, 24, 120,…
Genetic Programming Dinesh Dharme Prateek Srivastav Pankhil Chheda
Genetic Programming.
Genetic Programming Chapter 6. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Programming GP quick overview Developed: USA.
8.1 Sequences and Series Essential Questions: How do we use sequence notation to write the terms of a sequence? How do we use factorial notation? How.
Decision tree: Example 0 = Not a Saturday, 1 = Saturday Given: rainy, humid, not windy Is it a Saturday? It is a Saturday.
Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.
1 Genetic Programming: An Introduction. 2 The Lunacy of Evolving Computer Programs Before we start, consider the general evolutionary algorithm : Randomly.
Section 8.1 Sequences & Series. Sequences & Series Definition of Sequence: An infinite sequence is a function whose domain is the set of positive integers.
Copyright © Cengage Learning. All rights reserved.
Automatically Defined Functions Used to evolve modular programs Architecture implemented by Koza Architecture implemented by Bruce Function calls A critical.
Recursion and Dynamic Programming. Recursive thinking… Recursion is a method where the solution to a problem depends on solutions to smaller instances.
Copyright © 2007 Pearson Education, Inc. Slide 8-1.
What is the next shape/number for each? 1. 5, 3, 1, -1, -3, ____
Copyright © 2011 Pearson Education, Inc. Slide
Iteration Iterative operator: for, du, while. Problem: Infinite and time-consuming iterations. Halting problem: We are not able to determine whether an.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
Computational Complexity Jang, HaYoung BioIntelligence Lab.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
Sequences & Series Section 13.1 & Sequences A sequence is an ordered list of numbers, called terms. The terms are often arranged in a pattern.
Genetic Programming. GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically applied to: machine learning tasks (prediction, classification…)
Fitness Cases Are input-output pairs describing the output a program should produce given the particular input value. The fitness of an individual is usually.
Project 2: Classification Using Genetic Programming Kim, MinHyeok Biointelligence laboratory Artificial.
Genetic Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 6.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
+ Arrays & Random number generator. + Introduction In addition to arrays and structures, C supports creation and manipulation of the following data structures:
Data Structures Evolution of algorithms for an array-based stack, queue, and linked-list. Evolved data structures used to evolve solutions to problems.
Game Playing Evolve a strategy for two-person zero-sum games. Help the user to determine the next move. Constructing a game tree Each node represents a.
8.1 Sequences and Series Essential Questions: How do we use sequence notation to write the terms of a sequence? How do we use factorial notation? How.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
John R. Koza [Edited by J. Wiebe] 1. GENETIC PROGRAMMING 2.
Blocks World Problem. The CS Terminal Specifies the block at the top of the stack. Example CS evaluates to E Note: Evaluates to nil if the stack is empty.
John R. Koza [Edited by J. Wiebe] 1. GENETIC PROGRAMMING 2.
Symbolic Regression via Genetic Programming AI Project #2 Biointelligence lab Cho, Dong-Yeon
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Programming. What is Genetic Programming? GP for Symbolic Regression Other Representations for GP Example of GP for Knowledge Discovery Outline.
Section Recursion  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Do Now Solve the inequality and come up with a real world scenario that fits the solution. Also Pick up a textbook.
8.1 – Sequences and Series. Sequences Infinite sequence = a function whose domain is the set of positive integers a 1, a 2, …, a n are the terms of the.
Genetic Algorithm(GA)
Classification Using Genetic Programming Patrick Kellogg General Assembly Data Science Course (8/23/ /12/15)
Lesson 1: Sequences An infinite sequence: A finite sequence:
Genetic Programming.
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Sequences and Series 9.1.
Ch. 8 – Sequences, Series, and Probability
Algorithm design and Analysis
Section 9.1 Sequences and Series.
9.1: Introduction to Sequences
9.1 Sequences Sequences are ordered lists generated by a
Genetic Programming Chapter 6.
Sequences and Summation Notation
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
10.1 Sequences and Summation Notation
Rational Numbers and Irrational Numbers
Presentation transcript:

Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions

The SRF Function Defined by Koza. Used to evolve an algorithm that calculates the ith element of the Fibonacci sequence. The SRF function takes two integer arguments. An instance of the SRF function, e.g. SRF K D is interpreted as follows: If the value of K is equal to the index of a fitness case that the SRF has already been evaluated on the function returns the stored value. If not the value of D is returned. The value returned is stored as the output for the index specified in the fitness case the SRF instance is currently being evaluated on.

What will the output of the following individual be ? Fitness case: J= 0, Output =1 Fitness case: J= 1, Output =1 Raw fitness = 1

GP Parameters Function to generate:Induce a recursive expression for the Fibonacci sequence. Terminal set: T = {J, U} where U is the ephemeral constant in the range 0 to 3. Function set: F = {+,-,*,SRF} Number of generations: 51 Population size:2000 The ramped half-and-half method with an initial tree depth of six and a depth limit of seventeen on the size of trees created by the genetic operators. Method of selection: Fitness proportionate selection.

GP Parameters Raw fitness: The error function Hits criterion: The number of fitness cases for which the tree has produced a value equal to the target value. Fitness cases: The first twenty elements of the Fibonacci sequence. Bound:0 Genetic operators: Crossover - 90% Reproduction - 10%

Evolved Solution Koza performed two runs. A solution was found by generation 30 in one of the runs and by generation 22 in the other. One of the solutions induced in prefix notation : ( + ( SRF ( - J 2 ) 0 ) ( SRF ( + ( + ( - J 2 ) 0 ) (SRF ( - J J ) 0 ) ) ( SRF ( SRF 3 1 ) 1 ) ) )

Automatically Defined Recursion (ADS) An ADS consists of four branches: A recursive condition branch (RCB) A recursive body branch (RBB) A recursive update branch (RUB) A recursive ground branch (RGB) Architecture-altering operators

Example N=2ARG0 = 2 N=2 ARG0 = 1 N=2ARG0 = 0 Output: 2

The recur Operator N=2 2 N=1 1 1