Genetic Algorithms

Li M. Fu

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Introduction

Genetic algorithms are algorithms for optimization and learning based on the mechanism of genetic evolution. The field of genetic algorithms was founded by John Holland (1975). Such algorithms have been applied to problems that are difficult and important, and are being applied to artificial intelligence systems.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Topics

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A genetic algorithm consists of five components:

Over time, the population evolves to contain better individuals and finally converges to globally optimal (or near optimal) results.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

An Analysis

Let m(H, t) denote the number of chromosomes of a particular configuration H at time t. Suppose during reproduction, a chromosome is copied according to its fitness, and the old population is replaced by the new population. Then, we may estimate the number at time t + 1 by (Goldberg 1989)
		    f(H)
m(H, t+1) = m(H, t)-----
		    E[f]
where f(H) is the fitness of H and E[f] is the average fitness of the entire population. Starting at t = 0 and assuming stationary fitness values, we obtain the equation
		     f(H)
m(H, t+1) = m(H, 0)(-----)t
		     E[f]
Thus, it is clear that the numbers of favorable (unfavorable) configurations will increase (decrease) exponentially.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Schema Theory

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A Simple Genetic Algorithm

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Example

A chromosome is represented as a fixed-length string of 0 and 1. Two strings undergo crossover at a random position so that all bits are swapped from that position through the end. Suppose the initial population consists of four strings:
No.  String  Fitness  
1  111000  90 
2  010101  240 
3  001011  150 
4  101110  320  
Now, suppose chromosomes 2 and 3 are selected for reproduction and crossover occurs at position 3 to yield two new strings:
No.  String  Fitness  
5  011011  470 
6  000101  80  
Assume that the population size is fixed. At this point, chromosome 5 can replace chromosome 1 to give rise to a new population. Iterations like this continue until no further improvement for the population is seen.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Example

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Example

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Evolution: Genetics and Learning

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Comments on Genetic Algorithms

A list of features has been identified which make a domain suitable for the application of genetic algorithms (Davis 1987): Domains should be multimodal; domains should not exhibit a high degree of epistasis (epistasis is the inhibition of one part of a solution by the action of another); domains should exhibit detectable and encodable regularities. The building block hypothesis has been suggested. Simple genetic algorithms depend on the recombination of building blocks to seek the best solutions. If the building blocks are misleading, the algorithms may still be clever enough to figure out (near) optimal solutions (by mutation, for example) but may take a longer time.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Summary

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Web Material

Genetic Algorithms

Genetic Programming