Ventajas y desventajas de los Algoritmos Genéticos
Ventajas
• Una clara
ventaja es que los algoritmos genéticos son intrínsicamente paralelos, es
decir, operan de forma simultánea con varias soluciones, en vez de trabajar de
forma secuencial como las técnicas tradicionales. Esto significa que mientras
técnicas tradicionales sólo pueden explorar el espacio de soluciones hacia una
solución en una dirección al mismo tiempo, y si la solución que descubren
resulta subóptima, no se puede hacer otra cosa que abandonar todo el trabajo
hecho y empezar de nuevo. Sin embargo, los algoritmos genéticos simplemente
desechan esta solución subóptima y siguen por otros caminos.
• Cuando se
usan para problemas de optimización resultan menos afectados por los máximos
locales (falsas soluciones) que las técnicas tradicionales. Muchos algoritmos
de búsqueda pueden quedar atrapados en los óptimos locales, ejemplo: si llegan
a lo alto de una colina del paisaje adaptativo, descubrirán que no existen
soluciones mejores en las cercanías y concluirán que han alcanzado la mejor de
todas, aunque existan picos más altos en algún otro lugar del mapa, situación
que no sucede para algoritmos genéticos. Otra ventaja es su habilidad para
manipular muchos parámetros simultáneamente.
Resulta interesante en caso de tener varios objetivos a resolver.
• No
necesitan conocimientos específicos sobre el problema que intentan resolver.
Realizan cambios aleatorios en sus soluciones candidatas y luego utilizan la
función de aptitud para determinar si esos cambios producen una mejora o no.
• Resulta
sumamente fácil ejecutarlos en las modernas arquitecturas masivas en paralelo.
• Usan
operadores probabilísticos, en vez de los típicos operadores determinísticos de
las otras técnicas.
Desventajas
• Definir
una representación del problema. El lenguaje utilizado para especificar
soluciones candidatas debe ser robusto, debe ser capaz de tolerar cambios aleatorios
que no produzcan constantemente errores fatales o resultados sin sentido. Se
puede solucionar mediante la definición de los individuos como listas de
números donde cada número representa algún aspecto de la solución candidata.
• Pueden
tardar mucho en converger, o no converger en absoluto, dependiendo en cierta
medida de los parámetros que se utilicen tamaño de la población, número de
generaciones…
• Pueden
converger prematuramente debido a una serie de problemas. Si un individuo que
es más apto que la mayoría de sus competidores emerge muy pronto en el curso de
la ejecución, se puede reproducir tan abundantemente que merme la diversidad de
la población demasiado pronto, provocando que el algoritmo converja hacia el
óptimo local que representa ese individuo, en lugar de rastrear el paisaje
adaptativo lo bastante a fondo para encontrar el óptimo global. Esto es un
problema especialmente común en las poblaciones pequeñas, donde incluso una
variación aleatoria en el ritmo de reproducción puede provocar que un genotipo
se haga dominante sobre los otros.