Holland's schema theorem

**Holland's schema theorem**, also called the **fundamental theorem of genetic algorithms**, is a theorem regarding genetic algorithms. It says that individuals with a fitness that is higher than average are more likely to prevail.  John Holland proposed the theorem in the 1970s. At the start, it was used as the foundation for explanations of the power of genetic algorithms. This interpreation  has been criticized in several publications, where the Schema Theorem is shown to be a special case of the Price equation with the schema indicator function as the macroscopic measurement.

A schema is a template that identifies a subset of strings with similarities at certain string positions. Schemata are a special case of cylinder sets, and hence form a topological space.

## Description

Consider binary strings of length 6. The schema `1*10*1` describes the set of all strings of length 6 with 1's at positions 1, 3 and 6 and a 0 at position 4. The * is a wildcard symbol, which means that positions 2 and 5 can have a value of either 1 or 0. The _order of a schema_  is defined as the number of fixed positions in the template, while the _defining length_  is the distance between the first and last specific positions. The order of `1*10*1` is 4 and its defining length is 5. The _fitness of a schema_ is the average fitness of all strings matching the schema. The fitness of a string is a measure of the value of the encoded problem solution, as computed by a problem-specific evaluation function. Using the established methods and genetic operators of genetic algorithms, the schema theorem states that short, low-order schemata with above-average fitness increase exponentially in successive generations. Expressed as an equation:

Here  is the number of strings belonging to schema  at generation ,  is the _observed_ average fitness of schema  and  is the _observed_ average fitness at generation . The probability of disruption  is the probability that crossover or mutation will destroy the schema . It can be expressed as:

where  is the order of the schema,  is the length of the code,  is the probability of mutation and  is the probability of crossover. So a schema with a shorter defining length  is less likely to be disrupted.
An often misunderstood point is why the Schema Theorem is an _inequality_ rather than an equality. The answer is in fact simple: the Theorem neglects the small, yet non-zero, probability that a string belonging to the schema  will be created "from scratch" by mutation of a single string (or recombination of two strings) that did _not_ belong to  in the previous generation.

## Limitation

The schema theorem holds under the assumption of a genetic algorithm that maintains an infinitely large population, but does not always carry over to (finite) practice: due to sampling error in the initial population, genetic algorithms may converge on schemata that have no selective advantage. This happens in particular in multimodal optimization, where a function can have multiple peaks: the population may drift to prefer one of the peaks, ignoring the others.

The reason that the Schema Theorem cannot explain the power of genetic algorithms is that it holds for all problem instances, and cannot distinguish between problems in which genetic algorithms perform poorly, and problems for which genetic algorithms perform well.

## References

- J. Holland, _Adaptation in Natural and Artificial Systems_, The MIT Press; Reprint edition 1992 (originally published in 1975).
- J. Holland, _Hidden Order: How Adaptation Builds Complexity_, Helix Books; 1996.