1 / 142

GENETIC PROGRAMMING

GENETIC PROGRAMMING. John R. Koza Consulting Professor (Biomedical Informatics) Department of Medicine School of Medicine Consulting Professor Department of Electrical Engineering School of Engineering Stanford University Stanford, California 94305 koza@stanford.edu

mirra
Download Presentation

GENETIC PROGRAMMING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENETIC PROGRAMMING

  2. John R. Koza Consulting Professor (Biomedical Informatics) Department of Medicine School of Medicine Consulting Professor Department of Electrical Engineering School of Engineering Stanford University Stanford, California 94305 koza@stanford.edu http://www.smi.stanford.edu/people/koza/

  3. THE CHALLENGE OF ARTIFICIAL INTELLIGENCE “How can computers learn to solve problems without being explicitly programmed? In other words, how can computers be made to do what is needed to be done, without being told exactly how to do it?”  Attributed to Arthur Samuel (1959)

  4. CRITERION FOR SUCCESS "The aim [is] ... to get machines to exhibit behavior, which if done by humans, would be assumed to involve the use of intelligence.“  Arthur Samuel (1983)

  5. MAIN POINT No. 1 • Genetic programming now routinely delivers high-return human-competitive machine intelligence

  6. MAIN POINT No. 2 • Genetic programming is an automated invention machine

  7. MAIN POINT No. 3 • Genetic programming has delivered a progression of qualitatively more substantial results in synchrony with five approximately order-of-magnitude increases in the expenditure of computer time

  8. MAIN POINT No. 1 • Genetic programming now routinely delivers high-returnhuman-competitive machine intelligence

  9. “HUMAN-COMPETITIVE” • The result is equal or better than human-designed solution to the same problem

  10. NASA EVOLVED ANTENNA X-Band Antenna for NASA's Space Technology 5 Mission in 2004

  11. “HUMAN-COMPETITIVE” • Previously patented, an improvement over a patented invention, or patentable today

  12. DEFINITION OF “HIGH-RETURN” The AI ratio (the “artificial-to-intelligence” ratio) of a problem-solving method as the ratio of that which is delivered by the automated operation of the artificial method to the amount of intelligence that is supplied by the human applying the method to a particular problem

  13. DEFINITION OF “ROUTINE” A problem solving method is routine if it is general and relatively little human effort is required to get the method to successfully handle new problems within a particular domain and to successfully handle new problems from a different domain.

  14. PROGRESSION OF QUALITATIVELY MORE SUBSTANTIAL RESULTS PRODUCED BY GP • Toy problems • Human-competitive non-patent results • 20th-century patented inventions • 21st-century patented inventions • Patentable new inventions

  15. Decision trees If-then production rules Horn clauses Neural nets Bayesian networks Frames Propositional logic Binary decision diagrams Formal grammars Coefficients for polynomials Reinforcement learning tables Conceptual clusters Classifier systems REPRESENTATIONS

  16. A COMPUTER PROGRAM

  17. DESIRED OUTPUT OF PROGRAM

  18. PROGRAM TREE (+ 1 2 (IF (> TIME 10) 3 4))

  19. GENETIC PROGRAMMING • Create initial population (random) • Main generational loop • Execute all programs • Evaluate fitness of all programs • Select single individuals or pairs of individuals based on fitness to participate in the genetic operations (mutation, crossover, reproduction, architecture-altering operations) • Termination Criterion

  20. CREATING RANDOM PROGRAMS

  21. CREATING RANDOM PROGRAMS • Function Set F = {+, -, *, %, IFLTE} • Terminal Set T = {X, Y, Random-Values}

  22. CREATING RANDOM PROGRAMS • The random programs are: • Of different sizes and shapes • Syntactically valid • Executable

  23. DARWINIAN SELECTION • Selection based on fitness • Better individual more likely to be selected • Probabilistic selection - Best is not always picked - Worst is not necessarily excluded

  24. MUTATION OPERATION

  25. MUTATION OPERATION • Select 1 parent probabilistically based on fitness • Pick point from 1 to NUMBER-OF-POINTS • Delete subtree at the picked point • Grow new subtree at the mutation point in same way as generated trees for initial random population (generation 0) • The result is a syntactically valid executable program • Put the offspring into the next generation of the population

  26. CROSSOVER OPERATION

  27. CROSSOVER OPERATION • Select 2 parents probabilistically based on fitness • Randomly pick a number from 1 to NUMBER-OF-POINTS for 1st parent • Independently randomly pick a number for 2nd parent • The result is a syntactically valid executable program • Put the offspring into the next generation of the population • Identify the subtrees rooted at the two picked points

  28. REPRODUCTION OPERATION • Select parent probabilistically based on fitness • Copy it (unchanged) into the next generation of the population

  29. PROBABILISTIC STEPS • The initial population is typically random • Probabilistic selection based on fitness - Best is not always picked - Worst is not necessarily excluded • Random picking of mutation and crossover points

  30. ILLUSTRATIVE GP RUN

  31. SYMBOLIC REGRESSION

  32. 5 MAJOR PREPARATORY STEPS OF GP • Determining the set of terminals • Determining the set of functions • Determining the fitness measure • Determining the parameters for the run • Determining the criterion for terminating a run

  33. PREPARATORY STEPS

  34. SYMBOLIC REGRESSION POPULATION OF 4 RANDOMLY CREATED INDIVIDUALS FOR GENERATION 0

  35. First offspring of crossover of (a) and (b)  picking “+” of parent (a) and left-most “x” of parent (b) as crossover points Second offspring of crossover of (a) and (b)  picking “+” of parent (a) and left-most “x” of parent (b) as crossover points Mutant of (c) picking “2” as mutation point Copy of (a) SYMBOLIC REGRESSION x2 + x + 1 GENERATION 1

  36. CLASSIFICATION

  37. GP TABLEAU – INTERTWINED SPIRALS

  38. BOX MOVER – BEST OF GEN 0

  39. BOX MOVERGEN 45 – FITNESS CASE 1

  40. GENETIC PROGRAMMING: ON THE PROGRAMMING OF COMPUTERS BY MEANS OF NATURAL SELECTION(Koza 1992)

  41. 2 MAIN POINTS FROM 1992 BOOK • Virtually all problems in artificial intelligence, machine learning, adaptive systems, and automated learning can be recast as a search for a computer program. • Genetic programming provides a way to successfully conduct the search for a computer program in the space of computer programs.

  42. PROGRESSION OF QUALITATIVELY MORE SUBSTANTIAL RESULTS PRODUCED BY GP • Toy problems • Human-competitive non-patent results • 20th-century patented inventions • 21st-century patented inventions • Patentable new inventions

  43. COMPUTER PROGRAMS • Subroutines provide one way to REUSE code  possibly with different instantiations of the dummy variables (formal parameters) • Loops (and iterations) provide a 2nd way to REUSE code • Recursion provide a 3rd way to REUSE code • Memory provides a 4th way to REUSE the results of executing code

  44. DIFFERENCE IN VOLUMES D = L0W0H0 – L1W1H1

  45. EVOLVED SOLUTION (- (* (* W0 L0) H0) (* (* W1 L1) H1))

  46. AUTOMATICALLY DEFINED FUNCTION volume

  47. AUTOMATICALLY DEFINED FUNCTION volume (progn (defun volume (arg0 arg1 arg2) (values (* arg0 (* arg1 arg2)))) (values (- (volume L0 W0 H0) (volume L1 W1 H1))))

  48. AUTOMATICALLY DEFINED FUNCTIONS (SUBROUTINES) • ADFs provide a way to REUSE code • Code is typically reused with different instantiations of the dummy variables (formal parameters)

  49. DIVIDE AND CONQUER

  50. DIVIDE AND CONQUER • Decompose a problem into sub-problems • Solve the sub-problems • Assemble the solutions of the sub-problems into a solution for the overall problem

More Related