Sei sulla pagina 1di 3

Computacin evolutiva

La computacin evolutivaes una rama de la inteligencia artificial que involucra problemas de optimizacin combinatoria. Se inspira
en los mecanismos de laEvolucin biolgica.

ndice
1 Historia
2 Algoritmos evolutivos
3 Algoritmos genticos
4 Aspectos a considerar
5 Enlaces externos

Historia
Durante los aos 50 se comenz a aplicar los principios de Charles Darwin en la resolucin de problemas. Durante los aos 60 y 70,
varias corrientes de investigacin independientes comenzaron a formar lo que ahora se conoce como computacin evolutiva:

Programacin evolutiva
Estrategias Evolutivas
Algoritmos genticos
La idea surgi en la universidad de Michigan. Fue el profesor J.H. Holland quien ideo originalmente que la programacin deba
seguir los ejemplos de la naturaleza. Posteriormente la patente de programacin evolutiva se emple por primera vez en la dcada de
1960 y su creador fueLawrence J. Fogel. Este desarrollo comenz como un esfuerzo encaminado a crear inteligencia artificial basado
en la evolucin de mquinas de estado finitas.

Las estrategias evolutivas fueron propuestas por Ingo Rechenberg y Hans-Paul Schwefel en la dcada de 1970. Su principal objetivo
era el de optimizar de parmetros.

Los algoritmos genticos fueron propuestos por John H. Holland en 1975 y su motivacin inicial fue la de proponer un modelo
general de proceso adaptable.

Algoritmos evolutivos
De manera general la computacin evolutiva toma como base las ideas de la evolucin propuestas por Charles Darwin y en los
descubrimientos realizados por Gregor Mendel en el campo de la gentica. A continuacin se muestra el pseudocdigo de un
algoritmo evolutivo genrico.

t:= 0
Inicializacin P(t)
Evaluacin P(t)
Hacer

P'(t):= variacin[P(t)]
Evaluacin[P'(t)]
P(t+1):= seleccin[P'(t) U Q]
t:= t+1
Mientras no se cumpla condicin de trmino

Donde:

La inicializacin es la creacin de la poblacin inicial ( ), usualmente asignando valores aleatorios a cada


individuo.

representa una poblacin de individuos en la generacin .

La evaluacin es la asignacin de un indicador de aptitud (o capacidad para resolver el problema propuesto), para
cada individuo de la poblacin , mediante la aplicacin de unafuncin de desempeo.

es una poblacin construida a partir de la aplicacin de operadores como


recombinacin y mutacin, sobre la
poblacin .

es un conjunto especial de individuos que pueden ser considerados para la seleccin. Este conjunto puede ser
vaco. Adems, su utilizacin varia dependiendo del mtodo de seleccin que se utilice.

La poblacin de la generacin siguiente ( ) se obtiene a partir de la seleccin a partir de la unin de la


poblacin modificada, y los individuos eligibles, ; considerando la funcin de desempeo utilizada.

La condicin de trmino es un criterio que indica cundo se debe poner fin a la bsqueda. Este criterio puede ser un
nivel de convergencia, un nmero de generaciones mximo, o un tiempo de ejecucin mximo, entre otros
Cabe hacer notar que los operadores de variacin, la seleccin y la manera en que son utilizados dependen del enfoque que se est
ocupando. Por ejemplo, la aplicacin de la mutacin no es la misma en los Algoritmos genticos que en las Estrategias evolutivas.

Algoritmos genticos
Un algoritmo gentico (o AG para abreviar) es una tcnica de programacin que imita a la evolucin biolgica como estrategia para
resolver problemas. En un Algoritmo Evolutivo se define una estructura de datos que admita todas las posibles soluciones a un
problema. Cada uno de los posibles conjuntos de datos admitidos por esa estructura ser una solucin al problema. Unas soluciones
sern mejores, otras peores. Solucionar el problema consistir en encontrar la solucin ptima, y por tanto, los Algoritmos Evolutivos
son en realidad un mtodo de bsqueda. Pero un mtodo de bsqueda muy especial, en el que las soluciones al problema son capaces
de reproducirse entre s, combinando sus caractersticas y generando nuevas soluciones. En cada ciclo se seleccionan las soluciones
que ms se acercan al objetivo buscado, eliminando el resto de soluciones. Las soluciones seleccionadas se reproducirn entre s,
permitiendo de vez en cuando alguna mutacin o modificacin al azar durante la reproduccin.

Aspectos a considerar
Entre los principales aspectos a considerar en el diseo de algoritmos evolutivos se encuentran los siguientes:

La eleccin de una codificacin (representacin de las variables del problema en el algoritmo evolutivo) tiene un
gran efecto en el tamao delEspacio de bsqueda y por ende, en el tiempo y dificultad de resolucin.
La funcin de desempeo (fitness function), la cual considera en la funcin objetivo o funcin de la cual se desea
obtener el valor ptimo.
Los algoritmos evolutivos poseen diversosparmetros los cuales deben ser cuidadosamente elegidos para obtener
un buen desempeo y evitar problemas tales como laConvergencia prematura.

Enlaces externos
http://algoritmoevolutivo.blogspot.com/2011/10/computacion-evolutiva-ejemplo-i.htmlBlog con ejemplos prcticos
sobre computacin evolutiva escritos en Java y de licencia GPL.

Obtenido de https://es.wikipedia.org/w/index.php?title=Computacin_evolutiva&oldid=99659910

Se edit esta pgina por ltima vez el 6 jun 2017 a las 15:11.

El texto est disponible bajo laLicencia Creative Commons Atribucin Compartir Igual 3.0 ; pueden aplicarse clusulas
adicionales. Al usar este sitio, usted acepta nuestrostrminos de uso y nuestra poltica de privacidad.
Wikipedia es una marca registrada de laFundacin Wikimedia, Inc., una organizacin sin nimo de lucro.

Potrebbero piacerti anche