Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Lecture 42 of 42 Genetic Programming.

Slides:



Advertisements
Similar presentations
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
Advertisements

A simple EA and Common Search Operators Temi avanzati di Intelligenza Artificiale - Lecture 2 Prof. Vincenzo Cutello Department of Mathematics and Computer.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Chapter 14 Genetic Algorithms.
Tutorial 1 Temi avanzati di Intelligenza Artificiale - Lecture 3 Prof. Vincenzo Cutello Department of Mathematics and Computer Science University of Catania.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Algorithms: A Tutorial
Computing & Information Sciences Kansas State University Lecture 37 of 42 CIS 530 / 730 Artificial Intelligence Lecture 37 of 42 Genetic Programming Discussion:
Genetic Algorithm.
Computing & Information Sciences Kansas State University Friday, 21 Nov 2008CIS 530 / 730: Artificial Intelligence Lecture 35 of 42 Friday, 21 November.
CS Machine Learning Genetic Algorithms (II).
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Computing & Information Sciences Kansas State University Monday, 27 Nov 2006CIS 490 / 730: Artificial Intelligence Lecture 38 of 42 Monday, 27 November.
Computing & Information Sciences Kansas State University Wednesday, 19 Nov 2008CIS 530 / 730: Artificial Intelligence Lecture 34 of 42 Wednesday, 19 November.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Computer Science 313 – Advanced Programming Topics.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Genetic Algorithms Introduction Advanced. Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications.
1 Machine Learning: Lecture 12 Genetic Algorithms (Based on Chapter 9 of Mitchell, T., Machine Learning, 1997)
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
1 Chapter 14 Genetic Algorithms. 2 Chapter 14 Contents (1) l Representation l The Algorithm l Fitness l Crossover l Mutation l Termination Criteria l.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Friday, 16 February 2007 William.
Machine Learning Chapter 9. Genetic Algorithm
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Edge Assembly Crossover
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Lecture 37 of 42 Monday, 01 December.
CpSc 881: Machine Learning Genetic Algorithm. 2 Copy Right Notice Most slides in this presentation are adopted from slides of text book and various sources.
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Wednesday, 21 February 2007.
Computing & Information Sciences Kansas State University Monday, 27 Nov 2006CIS 490 / 730: Artificial Intelligence Lecture 38 of 42 Monday, 27 November.
Computing & Information Sciences Kansas State University Monday, 24 Nov 2008CIS 530 / 730: Artificial Intelligence Lecture 36 of 42 Monday, 24 November.
Chapter 9 Genetic Algorithms Evolutionary computation Prototypical GA
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Monday, 25 February 2008 William.
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
Genetic Algorithms. Solution Search in Problem Space.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Intelligent Exploration for Genetic Algorithms Using Self-Organizing.
Introduction to genetic algorithm
Chapter 14 Genetic Algorithms.
Introduction to Genetic Algorithms and Evolutionary Computing
Genetic Algorithm in TDR System
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Bulgarian Academy of Sciences
Traffic Simulator Calibration
Lecture 2 of Computer Science II
An evolutionary approach to solving complex problems
Genetic Algorithms, Search Algorithms
metaheuristic methods and their applications
Artificial Intelligence Chapter 4. Machine Evolution
Genetic Algorithms: A Tutorial
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
دانشگاه صنعتی امیرکبیر
Artificial Intelligence Chapter 4. Machine Evolution
EE368 Soft Computing Genetic Algorithms.
A Gentle introduction Richard P. Simpson
Machine Learning: UNIT-4 CHAPTER-2
Artificial Intelligence CIS 342
Traveling Salesman Problem by Genetic Algorithm
Chapter 9 Genetic Algorithms
Genetic Algorithms: A Tutorial
Presentation transcript:

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Lecture 42 of 42 Genetic Programming William H. Hsu Department of Computing and Information Sciences, KSU Canvas course page: Course web site: Instructor home page: Reading for Next Class: Final Exam Review

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Simple Genetic Algorithm (SGA) Algorithm Simple-Genetic-Algorithm (Fitness, Fitness-Threshold, p, r, m) // p: population size; r: replacement rate (aka generation gap width), m: string size  P  p random hypotheses// initialize population  FOR each h in P DO f[h]  Fitness(h)// evaluate Fitness: hypothesis  R  WHILE (Max(f) < Fitness-Threshold) DO  1. Select: Probabilistically select (1 - r)p members of P to add to P S  2. Crossover:  Probabilistically select (r · p)/2 pairs of hypotheses from P  FOR each pair DO P S += Crossover ( )// P S [t+1] = P S [t] +  3. Mutate: Invert a randomly selected bit in m · p random members of P S  4. Update: P  P S  5. Evaluate: FOR each h in P DO f[h]  Fitness(h)  RETURN the hypothesis h in P that has maximum fitness f[h]

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Schema Theorem Theorem  m(s, t)  number of instances of schema s in population at time t   average fitness of population at time t   average fitness of instances of schema s at time t  p c  probability of single point crossover operator  p m  probability of mutation operator  l  length of individual bit strings  o(s)  number of defined (non “*”) bits in s  d(s)  distance between rightmost, leftmost defined bits in s Intuitive Meaning  “The expected number of instances of a schema in the population tends toward its relative fitness”  A fundamental theorem of GA analysis and design

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Lecture Outline Readings / Viewings  View GP videos 1-3  GP1 – Genetic Programming: The Video  GP2 – Genetic Programming: The Next Generation  GP3 – Genetic Programming: Human-Competitive  Suggested: Chapters 1-5, Koza Previously  Genetic and evolutionary computation (GEC)  Generational vs. steady-state GAs; relation to simulated annealing, MCMC  Schema theory and GA engineering overview Today: GP Discussions  Code bloat and potential mitigants: types, OOP, parsimony, optimization, reuse  Genetic programming vs. human programming: similarities, differences Thursday: Course Review

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition GP Flow Graph Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Structural Crossover Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Structural Mutation Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Genetic Programming: The Next Generation (Synopsis and Discussion) Automatically-Defined Functions (ADFs)  aka macros, anonymous inline functions, subroutines  Basic method of software reuse Questions for Discussion  What are advantages, disadvantages of learning anonymous functions?  How are GP ADFs similar to and different from human-produced functions? Exploiting Advantages  Reuse  Innovation Mitigating Disadvantages  Potential lack of meaning – semantic clarity issue (and topic of debate)  Redundancy  Accelerated bloat – scalability issue

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Code Bloat [1]: Problem Definition Definition  Increase in program size not commensurate with increase in functionality (possibly as function of problem size)  Compare: structural criteria for overfitting, overtraining Scalability Issue  Large GPs will have this problem  Discussion: When do we expect large GPs?  Machine learning: large, complex data sets  Optimization, control, decision making / DSS: complex problem What Does It Look Like? What Can We Do About It?  ADFs  Advanced reuse techniques from software engineering: e.g., design patterns  Functional, object-oriented design; theory of types  Controlling size: parsimony (MDL-like), optimization (cf. compiler)

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Code Bloat [2]: Mitigants Automatically Defined Functions Types  Ensure  Compatibility of functions created  Soundness of functions themselves  Define: abstract data types (ADTs) – object-oriented programming  Behavioral subtyping – still “future work” in GP  Generics (cf. C++ templates)  Polymorphism Advanced Reuse Techniques  Design patterns  Workflow models  Inheritance, reusable classes

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Code Bloat [3]: More Mitigants Parsimony (cf. Minimum Description Length)  Penalize code bloat  Inverse fitness = loss + cost of code (evaluation)  May include terminals Target Language Optimization  Rewriting of constants  Memoization  Loop unrolling  Loop-invariant code motion

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Genetic Programming 3 (Synopsis and Discussion [1]) 16 Criteria for Automatic Program Synthesis by Computational Intelligence  1. Specification: starts with what needs to be done  2. Procedural representation: tells us how to do it  3. Algorithm implementation: produces a computer program  4. Automatic determination of program size  5. Code reuse  6. Parametric reuse  7. Internal storage  8. Iteration (while / for), recursion  9. Self-organization of hierarchies  10. Automatic determination of architecture  11. Wide range of programming constructs  12. Well-defined  13. Problem independent

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Genetic Programming 3 (Synopsis and Discussion [2]) 16 Criteria for Automatic Program Synthesis …  14. Generalization: wide applicability  15. Scalability  16. Human-competitiveness Current Bugbears: Generalization, Scalability Discussion: Human Competitiveness?

Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition More Food for Thought and Research Resources Discussion: Future of GP Current Applications Conferences  GECCO: ICGA + ICEC + GP  GEC  EuroGP Journals  Evolutionary Computation Journal (ECJ)  Genetic Programming and Evolvable Machines (GPEM)