Initial Value Problem: Find y=f(x) if y’ = f(x,y) at y(a)=b (1) Closed-form solution: explicit formula -y’ = y at y(0)=1 (Separable) Ans: y = e^x (2)

Slides:



Advertisements
Similar presentations
Genetic Programming Dan Kiely Ran Shoham Brent Heigold
Advertisements

CSE 123 Symbolic Processing. Declaring Symbolic Variables and Constants To enable symbolic processing, the variables and constants involved must first.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
Automatic Synthesis Using Genetic Programming of Improved PID Tuning Rules Matthew J. Streeter Genetic Programming, Inc. Mountain View, California
Digression: Symbolic Regression Suppose you are a criminologist, and you have some data about recidivism. Suppose you are a criminologist, and you have.
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.
Imagine that I am in a good mood Imagine that I am going to give you some money ! In particular I am going to give you z dollars, after you tell me the.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
2 What Genetic Programming ISN'T: What Genetic Programming ISN'T: Engineering a breed of purple carrots. Engineering a breed of purple carrots. Analyzing.
What is Neutral? Neutral Changes and Resiliency Terence Soule Department of Computer Science University of Idaho.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Programming Dinesh Dharme Prateek Srivastav Pankhil Chheda
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Brandon Andrews.  What are genetic algorithms?  3 steps  Applications to Bioinformatics.
Chapter 0 – Objectives Solve for a variable in one-variable equations ex: Solve -3(x+5) = 10 Solve for a variable in two-variable equations ex: Solve.
Genetic Programming.
Genetic Programming Chapter 6. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Programming GP quick overview Developed: USA.
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.
Automating the Lee Model. Major Components Simulator code –Verifying outputs –Verifying model equations –Graphical User interface Auto-tuning the model.
Analytical vs. Numerical Minimization Each experimental data point, l, has an error, ε l, associated with it ‣ Difference between the experimentally measured.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Improved Gene Expression Programming to Solve the Inverse Problem for Ordinary Differential Equations Kangshun Li Professor, Ph.D Professor, Ph.D College.
Solving the Concave Cost Supply Scheduling Problem Xia Wang, Univ. of Maryland Bruce Golden, Univ. of Maryland Edward Wasil, American Univ. Presented at.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
Biological data mining by Genetic Programming AI Project #2 Biointelligence lab Cho, Dong-Yeon
Brief introduction to genetic algorithms and genetic programming A.E. Eiben Free University Amsterdam.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
1 Class Project 510 Team Members John A. Watne Jordan D. Howe Ian R. Erlanson Geoffrey A. Reglos Sengdara Phetsomphou.
Genetic Programming. GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically applied to: machine learning tasks (prediction, classification…)
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
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.
GENETIC PROGRAMMING. THE CHALLENGE "How can computers learn to solve problems without being explicitly programmed? In other words, how can computers be.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Math 4030 – 11b Method of Least Squares. Model: Dependent (response) Variable Independent (control) Variable Random Error Objectives: Find (estimated)
Alice E. Smith and Mehmet Gulsen Department of Industrial Engineering
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
1 Simple Linear Regression and Correlation Least Squares Method The Model Estimating the Coefficients EXAMPLE 1: USED CAR SALES.
Differential Equations Linear Equations with Variable Coefficients.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
ESTIMATION METHODS We know how to calculate confidence intervals for estimates of  and  2 Now, we need procedures to calculate  and  2, themselves.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
John R. Koza [Edited by J. Wiebe] 1. GENETIC PROGRAMMING 2.
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.
Genetic Programming. What is Genetic Programming? GP for Symbolic Regression Other Representations for GP Example of GP for Knowledge Discovery Outline.
Genetic Algorithms and Evolutionary Programming A Brief Overview.
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
Genetic Programming.
Using GA’s to Solve Problems
Genetic Algorithms.
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Evolution Strategies Evolutionary Programming
Optimization and Learning via Genetic Programming
Discrete Least Squares Approximation
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
Beyond Classical Search
Presentation transcript:

Initial Value Problem: Find y=f(x) if y’ = f(x,y) at y(a)=b (1) Closed-form solution: explicit formula -y’ = y at y(0)=1 (Separable) Ans: y = e^x (2) Numerical solution: y’ = (x*y)/(x+y) + y^2 at y(0)=1 Can’t solve explicitly… So we’ll use numerical methods: (a) Dormand-Prince  (b) ode45: returns [x,y] values

 Given data points, find best fitting curve Normal regression finds coefficients of some predefined function (ie linear regression) Symbolic Regression finds function and coefficients  Since normal requires human intuition, we’ll use symbolic regression using genetic programming

 Tree Structure  Function Nodes from a Function Set  Terminal Nodes (numbers, variables) from a Terminal Set  Create Random Function Trees Making the function: y = x*sin(3.63/(2+x)) 

 Use Polish Notation Operator comes first. Ex: 5 + x – (x * 8))  + 5 – x * x 8 Quiz: + 3 * 6 – 2 1 = ?  Syntax-preserving: binary or unary functions? Binary: takes two nodes Unary: takes one node

 Evaluate error at each point  Fitness= -Total Sum of Error  If we want greater accuracy, we will want to evaluate more points in domain We may also want to limit the maximum error between any sample point and the function

 Random tournament to select who mates Randomly select two individuals in population The one with the best fit is parent 1 Randomly select crossover or mutation If mutate, mutate parent 1 Else find parent 2 and crossover Repeat reproduction until Population size is filled

 Crossover (GP) Crossover (DNA analogy) Parent 1: Parent 2: (a+b*sqrt(b)) / sqrt(b+b) a*(((b/b)/a) * sqrt(b+b)) Child: a+(b*(b/b)/a) / sqrt(b+b) ( Throw away second child)

 Randomly select node in tree to mutate  Randomly select a node of the same type  Mutate node  Mutation gets us out of pitfalls

 Determine Number of Data Points in Domain (Matlab) Step size:  Determine Function Set F = {sin, cos, e^, /, *, +, -}  Determine Terminal Set T = {x, pi/2, 100 random numbers between -5 and 5}  Create a Random Population of Function Trees 10,000 indiv. w/ initial depth of 5  Set Minimum Tolerance (error) Tolerance: 0.01  Set Maximum Num of Generations Max num of generations: 600  Set Crossover and Mutation rate Crossover: 80% Mutation: 1-Crossover = 20%

 y’=-y*cos(x)  Solvable  Ans: y=1 / e^(sin(x))  Using Genetic Programming Pop size: 1000 Domain [0, 5]  Problem Protected division

 y’=cos(2*x*y^2) No closed form solution Polyfit fails in matlab

…the explicit solution is…

 y = e^( ((((x / cos( sin( ((cos( ) / (x * ((x - (sin( e^( )) / (( (((cos( ) / (((x - e^( (sin( (x + ( cos( )))) * (sin( (x )) / (x + x ))))) / ) * cos( cos( cos( ((x ) / ((( / ) - ( ( / (cos( x ) / ( / cos( sin( ((( / cos( (( / ) / cos( cos( sin( ( ( (cos( ) / cos( )))))))))) ) + ( (cos( ) / cos( ))))))))))) ))))))) / ) + (cos( (( / ( * )) * (sin( (x + e^( ))) / (x - cos( e^( )))))) / cos( )))) / ( / cos( sin( ( ( (cos( ) / cos( )))))))))) * ))) / (sin( ) / ))))) / cos( sin( ((cos( ) / (x * ((x - (sin( e^( )) / (( (((cos( ) / ((( e^( (sin( (x )) * (sin( (x )) / (x + x ))))) / ) * cos( cos( cos( ))))) / ) + (cos( (e^( ) * (sin( (x + e^( ))) / (x - cos( e^( )))))) / cos( )))) / ( / cos( sin( ( ( (x / cos( )))))))))) * ))) / (sin( ) / ))))) - e^( (sin( (cos( (cos( ((( / ( * )) * (sin( (x + sin( ((( / ) / ) )))) / (x - cos( e^( ))))) )) / (((e^( x ) + sin( e^( (x / cos( cos( (x / e^( )))))))) - ((x / cos( sin( ((( cos( )) / (x * ( * ))) / (x / ))))) / )) + (( / ((x / cos( cos( x ))) - ( * cos( cos( ( / ((( * sin( x )) - cos( ( ( * cos( (x / )))))) ))))))) - cos( ))))) + (x + sin( ((( / ) / sin( )) ))))) * sin( (cos( (x / (cos( (x - (((cos( ) / (((x - e^( (sin( (x + (x - ((x - (sin( e^( )) / (( (((cos( ) / ((( e^( (sin( (x - (sin( (x )) ))) * (sin( (x )) / (x / ))))) ) + cos( cos( cos( ((x ) / ((( / ) / ( ( (cos( ) / ( / (x - cos( e^( )))))))) ))))))) * ) * (cos( (( / ( * )) * (sin( ( e^( ))) / (x - cos( e^( x )))))) + e^( )))) / ( / cos( sin( ( ( (cos( ) / cos( )))))))))) * )))) * sin( (cos( cos( )) + (sin( ) / (x - (((( / ) / sin( ((sin( (cos( (x - (x + e^( )))) + sin( (x + cos( sin( e^( ( * (sin( (x )) / (x + x )))))))))) / cos( x )) / x ))) ) )))))))) / ) * cos( ))) / ) / ((x - (cos( ) + (sin( e^( )) / (((x - (sin( e^( ((( / ((x / cos( cos( x ))) - ( * cos( (cos( ) / (x + cos( ( / x )))))))) - cos( (sin( (x - cos( (( / ( * (sin( ) * cos( )))) * ( / ( * )))))) * ))) / ))) / ( / ( / cos( ))))) * ) - cos( e^( )))))) / cos( cos( (x - cos( e^( ))))))))) ))) + (sin( e^( )) / (x - cos( e^( ))))))))) / ))  Not simplified (Maxima nor Matlab could simplify)  Fitness penalty for length

 Adapted Tiny_GP Java code Riccardo Poli. Found at  Burgess, Glenn. “Finding Approximate Analytic Solutions to Differential Equations” commissioned by Department of Defense (Australia) in 1999  Koza, John. Genetic Programming Riccardo Poli 