Beneficios de usar algoritmo genético

13

¿Alguien puede explicarme los beneficios del algoritmo genético en comparación con otros métodos tradicionales de búsqueda y optimización?

Lakesh
fuente
44
¿Qué tipo de GA? En comparación con qué métodos "tradicionales"? Sin esto, uno solo puede decir algo como "Convergencia más rápida y menor peligro de quedar atrapado en el óptimo local en algunas aplicaciones", igual que para cualquier otro método de optimización.

Respuestas:

19

Las principales razones para usar un algoritmo genético son:

  • hay múltiples óptimas locales
  • la función objetivo no es fluida (por lo que no se pueden aplicar métodos derivados)
  • la cantidad de parámetros es muy grande
  • la función objetivo es ruidosa o estocástica

Una gran cantidad de parámetros puede ser un problema para los métodos basados ​​en derivadas cuando no tiene la definición del gradiente. En este tipo de situación, puede encontrar una solución no terrible a través de GA y luego mejorarla con el método basado en derivadas. La definición de "grande" está creciendo todo el tiempo.

Patrick Burns
fuente
3
+1. Solía ​​estar enamorado de los GA, pero ahora tiendo a evitarlos. Me parece que pasaron por una fase exagerada, inspiraron un montón de métodos análogos a la naturaleza (ACO, etc.) y luego se desvanecieron en un nicho. Algo así como las redes neuronales, en mi sesgo personal. (Dicho esto, he utilizado ES recientemente.)
Wayne
1
Wayne, estoy de acuerdo. Tiendo a decir "GA" para cualquier estrategia evolutiva, y mezclar otras técnicas a menudo también es una buena idea. Los GA tradicionales son terriblemente ineficientes.
Patrick Burns
7
  • El concepto es fácil de entender.
  • Modular, separado de la aplicación.
  • Soporta múltiples objetivos
  • optimización Bueno para entornos "ruidosos"
  • Siempre una respuesta; la respuesta mejora con el tiempo
  • Inherentemente paralelo; distribuido fácilmente
blanco como la nieve
fuente
En mi trabajo, la fácil paralelización fue el factor más importante en el uso de un algoritmo genético en lugar de algo como el recocido simulado.
veryshuai
6

Los algoritmos genéticos difieren de los métodos tradicionales de búsqueda y optimización en cuatro puntos significativos:

  • Los algoritmos genéticos buscan en paralelo desde una población de puntos. Por lo tanto, tiene la capacidad de evitar quedar atrapado en una solución óptima local como los métodos tradicionales, que buscan desde un solo punto.
  • Los algoritmos genéticos usan reglas de selección probabilística, no deterministas.
  • Los algoritmos genéticos funcionan en el cromosoma, que es una versión codificada de los parámetros de las posibles soluciones, en lugar de los parámetros en sí.
  • Los algoritmos genéticos utilizan la puntuación de aptitud, que se obtiene de funciones objetivas, sin otra información derivada o auxiliar.
Lakesh
fuente
3

Los algoritmos genéticos son una especie de último recurso. Son útiles solo cuando una solución analítica no es factible (vea la respuesta de Patrick por las razones más comunes), y tiene mucho tiempo de CPU en sus manos.

Carlos Accioly
fuente