¿Qué tan útil es el algoritmo genético?

Los GA pueden ser muy útiles. A menudo pueden descubrir soluciones que son mejores o imposibles de encontrar para un humano.

Pero no pueden hacer todo. Son muy delicados de configurar y siempre te darán una interpretación totalmente objetiva de lo que especifiques en la función fitness, en lugar de lo que obviamente quisiste decir. Por ejemplo, imagine tener un robot humanoide y usar un GA para hacerlo caminar simplemente recompensando el movimiento lateral después de un período de tiempo. Puede encontrar un estilo de locomoción usando su frente y rodillas. Es una solución válida en lo que respecta a la AG porque no dijiste nada sobre ‘pies’ o ‘posición vertical’ en tu función de condición física. ¿Cómo se suponía que la AG supiera que te referías a “como un humano”? No sabe qué es un humano o cómo se camina. Esa fue una suposición implícita de su parte. Por lo tanto, debe regresar e insertar una métrica de andar humano en la función de forma física de alguna manera. Para nada trivial.

Tampoco pueden garantizar una solución óptima, o incluso lo suficientemente buena. Si es posible utilizar una técnica de optimización específica de dominio, eso sería mejor que un GA.

Pero para problemas en los que una solución analítica es imposible / intratable, los GA a veces pueden ser el mejor enfoque. Funcionan muestreando las soluciones en un “espacio codificado” y combinando esas soluciones de forma análoga a la evolución biológica. Entonces, a lo largo de las generaciones (iteraciones) se encuentran con mejores y mejores soluciones, con suerte terminando con una bastante decente.