220 likes | 233 Views
Explore the effectiveness and limitations of genetic programming as a problem-solving approach through a case study on planet orbits. Discover how genetic programming can be applied in various fields such as robotics, image recognition, and complex circuit design.
E N D
Is GP a solution looking for a problem? So far, there are 36 instances where genetic programming has produced a ‘human-competitive’ result. (http://www.genetic-programming.com/humancompetitive.html) These examples come from the fields of computational molecular biology, cellular automata, sorting networks, and the synthesis of the design of both the topology and component sizing for complex structures, such as analog electrical circuits and controllers. However, the output of a GP may be difficult to understand!
Case Study: Planet Orbits • Given: table of planet distances to sun and period of orbit (training set): Planet Distance A Period P Earth 1.00 1.00 Venus 0.72 0.61 Jupiter 5.20 11.90 • Task: write a program that computes the period from a given distance • Solution: (Kepler’s third law) P2 = c A3
Generate Random Programs • Generate well-formed formulas using prefix notation from variable A and a set of function symbols, for example { +, -, *, %, sqrt } • Examples: • ( + A ( * ( sqrt A ) A ) ) • (* A (- (* A A) (sqrt A) ) )
Fitness Function • Measure the performance of the candidate programs on the training data • For example: Fitness is the number of output values generated by the program which come within 20% of the correct values.
Where is GP appropriate? • Conventional mathematical analysis cannot provide analytical solutions • Relationships between variables is poorly understood • Approximate solutions are acceptable • Large training sets are available • Small improvements (over other approaches) are valuable
Application Areas • Robot motion • Image recognition • Facility layout problems • Data mining (bio-computing) • Complex Circuit design
Critique • Genetic programming is limited by the following factors: • Conventional programs are extremely fragile wrt random changes. Possible direction: Use less fragile representation • Fitness function hard to define (binary nature of many solutions; how bad is a wrong answer?) Possible direction: concentrate on application domains where fitness is easy to define
Hybrid systems • Evolutionary computation techniques can be mixed together to form hybrid models, e.g. genetic algorithms for evolving rules and neighbourhoods for cellular automata; genetic programming for evolving fitness formulae for genetic algorithms. • Evolutionary computation techniques can be mixed with other ‘classical’ techniques, e.g. genetic algorithms for evolving artificial neural network architectures and rules; genetic programming for evolving rules that are consistent with data.
Philosophical implications • The issue is what counts as ‘program’ in ‘All there is to the mind is to have the right program’. • Classical symbolic AI adopts classical computer science concepts, such as top-down design • ‘Emergent’ symbolic approaches adopt a ‘bottom-up’ approach, where through local interactions a system performs at the macroscopic/global level a function that cannot be predicted from a knowledge of local, microscopic interactions.
Relationship to science and philosophy? • Alife is an attempt to model how individual organisms can cooperate through local interaction • Genetic programming is an attempt to model how new and ‘better’ organisms arise through mutation and crossover • Is there a fifth ‘big’ question in science?
Relationship to science and philosophy? • If we humans have had the same genome for 200,000 years or so, why did our ancestors not build rockets and write texts on the origins of the universe? • Somehow, we humans have become smarter and more intelligent even though our genetic make-up has been fundamentally the same • GAs model how a population of individuals can evolve even better individuals through mutation and crossover
What are Cellular Automata? • Computer simulations which emulate the laws of nature • Discrete time/space logical universes • Complexity from simple rule set: reductionist approach • Deterministic local physical model • Rough estimation of nature: no precision • Does not reflect ‘closed sphere’ life: can achieve same end results given rules and initial conditions
History • Original experiment created to see if simple rule system could create “universal computer” • Universal Computer (Turing): a machine capable of emulating any kind of information processing through simple rule system • late 1960’s: John Conway invents “Game of Life”
Game of Life • Simplest possible universe capable of computation • Basic design: rectangular grid of “living” (on) and “dead” (off) cells • Complex patterns result from simple structures • In each generation, cells are governed by three simple rules • Which patterns lead to stability? To chaos?
Simulation Goals • Avoid extremes: patterns that grow too quickly (unlimited) or patterns that die quickly • Desirous behavior: • No initial patterns where unlimited growth is obvious through simple proof • Should discover initial patterns for which this occurs • Simple initial patterns should grow and change before ending by: • fading away completely • stabilizing the configuration • oscillating between 2 or more stable configurations • Behavior of population should be relatively unpredictable
Conway’s Rules • Death: if the number of surrounding cells is less than 2 or greater than 3, the current cell dies • Survival: if the number of living cells is exactly 2, or if the number of living cells is 3 (including the current cell), maintain status quo • Birth: if the current cell is dead, but has three living cells surrounding it, it will come to life
Game Examples • Conway’s Game of Life (link) • Life by other rules (link)