Genetic Algorithms


Main Components of a Genetic Algorithm

f (00) --> 0.5
f (01) --> 0.9
f (10) --> 0.1
f (11) --> 0.0


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


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
 
 

Pyro pages on evolutionary algorithms

Example GA code from class



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:

Expected[ Nt+1 ]  >   [ f(s) / f(pop) ] ·  Nt · kc · km                 (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")


Evolving Neural Network Architectures


Evolving Weights in a Fixed Network


Evolving a Neural Controller for a Simulated Walking Insect

Network Architecture

Genetic Algorithm

Problem Requirements

Results



Evolutionary Reinforcement Learning