Difference between revisions of "Evolutionary algorithm"
BoxMonster (talk | contribs) (Replacing page with 'Conservapedia is nothing but a shameful corruption of human thought, a collaboration of close-minded, racist b@stards. So dependent on your stupid little Bible? Well that's fin...') |
(Undo revision 450788 by Special:Contributions/BoxMonster (User talk:BoxMonster)) |
||
| Line 1: | Line 1: | ||
| − | + | An '''Evolutionary algorithm''' (EA) is a stochastic numerical analysis that takes its inspiration from the [[Theory of evolution]] particularly the optimization power of [[natural selection]]. The main thing that sets an evolutionary algorithm apart from other stochastic methods is the use of a [[fitness function]] to select for optimal solutions. New solutions are a created by allowing existing ones to breed with each other. Also many algorithms use random alterations in the coded solution similar to the biological principle of [[mutation]]. The fitness program selects solutions that better solve the problem and increases the frequency of that solution and its descendants in the over all population of solutions. | |
| − | + | ==Types of Evolutionary algorithms== | |
| + | There are several different approaches to evolutionary computation the most frequently used fall into a few general categories: | ||
| + | *[[Genetic algorithm]] - This is the most popular type of EA, it involves using strings of numbers as your solution set. It uses [[recombination]], [[mutation]], and [[selection]] to find optimal solution sets. | ||
| + | *[[Genetic programming]] - Instead of strings of numbers, genetic programming uses whole programs and the fitness function is based on their ability to quickly and accurately solve the problem. | ||
| + | *[[Evolutionary programming]] - Similar to genetic programming, but the logical structure of the programs do not change, rather the numerical constructs do. | ||
| + | *[[Evolution strategy]] - Uses numerical vectors as a solution. | ||
| + | |||
| + | ==Popularity and usage== | ||
| + | |||
| + | Evolutionary algorithms are general purpose optimizers because they do not require any assumptions about the landscape of the fitness function. They are used in a wide range of problems in diverse fields and have proven to be a highly effective numerical analysis method. | ||
| + | |||
| + | The EA can often discover optimal solutions that human being's have never thought of. The Evolvable System's Group at NASA recently used a genetic algorithm to find an antenna design far superior to any previously created.<ref>http://ic.arc.nasa.gov/projects/esg/research/antenna.htm</ref> This ability of the EA to produce solutions that human being's have never even thought of is often used to attest to the power of evolutionary mechanism to produce novel and efficient solutions to problem sets. <ref>http://www.stewdean.com/alife/evolution.html</ref> | ||
| + | |||
| + | ==See Also== | ||
| + | [[Monte Carlo method]] | ||
| + | |||
| + | [[Neural networks]] | ||
| + | |||
| + | [[Genetic algorithm]] | ||
| + | |||
| + | ==References== | ||
| + | <references /> | ||
| + | [[category:mathematics]] | ||
| + | [[Category:Computer Science]] | ||
Revision as of 16:28, May 10, 2008
An Evolutionary algorithm (EA) is a stochastic numerical analysis that takes its inspiration from the Theory of evolution particularly the optimization power of natural selection. The main thing that sets an evolutionary algorithm apart from other stochastic methods is the use of a fitness function to select for optimal solutions. New solutions are a created by allowing existing ones to breed with each other. Also many algorithms use random alterations in the coded solution similar to the biological principle of mutation. The fitness program selects solutions that better solve the problem and increases the frequency of that solution and its descendants in the over all population of solutions.
Types of Evolutionary algorithms
There are several different approaches to evolutionary computation the most frequently used fall into a few general categories:
- Genetic algorithm - This is the most popular type of EA, it involves using strings of numbers as your solution set. It uses recombination, mutation, and selection to find optimal solution sets.
- Genetic programming - Instead of strings of numbers, genetic programming uses whole programs and the fitness function is based on their ability to quickly and accurately solve the problem.
- Evolutionary programming - Similar to genetic programming, but the logical structure of the programs do not change, rather the numerical constructs do.
- Evolution strategy - Uses numerical vectors as a solution.
Popularity and usage
Evolutionary algorithms are general purpose optimizers because they do not require any assumptions about the landscape of the fitness function. They are used in a wide range of problems in diverse fields and have proven to be a highly effective numerical analysis method.
The EA can often discover optimal solutions that human being's have never thought of. The Evolvable System's Group at NASA recently used a genetic algorithm to find an antenna design far superior to any previously created.[1] This ability of the EA to produce solutions that human being's have never even thought of is often used to attest to the power of evolutionary mechanism to produce novel and efficient solutions to problem sets. [2]