Genetic algorithms are a computer optimization technique for problems that do not have solution sets clearly defined by known functions. Genetic algorithms mimic the processes of natural evolution and selection. The first step in using genetic algorithms for optimization is to develop a random, non-optimal solution. This random, non-optimal solution is then mutated into several offspring. Those offspring are compared to each other and the "fittest" solutions are combined and mutated again, until solutions stop improving.
The best-known example of optimization using genetic algorithms is the Traveling Salesperson problem, which involves finding the most efficient route for a salesperson who wants to visit some large number of cities. One approach is to calculate the length of all possible routes. The difficulty here is that as the number of places to visit increases, the number of possible routes becomes so large as to be impossible to evaluate even on a supercomputer. Genetic Algorithms involve generating and evaluating a large number of possible solutions, and by using the concept of evolution, finds the optimal solution without having to try all possible solutions.