Evolutionary algorithms are extremely effective, but they may be computationally expensive. Where speed is an issue, they may be combined with faster, less robust algorithms, to gain speed without sacrificing robustness entirely. The most common form implements a local search algorithm - usually hill-climbing - inside the evolutionary algorithm. When the evolutionary process generates an individual, its fitness is not determined immediately. Instead, it is used as the starting point for the faster local search algorithm to search the immediate neighborhood. The best fitness achieved by local search is assigned as the fitness of the individual.
When local search is incorporated into an evolutionary algorithm, it is analogous to the lifetime adaptation of an individual. Thus, we may speak either of Lamarckian algorithms, where the adapted phenotype is incorporated into the gene pool (the individual used in the next generation of evolution is the individual as updated by local search) or of Darwinian algorithms, in which only the fitness is passed back into the evolutionary search (the original individual is used in the next generation of evolution). As in most aspects of evolutionary algorithms, we get a tradeoff:Lamarckian algorithms find solutions faster, but they are less robust.
Was this article helpful?