Algoritmo evolutivo

Algoritmo evolutivo

Los algoritmos evolutivos son métodos de optimización y búsqueda de soluciones basados en los postulados de la evolución biológica. En ellos se mantiene un conjunto de entidades que representan posibles soluciones, las cuales se mezclan, y compiten entre sí, de tal manera que las más aptas son capaces de prevalecer a lo largo del tiempo, evolucionando hacia mejores soluciones cada vez.

Los algoritmos evolutivos, y la computación evolutiva, son una rama de la inteligencia artificial. Son utilizados principalmente en problemas con espacios de búsqueda extensos y no lineales, en donde otros métodos no son capaces de encontrar soluciones en un tiempo razonable.

Siguiendo la terminología de la teoría de la evolución, las entidades que representan las soluciones al problema se denominan individuos o cromosomas, y el conjunto de éstos, población. Los individuos son modificados por operadores genéticos, principalmente el sobrecruzamiento, que consiste en la mezcla de la información de dos o más individuos; la mutación, que es un cambio aleatorio en los individuos; y la selección, consistente en la elección de los individuos que sobrevivirán y conformarán la siguiente generación. Dado que los individuos que representan las soluciones más adecuadas al problema tienen más posibilidades de sobrevivir, la población va mejorando gradualmente.

Paradigmas

Suele hablarse de tres paradigmas principales de algoritmos evolutivos:

Cada uno de estos paradigmas se originó independientemente y con distintas motivaciones. Actualmente, los algoritmos tienden a combinar características de éstos tres y a incluir mecanismos de otros campos de estudio, tales como el aprendizaje automático, otros algoritmos de búsqueda, o diferentes estructura de datos. Algunas de las tendencias actuales son las siguientes:

  • Evolución diferencial
  • Modelos probabilísticos
  • Evolución simulada
  • Algoritmos culturales
  • Algoritmos meméticos
  • Programación genética

Comparación de algoritmos evolutivos

La tabla siguiente presenta algunas diferencias entre los distintos tipos de algoritmos evolutivos. Las características indicadas en esta tabla corresponden a las implementaciones originales. Actualmente las diferencias entre ellos tienden a borrarse a medida que se transfieren características de uno a otro, haciendo difícil la distinción.

Algoritmo codificación selección operadores reinserción parametrización aplicación original/principal observaciones
Algoritmo genético binaria al azar, basado en función de desempeño (ruleta, torneo) Aplicados según probabilidad: cruzamiento (1 o 2 puntos, uniforme, etc), mutación (negación de bit, al azar) reemplazo de padres por hijos manteniendo al mejor individuo de la población anterior fija optimización discreta
Estrategia evolutiva discreta o continua aleatoria diseñadas de acuerdo al problema a resolver: recombinación (optativa), mutación elegida deterministamente, mediante ranking de mejor descendencia ((μ / ρ,λ) − ES) o padres y descendencia ((μ / ρ + λ) − ES) self-adaptive optimización general notación μ: número de padres, ρ: número de individuos elegidos para evolucionar, λ: descendencia
Programación evolutiva  ?  ? diseñadas de acuerdo al problema a resolver: recombinación, mutación  ?  ?  ?
Programación genética árboles  ? sobrecruzamiento (intercambio de ramas), mutación (cambio en contenido de nodo o toda la rama)  ?  ? evolución de programas (generalmente en lisp)
Algoritmo memético cualquiera  ? distintos operadores de búsqueda local  ?  ? También llamado algoritmo lamarckiano, búsqueda local genética, algoritmo evolutivo híbrido, o algoritmo evolutivo baldwiniano
Algoritmo cultural cualquiera  ? cualquiera  ?  ? optimización general, simulación social cuenta además con un espacio de creencias, en donde se guarda experiencia adquirida durante la búsqueda
Evolución diferencial continua aleatoria mutación y recombinación, el resultado del primero es operado con el segundo comparando el resultado de los operadores y los individos de la generación anterior Fija, de dos parámetros que controlan la velocidad del cambio, F y GR optimización continua el operador de mutación, bastante singular, de hecho combina individuos elegidos aleatoriamente

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Computación evolutiva — La computación evolutiva es una rama de la inteligencia artificial que involucra problemas de optimización combinatoria. Se inspira en los mecanismos de la Evolución biológica. Contenido 1 Historia 2 Algoritmos evolutivos 3 Aspectos a considerar …   Wikipedia Español

  • Anexo:Episodios de Numb3rs — La siguiente es una lista de episodios de la serie norteamericana NUMB3RS. Contenido 1 Estrenos y Lanzamientos en DVD 2 Primera temporada (2005) 3 Segunda temporada (2005 2006) …   Wikipedia Español

  • Episodios de Numb3rs — Anexo:Episodios de Numb3rs Saltar a navegación, búsqueda La siguiente es una lista de episodios de la serie norteamericana NUMB3RS. Contenido 1 Estrenos y Lanzamientos en DVD 2 Primera temporada (2005) 3 Segunda temporada ( …   Wikipedia Español

  • KEEL (software) — KEEL 250px Vista de KEEL, herramienta de SOFTWARE de Código abierto V2010 05 06 Desarrollador Universidad de Granada, proyecto nacional del gobierno español http://sci2s.ugr.es/keel/index.php …   Wikipedia Español

  • Operador genético — Un operador genético es una función empleada en los algoritmos genéticos para mantener la diversidad genética de una población. La variación genética es necesaria para el proceso de evolución. Los operadores genéticos utilizados en los algoritmos …   Wikipedia Español

  • Navaja de Occam — Saltar a navegación, búsqueda La navaja de Occam (navaja de Ockham o principio de economía o de parsimonia) hace referencia a un tipo de razonamiento basado en una premisa muy simple: en igualdad de condiciones la solución más sencilla es… …   Wikipedia Español

  • Optimización multiobjetivo — En un problema de optimización se tratará de encontrar una solución que represente el valor óptimo para una función objetivo. En el caso más sencillo se tendrá un único objetivo, que estará representado por una función del tipo , donde y . Tanto… …   Wikipedia Español

  • Navaja de Ockham — La navaja de Ockham (a veces escrito Occam u Ockam), principio de economía o principio de parsimonia (lex parsimonia), es un principio metodológico y filosófico atribuido a Guillermo de Ockham (1280 1349), según el cual cuando dos teorías en… …   Wikipedia Español

  • Milkyway@home — es un proyecto de computación distribuida que corre en la plataforma informática Berkeley Open Infrastructure for Network Computing (BOINC). MilkyWay@home intenta general modelos tri dimensionales de alta precisión de corrientes estelares en las… …   Wikipedia Español

  • Alineamiento de secuencias — Un alineamiento de secuencias en bioinformática es una forma de representar y comparar dos o más secuencias o cadenas de ADN, ARN, o estructuras primarias proteicas para resaltar sus zonas de similitud, que podrían indicar relaciones funcionales… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”