genetic algorithms

John Holland, the pioneer of genetic algorithms, sees them as "a theoretical tool for investigating the phenomena generated by complex adaptive systems -- a collective designation for non-linear systems defined by the interaction of large numbers of adaptive agents (economies, political systems, ecologies, immune systems, developing embryos, brains, and the like)." (from preface to 1992 edition)

(cf adaptation)

In an important sense, genetic algorithms are bred, not designed. For Holland, this "eliminates one of the greatest hurdles in software design: specifying in advance all the features of a problem." While Holland refers to a market mechanism, the primary underlying analogy operating in genetic algorithms, which their name alludes to, is evolution through natural selection.

Genetic algorithms engage in a kind of sexual exchange, recombining parts of their program sequences in order to evolve more successful variants. They work with populations acting in parallel. Interestingly enough, Holland uses a "market" mechanism to reward success. For him the terms of dynamics such as basins of attraction etc, are only of limited relevance because he sees these systems as "far away" from optimum and sees competition as determining aggregate behaviour.

The language of complexity, however, seems more relevant: "swarms" of slightly different strategies test the entire problem landscape, looking to climb its peaks. By mating the best-performing algorithms, the system concentrates on the most promising areas and thus seeks the its important peaks. Large numbers of local optima, instead of diverting the plan from further improvement, are exploited to improve performance on an interim basis while the search for more global optima goes on.