Algoritmo evolutivo

Un **algoritmo evolutivo** (tamén** EA**,** evolución artificial**) indica un subconxunto da computación evolutiva que, á súa vez, é parte da intelixencia artificial.

## Características
Úsase o termo xenérico **algoritmo evolutivo** para indicar calquera algoritmo de optimización meta-heurística baseada en poboacións que utiliza mecanismos inspirados na evolución biolóxica, como reprodución, mutación, recombinación (vexa operadores xenéticos), selección natural e sobrevivencia do máis apto.  Assolucións candidatas ao problema da optimización xogan o papel dos individuos nunha poboación, e a función de custo (grao de axeitamento) determina as necesidades de adaptación ao ambiente dentro do que "viven" as solucións (os individuos da poboación). Coa  aplicación repetida dos operadores indicados máis enriba, ocorre entón a evolución da poboación.

### Técnicas
A maioría das técnicas son similares no espírito, mais difiren nos detalles da súa execución e da natureza dos problemas nos que se aplican en particular.  Entre estas técnicas salientan:

* algoritmo xenético - este é o tipo o máis popular de EA.  Procura a solución dun problema aplicando virtualmente sempre os operadores do recombinación, selección e mutación. En xeral o problema formúlase con "cromosomas" en forma de cadeas de números (normalmente binarios).  
* programación xenética - aquí as solucións son formuladas como programas de computador, e a súa aptitude é determinada pola súa capacidade de resolver un problema computacional.  Tratan polo tanto de atopar o programa máis apto para un determinado fin.
* programación evolutiva - como a programación xenética mais, neste caso, a estrutura do programa é fixa e o que evolucionan son os seus parámetros numéricos;  
* estratexia da evolución - trabállase con vectores de números reais como representacións das solucións, e usan tipicamente taxas autoadaptativas de mutación;  
* sistema do clasificador da aprendizaxe – no canto dunha función que indique a aptitude, úsase unha técnica da aprendizaxe por reforzamento.

## Vantaxes
Pois que non fan ningunha suposición sobre a paisaxe de aptitude subxacente, xeralmente considérase que os algoritmos evolutivos corren consistentemente ben a través de todos os tipos de problemas. Noutras palabras: mentres que un algoritmo de optimización *ad hoc* para un problema en concreto soamente é válido para tal problema, un algoritmo evolutivo ten un uso máis amplo e non depende tanto das condicións específicas dese problema. Deste xeito, aínda que as condicións do problema cambien (o que ocorre en moitos problemas), o algoritmo de solución segue a ser válido.

Xa se ten probado o seu éxito en campos tan diversos como enxeñaría, arte, bioloxía, economía, xenética, investigación de operacións, robótica, ciencias sociais, física, química, e outras.

Á parte do seu uso como optimizadores matemáticos, os algoritmos evolutivos son usados tamén como estrutura experimental para validar aproximadamente teorías de evolución biolóxica e selección natural, particularmente a través do traballo no campo da vida artificial.  As técnicas dos algoritmos evolutivos aplicados para modelar a evolución biolóxica están limitadas xeralmente ás exploracións de procesos microevolutivos. De calquera xeito, danse algunhas simulacións de computador, como ' ' Tierra ' ' e ' ' tentativa de Avida'', para modelar dinámicas macroevolutivas.

Unha limitación dos algoritmos evolutivos, con respecto da evolución natural, é a súa falta de distinción entre xenotipo e fenotipo.  Na natureza, o ovo fertilizado sométese a un proceso complexo coñecido como embrión para se transformarse nun fenotipo maduro.  Este codificando indirecto é considerado para facer a busca xenética máis robusta (isto é, reducindo a probabilidade de mutacións fatais), e tamén para mellorar a capacidade evolutiva dun organismo.  O traballo recente no campo do sistemas de desenvolvemento embrionario, ou artificiais, procura dirixirse a estes intereses.

## Técnicas relacionadas
* evolución diferencial - baseado en diferenzas do vector e consecuentemente serve fundamentalmente para problemas deoptimización numérica.  
* optimización do enxame de partículas - baseado nas ideas do comportamento animal en mandas.  Serve, tamén, fundamentalmente para problemas deoptimización numérica.  
* optimización da colonia de formigas - baseado no uso polas formigas da comunicación por feromonas para dar forma ao traxecto.  Serve fundamentalmente para problemas de optimización combinatoria.

## Véxase tamén
### Outros artigos
* teorema de non-existe-o-xantar-de-balde