Difference between revisions of "Evolutionary algorithm"

From Lesswrongwiki
Jump to: navigation, search
(Possible superintelligence and shows variation in genetic algorithms to quickly demonstrate their viability)
Line 1: Line 1:
 
{{wikilink}}
 
{{wikilink}}
An '''Evolutionary algorithm''' is an algorithm which mimics biological evolution to develop a solution to a problem. Starting with a set of initial possible solutions and test criteria, the algorithm tests each solution, selects the most promising, duplicates, recombines and mutates them, repeating until a desired solution is found. Evolutionary algorithms have been applied in engineering, the financial market, chemistry, mathematics, and increasingly data mining.  
+
Within artificial intelligence, '''evolutionary algorithms''' refer to a set of programming methods that draw inspiration from concepts stemming from evolutionary biology. More specifically, they are algorithms capable of selecting the most appropriate solution (individual) from a large set (population) through the evaluation of its fitness (how well it adapts to the problem, the environment). Evolution thus takes place through the repetition of such selection.
  
There is great variety between evolutionary algorithms.Though at its simplest an evolutionary algorithm uses a single population, many variants use multiple populations and exchange individuals between them occasionally, similarly to nature. Individuals in each population are ranked relative to each other. Their reproduction is scaled to prevent an early success from dominating (not all paths always lead to the solution), usually with some randomness. Recombination can be an exchange of code or variable values in the same or different places, possibly with averaging of values or other mechanisms. Mutation is an exchange of values and code between places, the deletion of code and variables, Finally, individuals are displaced between populations and successful individuals can be duplicated.  
+
The use of evolutionary algorithms has roots in the 1950s and has spread through many fields, from engineering, the financial market, chemistry, mathematics, and data mining. Nowadays there’s a great variety in evolutionary algorithms, ranging from simple genetic algorithms (seeking the solution through recombination or mutation) to neuroevolutionary algorithms (where the “genomes” are represented artificial neural networks). They differ mainly in the amount of populations in use and the operators responsible for introducing change.
  
It has been proposed that with enough computer power it would be possible to produce a [[superintelligence]] using a sufficiently complex evolutionary algorithm. This method does not require the understanding of intelligence needed to create a [[AGI]] nor the scanning equipment needed to create a [[WBE]], and its consciousness or lack thereof might be impossible to identify. Furthermore, the development of an evolved superintelligence would be a large [[computational hazard]], from the suffering experienced by the developing superintelligences.  
+
It seems possible that with enough computer power we would be able to produce a [[superintelligence]] using a sufficiently complex evolutionary algorithm. This method does not require the understanding of intelligence needed to create an [[AGI]] nor the scanning equipment needed to create a [[WBE]].
  
== References ==
+
 
 +
== Further Reading & References ==
 
*[http://www.talkorigins.org/faqs/genalg/genalg.html Genetic Algorithms and Evolutionary Computation] by Adam Marczyk
 
*[http://www.talkorigins.org/faqs/genalg/genalg.html Genetic Algorithms and Evolutionary Computation] by Adam Marczyk
 
*[http://www.geatbx.com/docu/algindex.html Evolutionary Algorithms 1 Introduction] by Hartmut Pohlheim
 
*[http://www.geatbx.com/docu/algindex.html Evolutionary Algorithms 1 Introduction] by Hartmut Pohlheim
 
*[http://dis.ijs.si/filipic/ec/ Evolutionary Computation Repository]
 
*[http://dis.ijs.si/filipic/ec/ Evolutionary Computation Repository]
 +
*Bäck, T., Fogel, D., Michalewicz, Z. (1997), Handbook of Evolutionary Computation, Oxford Univ. Press.
 +
*Yang X.-S., (2010), "Nature-Inspired Metaheuristic Algorithms", 2nd Edition, Luniver Press
  
 
== See Also ==
 
== See Also ==
 
*[[Evolution]]
 
*[[Evolution]]

Revision as of 10:00, 22 September 2012

Smallwikipedialogo.png
Wikipedia has an article about

Within artificial intelligence, evolutionary algorithms refer to a set of programming methods that draw inspiration from concepts stemming from evolutionary biology. More specifically, they are algorithms capable of selecting the most appropriate solution (individual) from a large set (population) through the evaluation of its fitness (how well it adapts to the problem, the environment). Evolution thus takes place through the repetition of such selection.

The use of evolutionary algorithms has roots in the 1950s and has spread through many fields, from engineering, the financial market, chemistry, mathematics, and data mining. Nowadays there’s a great variety in evolutionary algorithms, ranging from simple genetic algorithms (seeking the solution through recombination or mutation) to neuroevolutionary algorithms (where the “genomes” are represented artificial neural networks). They differ mainly in the amount of populations in use and the operators responsible for introducing change.

It seems possible that with enough computer power we would be able to produce a superintelligence using a sufficiently complex evolutionary algorithm. This method does not require the understanding of intelligence needed to create an AGI nor the scanning equipment needed to create a WBE.


Further Reading & References

See Also