Por lo que he leído hasta ahora, parecen muy similares. ¿La evolución diferencial usa números en coma flotante y las soluciones se llaman vectores? No estoy muy seguro de lo que eso significa. Si alguien pudiera proporcionar una visión general con un poco acerca de las ventajas y desventajas de ambos.¿Qué es la evolución diferencial y cómo se compara con un algoritmo genético?
Respuesta
Bueno, tanto los algoritmos genéticos como la evolución diferencial son ejemplos de cálculos evolutivos.
Los algoritmos genéticos se ajustan bastante a la metáfora de la reproducción genética. Incluso el lenguaje es casi el mismo: ambos hablan de cromosomas, ambos hablan de genes, los genes son alfabetos distintos, ambos hablan de cruces, y el cruce está bastante cerca de un entendimiento de bajo nivel de la reproducción genética, etc.
La evolución diferencial está en el mismo estilo, pero las correspondencias no son tan exactas. El primer gran cambio es que DE está usando números reales reales (en el estricto sentido matemático: se implementan como flotantes, o dobles, o lo que sea, pero en teoría oscilan en el campo de los reales). Como resultado, , las ideas de mutación y cruce son sustancialmente diferentes. El operador de mutación se modificó hasta el momento, por lo que es difícil para mí ver por qué se llama mutación, como tal, excepto que sirve para el mismo propósito de separar las cosas de los mínimos locales.
En el lado positivo, hay un puñado de resultados que muestran que las ED son a menudo más eficaces y/o más eficientes que los algoritmos genéticos. Y cuando se trabaja en la optimización numérica, es bueno poder representar las cosas como números reales reales en lugar de tener que abrirse camino hacia un tipo de representación cromosómica, primero. (Nota: He leído sobre ellos, pero no me he equivocado mucho con ellos, así que no puedo comentar de primera mano el conocimiento.)
En el lado negativo, no creo que haya habido ninguna prueba de convergencia para DEs, aún.
Solo para agregar a eso, nada acerca de los Algoritmos Genéticos excluye las codificaciones de valores reales. Hay operadores de cruce como SBX (crossover binario simulado), así como varias ideas de "mezclar" a los padres de diferentes maneras. La mutación de los cromosomas de valor real tiene varias implementaciones obvias, golpes gaussianos a los parámetros, etc. – deong
Es cierto, pero cuanto más lejos se obtiene de las nociones originales, más tensa se vuelve la metáfora.No estoy lanzando aspersiones, creo que todas son fascinantes y útiles, y todas pueden llamarse razonablemente algoritmos genéticos. Es solo un juicio/llamada estética. – Novak
evolución diferencial es en realidad un subconjunto específico del espacio más amplio de algoritmos genéticos, con las siguientes restricciones:
- El genotipo es algún tipo de vector de valores reales operaciones
- La mutación/cruce hacen uso de la diferencia entre dos o más vectores en la población para crear un nuevo vector (generalmente agregando una proporción aleatoria de la diferencia a uno de los vectores existentes, más una pequeña cantidad de ruido aleatorio)
DE funciona bien para ciertas situaciones porque se puede considerar que los vectores forman una "nube" que explora las áreas de alto valor del espacio de solución de solución de manera bastante efectiva. Está estrechamente relacionado con la optimización del enjambre de partículas en algunos sentidos.
Sin embargo, todavía tiene el problema habitual de GA de quedarse atascado en los mínimos locales.
¿tiene una referencia donde GA es propenso a quedarse atascado en los mínimos locales? –
- 1. Algoritmo genético: ¿qué es la selección de estado estable?
- 2. ¿Qué es WPF y cómo se compara con WinForms?
- 3. Haskell: Resumiendo un algoritmo genético
- 4. ¿Qué es un marco web? ¿Cómo se compara con LAMP?
- 5. Cómo debo probar un algoritmo genético
- 6. ¿Cómo encontrar los mejores parámetros para un algoritmo genético?
- 7. ¿Qué biblioteca de Programación/Algoritmo Genético usas?
- 8. ¿Tiene algoritmo genético en producción?
- 9. aplicar cruce y mutación a un gráfico (algoritmo genético)
- 10. Algoritmo genético en un optiproblema similar a la mochila
- 11. ¿cómo se compara y se compara el trabajo?
- 12. ¿Qué es Probabilidad de cruce y probabilidad de mutación en algoritmo genético o programación genética?
- 13. Procesamiento de imágenes usando el algoritmo genético
- 14. Selección de Torneo de Algoritmo Genético
- 15. ¿Cómo se compara RabbitMQ con Mule?
- 16. Cómo implementar el operador de mutación gaussiana para un algoritmo genético en Java
- 17. Algoritmo genético para un juego de cartas (Dominion)
- 18. ¿Cómo se compara Archiva con Nexus?
- 19. ¿Cómo se compara JavaFX con WPF?
- 20. ¿Cómo se compara Mercurial con GIT y SVN?
- 21. Red neuronal, Algoritmo genético como sistema de detección de intrusiones
- 22. ¿Cómo se compara EF4 con NHibernate?
- 23. ¿Cómo se compara Hive con HBase?
- 24. ¿Cómo se compara Voldemort con Cassandra?
- 25. ¿Cómo se compara FlockDB con neo4j?
- 26. SQL - ¿Cómo se compara un CLOB
- 27. ¿Cómo se hace la recolección de basura en Java y cómo se compara con .net?
- 28. ¿Qué es un algoritmo s2k?
- 29. Python 3.0 y la evolución del lenguaje
- 30. Una pregunta detallada al aplicar algoritmo genético al vendedor viajero
El número de punto flotante no es la diferencia. Todas las estrategias evolutivas usan números de coma flotante. Los algoritmos de EC ya no se dividen en tipos por su representación. – user