Genetic Algorithms


Use ideas from biological evolution to evolve solutions to problems automatically, rather than designing them by hand.

Genetic algorithms recombine candidate solutions to form new candidates

(Reference: "Genetic Algorithms", John H. Holland, Scientific American, July 1992.)


Main Components of a Genetic Algorithm

f (00) --> 0.5
f (01) --> 0.9
f (10) --> 0.1
f (11) --> 0.0
 
  • A population of candidate solutions

  • Genetic Operators


    Simple Genetic Algorithm

    1. Generate random population of N L-bit chromosomes

    2. Calculate fitness f (x) of each chromosome in population

    3. Repeat until N offspring have been created:

    4. Replace current population with new population

    5. Go to step 2


    Schemas

    A schema is a template that represents a set of bit strings

    **1**0*  -->  { 1110000, 0010001, 0111001, 0010000, ... }

    Every schema s has an estimated average fitness f(s), determined by the fitness function and the current instances of s in the population

    Schema Theorem:

    Et+1  >   k · [ f(s) / f(pop) ] ·  Et                 (John Holland, 1975)

    where

    Schema s receives exponentially increasing or decreasing numbers of instances in the population, depending on ratio f(s) / f(pop)

    Above average schemas will tend to spread through population, below-average schemas will tend to disappear

    This happens simultaneously for all schemas present in the population ("implicit parallelism")


    Example

    Chromosome Fitness
    A: 00000110 2
    B: 11101110 6
    C: 00100000 1
    D: 00110100 3

    Average fitness of population = 12/4 = 3.0

    1. B and C selected, crossover not performed

    2. B mutated

        B: 11101110       ---->      B':  01101110

    3. B and D selected, crossover performed

        B:  11101110                     E:  10110100
                                   ---->
        D:  00110100                     F:  01101110

    4. E mutated

        E: 10110100       ---->       E':  10110000
     

    New population:
     
    Chromosome Fitness
    B': 01101110 5
    C: 00100000 1
    E': 10110000 3
    F:  01101110 5

    Best-fit string from previous population lost, but...

    Average fitness of population now 14/4 = 3.5
     


    Evolving Neural Network Architectures


    Evolving a Neural Controller for a Simulated Walking Insect


    Work by Randy Beer at Case Western Reserve

    Reference:  Beer, R.D. (1995), "A dynamical systems perspective on autonomous agents", Artificial Intelligence 72, 173-215.


    Architecture of the Neural Network Controller


    Genetic Algorithm


    Problem Requirements


    Results