Genetic Programming - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Genetic Programming

Description:

Fitness function hard to define (how bad is a wrong answer? ... Some outperform previous patents. Balun circuit (4-fold improvement) ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 24
Provided by: jelleka
Category:

less

Transcript and Presenter's Notes

Title: Genetic Programming


1
Genetic Programming
  • Jelle Kastelein

2
Overview
  • Genetic algorithms
  • Introduction to genetic programming
  • Example Automatically programming a robot
  • Critiques
  • Overview of real life applications

3
Genetic Algorithms (GAs) 1
  • John Holland (1975)
  • Loosely inspired by biological evolution
  • Typically performs operations on bit strings
    (crossover, reproduction, mutation)
  • Hypothesis search space 2n, expensive

4
Genetic Algorithms (GAs) 2
  • Example
  • Crossover 111000 x 101010 by mask 111100 gives
    111010 and 101000
  • Mutation 111000 -gt 101000

5
Genetic Programming (GP)
  • John Koza (1992)
  • Evolve programs, rather than bit strings
  • Motivation
  • Tell computer what you want, rather than what to
    do. (Arthur Samuel)
  • Easier than writing complex programs(?)

6
3 Step algorithm
  • 1 Generate random initial population
  • 2 Do until termination criterium has been
    reached
  • A Execute each member and assign fitness
  • B Create new population according to fitness
    values by
  • I Reproduction (Copy)
  • II Crossover (Recombine)
  • 3 Select best (approximate) solution as final
    result.

7
A practical issue
  • Problem Many syntactically useless programs
  • Useful LISP
  • S-expressions
  • (OR (NOT D1) (AND D0 D1))
  • (OR (OR D1 (NOT D0)) (AND (NOT D0) (NOT D1)))

8
S-Expressions
  • (OR (NOT D1) (AND D0 D1)) (OR
    (OR D1 (NOT D0)) (AND (NOT D0) (NOT D1)))

9
Crossover
  • Crossover Fragments
  • Resulting Trees
  • OR(AND (NOT D0) (NOT D1)) (AND D0 D1))
  • OR(OR (D1 (NOT D0)) (NOT D1))

10
5 decisions
  • Set of terminals (constants, variables)
  • Set of primitive functions
  • Fitness function (domain dependent)
  • Parameters (population size, generations)
  • Termination criterium

11
Example problemBox moving robot
  • Robot pushes box towards wall in irregularly
    shaped room
  • Turn left (TL), right (TR) (30o), move forward
    (MF) (1ft / timestep)
  • No arguments, constant
  • 12 sonar sensors, BUMP, STUCK detector
  • Nothing is labeled or interpreted a priori
  • 2 versions (SS, MF0, TL0, TR0)

12
Ingredients
  • Set of terminals (T)
  • Input from sensors primitive motor functions
  • T S00, S01, ..., S11, SS, (MF), (TL), (TR)
  • Set of primitive functions
  • F IFSTK, IFBMP, IFLTE, PROGN2

13
Ingredients (continued)
  • Fitness
  • Distance between wall and closest box corner
    after a maximum of 350 timesteps summed over four
    fitness cases
  • Fitness of 0 is best

14
Ingredients (continued) (continued)
  • Parameters
  • Population size 500 (should reflect complexity)
  • Max 51 generations
  • Termination criteria
  • Program with a fitness of 0
  • 51 generations have been run

15
Results (Version 1)(45 gen., 307 p., f0.0)
16
Results (Version 2)(20 gen., 207 p., f0.0)
17
Comparison to Reinforcement Learning
  • GAs have been viewed as a form of (exotic) RL
    (Fitness Reward)
  • Differences with traditional RL
  • RL requires a large nr. of training steps, but...
  • GP requires a great deal of (parallel)
    computational force.
  • Koza Easier to implement (5 Vs. 13 decision
    steps)

18
RL solution issues
  • Reduce to 3 behaviors (find, push, recover from
    stalls)
  • Condense sensor info into NEAR/FAR (218 262144
    states)
  • Required designing filters to compensate for
    information loss
  • Problem specific
  • Consolidate states within hamming distance (29
    512)
  • Etc...
  • The point requires expertise within the domain.

19
GP Critique
  • Conventional programs are extremely sensitive to
    random changes.
  • Use less fragile representation
  • Fitness function hard to define (how bad is a
    wrong answer?)
  • Concentrate on application domains where fitness
    is easy to define
  • Computationaly intensive

20
So, why use GP?
  • Human competitive results can be obtained
  • Routineness and generality (domain inspecific)
  • Controller -gt antenna design -gt sorting network
  • Simply adapt functions and fitness
  • Exploiting parallel hardware

21
Applications
  • Planning (artificial ants)
  • Control
  • Boolean function learning
  • Classification and pattern recognition
  • Sorting Networks
  • Designing circuitry
  • Discovering inverse kinematic equations

22
Real life applications
  • 36 human competitive results
  • 21 duplicate patented inventions
  • E.g. Tunable, integrated active filter
  • Some solve problems in previously unseen ways
  • E.g. High-current load circuit
  • Some outperform previous patents
  • Balun circuit (4-fold improvement)
  • Voltage-current conversion circuit (62 of
    original error)
  • Transmembrane domain protein identifier (lower
    error than human written classifiers)

23
Questions?
Write a Comment
User Comments (0)
About PowerShow.com