Chapter 1
Genetic Algorithms: An Overview
Types of Evolutionary Computation
- Evolution Strategies. Historically, these were used to optimize
real-valued parameters.
- Evolutionary Programming.
- Genetic Algorithms.
Appeal of Evolution?
- Parallel.
- Adaptive.
- Bottom-up.
- Innovative.
Terminology
- Chromosome. A string of DNA. Humans have 23 pairs.
- Gene. The building block for a chromosome.
- Allele. A particular value for a gene.
- Locus. The position of a gene on a chromosome.
- Genome. All of an organism's chromosomes.
- Genotype vs. Phenotype.
- Haploid vs. Diploid.
- Recombination.
- Mutation.
- Fitness. Common biological measures are viability or fertility.
- Fitness Landscape.
Prototypical GA Elements
- Population of chromosomes.
- Fitness based selection.
- Crossover.
- Mutation.
Simple GA
- Generate a random initial population of n individuals.
Call this generation 0.
- Calculate the fitness of each individual.
- Create the next generation of size n.
-
- Select two individuals based on their fitness.
- With pc, perform crossover.
- With pm at each locus, perform mutation.
- Go to step 2.
Types of Search
- Search for stored data.
- Search for paths to goals.
- Search for solutions.
GAs are especially well-suited to search for solutions.
Other General Purpose (Weak) Search Techniques
Applications
Optimization, automatic programming, machine learning, economics,
immun systems, ecology, population genetics, evolution and learning,
and social systems.
Prisoner's Dilemma
- Axelrod.
- CC, CD, DC, DD are the possible scenarios.
- The current move is to be determined based on the past 3 moves.
- A chromosome is 70 bits long. 70 = 43 + 6
(for the 3 initial hypothetical games). Thus, the search
space size = 270.
- Population size = 20.
- Fitness is calculated by playing the strategy against 8 human
generated strategies, including tit-for-tat.
- Number of generations = 50.
- Result: the GA typically evolved a better performing strategy.
Sorting Networks
- Hillis.
- Used the host-parasite idea to help generate solutions.
Theory (Using a Binary Representation)
Note: Use Mozilla Firefox to view.
- A schema consists of 0, 1 and *.
- For example, hyperplane H = 1 * * 0 0.
- 1 1 1 0 0 is an instance of H.
- The order of H, o(H) = 3.
- The defining length of H is the distance between its
outermost defined bits, d(H) = 4.
- The length of the chromosome, L (5 for 1 1 1 0 0).
- The number of possible schemas is 3L.
- The number of possible subsets of strings is 22L.
- A chromosome is an instance of 2L schemas.
- A population of n chromosomes contains instances of between
2L and n*2L schemas.
- Thus, there is an implicit parallelism in a GA.
- The number of instances of H at time t, m(H, t).
- The average fitness of the instances of H at time t,
û(H, t).
- The fitness of chromosome x, f(x).
- The average fitness at time t, ḟ(t).
- Selection only, E(m(H,t+1)) = [û(H,t) / ḟ(t) ] * m(H, t)
- Survive crossover, Sc ≥ 1 - pc[d(H) / (L - 1)]
- Survive mutation, Sm = (1 - pm)o(H)
- Schema Theorem:
E(m(H,t+1)) ≥ [û(H,t) / ḟ(t) ] * m(H, t)
* Sc * Sm
- Building Block Hypothesis: Crossover is a major source of a
GA's power. It recombines instances of good schemas to form instances
of equally good or better, higher order schemas.
Major GA Conferences