Genetic algorithms are a powerful search technique that makes use of a
biological metaphor: a set of candidate solutions is encoded as a
population of chromosomes, and genetic operators such as crossover and
mutation are applied to create a new population of solutions.
This technique is capable of performing an efficient parallel search
of very sparse search spaces. With the addition of a final local
search phase, such as hill-climbing, effective solutions to hard practical
problems can be achieved.
Applications of genetic algorithms include timetabling, scheduling,
and adapting models of complex systems to fit new data.
Recent work has shown that search control knowledge that controls
planning strategy can be learned using genetic algorithm techniques.