| Genetic Algorithms - Overview |
Cross a genetic algorithm with your favorite toy from childhood (Lego!)
and you get intelligent, biologically reminiscent structures. Dr. Pablo
Funes and his team at the Dynamical & Evolutionary Machine
Organization devised a very cool simulator that can be told to create
Lego structures of various kinds, such as bridges, using evolutionary
algorithms. The creative aspect provides interesting food for thought:
the system is given a goal and the solution design is entirely
dependant on the machine. |
| Genetic
algorithms (GAs) are procedures or methods for solving a wide class of
problems using many of the principles of Darwinian evolution.
Programs that use genetic algorithms usually start off with a
relatively random groups of solvers.
After the solvers run, the program evaluates the quality of the
solution. The solvers that yield the poorest results "die" (i.e.,
are removed from the solver pool by the program), and the remaining
ones get to reproduce. Typically the program changes a feature of
the surviving solvers during the reproduction, then adds the
"offspring" to the pool to compete against the previous generation's
survivors.. GAs are capable of finding solutions to many problems which can't be solved by more traditional methods. Among these problems is the Traveling Salesman problem. Given a salesman that has to travel to a number of cities with known coordinates, what is the shortest path or time possible to visit all cities? Essentially, Genetic Algorithms (GA) are a method of "breeding" computer programs and solutions to optimization or search problems by means of simulated evolution. Processes loosely based on natural selection, crossover, and mutation are repeatedly applied to a population of binary strings which represent potential solutions. Over time, the number of above-average individuals increases, and better fit individuals are created, until a good solution to the problem at hand is found. Genetic algorithms are not too hard to program or understand, since they are biological based. Thinking in terms of real-life evolution may help you understand. Here is the general algorithm for a GA:
Superficially, GAs may look like some peculiar variation on the Monte Carlo method. There are two crucial differences: First, the probability of a given solution being selected to participate in a breeding event is made proportional to that solution's fitness (step 2); better trial solutions breed more often, the computational equivalent of natural selection. Second, the production of new trial solutions from existing ones occurs through breeding. This involves encoding the parameters defining each solution as a string-like structure ("chromosome"), and performing genetically inspired operations of crossover and mutation to the pair of chromosomes encoding the two parents, the end result of these operations being two new chromosomes defining the two offspring. Applying the reverse process of decoding those strings into solution parameters completes the breeding process and yields two new offspring solutions that incorporate information from both parents. |
| Home
|
Overview
|
History
|
Tutorials
|
Multimedia and
Lectures Examples and Simulations | Advanced Topics |