2011-10-16 16 views
13

He leído un par de secciones introductorias de libros, así como algunos artículos sobre ambos temas, y me parece que estos dos métodos son prácticamente iguales.¿Cuáles son las diferencias entre los algoritmos genéticos y las estrategias de evolución?

Dicho esto, no he tenido tiempo para investigar profundamente los temas todavía, así que podría estar equivocado.

¿Cuáles son las diferencias entre los algoritmos genéticos y las estrategias de evolución? ¿Qué los hace diferentes y dónde son similares?

Respuesta

19

En ES las personas se codifican como vectores de números reales. En la reproducción, los padres son seleccionados al azar y los hijos más aptos son seleccionados e insertados en la próxima generación. Los individuos ES se autoadaptan. El tamaño del paso o la fuerza de la mutación se codifica en el individuo, de modo que los buenos parámetros llegan a la siguiente generación seleccionando individuos buenos.

En GA las personas se codifican como enteros. La selección se hace seleccionando padres de forma proporcional a su estado físico. Entonces las personas deben ser evaluadas antes de que se realice la primera selección. Los operadores genéticos trabajan en el nivel de bits (por ejemplo, cortar una cadena de bits en varias piezas e intercambiarlas con las piezas del otro elemento primario o cambiar bits individuales).

Esa es la teoría. En la práctica, a veces es difícil distinguir entre ambos algoritmos evolutivos, y usted necesita crear algoritmos híbridos (por ejemplo, enteros (cadenas de bits) individuos que codifican los parámetros de los operadores genéticos).

+2

Creo que la respuesta es un poco demasiado general, teniendo en cuenta que la representación genética GA estándar y original no es enteros, sino una cadena de bits binarios de 1s y 0s. Además, la selección no está limitada a la selección Proporcional de Fitness, hay muchas otras como Torneo ... para evitar confusiones, tal vez la respuesta debería haber sido reformulada de forma ligeramente diferente en lugar de inferir que un GA debe tener esto y aquello ... etc. – chutsu

+0

Creo es una gran introducción a las diferencias. ¿Cuál es el problema de llamar a la representación un conjunto de números enteros?A nivel de software, así es exactamente como son procesados ​​por el algoritmo y ayuda a visualizarlos como algo similar al código genético. El consejo general es no manejar la representación como una cadena de todos modos, al menos así fue como me entrenaron. – Adam893

+0

¿Podría por favor dar un ejemplo donde ES y donde generalmente se aplica GA? –

0

La principal diferencia parece ser que un algoritmo genético representa una solución utilizando una secuencia de números enteros, mientras que una estrategia de evolución utiliza una secuencia de números reales - Referencia: http://en.wikipedia.org/wiki/Evolutionary_algorithm#

0

Como la fuente wikipedia (http://en.wikipedia.org/wiki/Genetic_algorithm) y @Vaughn Cato dijeron que la diferencia en ambas técnicas depende de la implementación. EA usa números reales y números enteros de uso de GA.

Sin embargo, en la práctica, creo que podría usar enteros o números reales en la formulación de su problema y en su programa. Depende de ti. Por ejemplo, para el plegamiento de proteínas se puede decir que el conjunto de ángulos diedros forman un vector. Este es un vector de números reales, pero las entradas están etiquetadas por números enteros, por lo que creo que puede formular su problema y escribir el programa basado en en una aritmética de números enteros. Es solo una idea

2

En la mayoría de los libros de texto más recientes sobre GA, la codificación de valor real se presenta como una alternativa al entero, es decir, los individuos se pueden codificar como vectores de números reales. Esto se llama parámetro continuo GA (véase, por ejemplo, Haupt & Haupt, "Practical Genetic Algorithms", J.Wiley & Sons, 1998). Así que esto es prácticamente idéntico a la codificación de números reales de ES.

Con respecto a la selección de padres, hay muchas estrategias diferentes publicadas para GA. No los conozco a todos, pero asumo la selección entre todos (no solo se ha usado el mejor para algunas aplicaciones).

Cuestiones relacionadas