lunes, 25 de febrero de 2019

¿Qué son los algoritmos genéticos?

El proceso de buscar soluciones a un problema concreto implica mecanismos que simulan los de la evolución de las especies de la biología

Un algoritmo es una serie de pasos que describen el proceso de búsqueda de una solución a un problema concreto. Y un algoritmo genético es cuando se usan mecanismos que simulan los de la evolución de las especies de la biología para formular esos pasos. Es una técnica de inteligencia artificial inspirada en la idea de que el que sobrevive es el que está mejor adaptado al medio.

Pero claro, ¿cómo se implementa esto con fórmulas matemáticas? Pues lo que haces es transformar la resolución de cualquier problema en un conjunto de soluciones en el que cada una de ellas funciona como si fuera un individuo. Abordas los problemas de manera que puedas decir, este conjunto de soluciones es como una población, una población de soluciones. Imagina que tu problema a resolver es que quieres saber cuál es el camino más corto para ir de Madrid a San Petersburgo y tienes miles de soluciones. Cada camino que encuentres podría ser una opción, si le aplicas un algoritmo genético, cada camino que encuentres sería un individuo. Para poder aplicar algoritmos genéticos debes ser capaz de convertir las soluciones a tu problema en vectores matemáticos, entonces, un vector para ir de aquí a San Petersburgo puede ser uno que enumere las ciudades por las que vas pasando. Puede haber muchos recorridos: unos más largos y otros más cortos, unos tendrán más tráfico, otros tendrán menos tráfico…

Si continuamos con el ejemplo de San Petersburgo, puedo ir poniendo ciudades y puedo pasar hasta por Australia para ir a Rusia. Obviamente esa combinación no va a ser muy eficiente pero el procedimiento acabará descartándola. Nuestro objetivo, en este caso es llegar en el menor tiempo posible a San Petersburgo, teniendo en cuenta el tráfico y teniendo en cuenta los kilómetros que recorro podemos clasificar las soluciones aleatorias: las que duran menos tiempo son mejores y las que duran más tiempo son peores.

Así funcionan los algoritmos genéticos. Cuando estás buscando resolver problemas en un campo enorme no es viable el procedimiento enumerativo de ir de una en una porque puedes tener millones y millones de posibles soluciones. Estos algoritmos genéticos combinan la aleatoriedad porque se inician con un conjunto de soluciones totalmente aleatorio pero luego también están dirigidas porque buscan el resultado más óptimo. Y gracias a ello encuentras soluciones muy eficientes en muy poco tiempo de computación.

¿Qué son los algoritmos genéticos?

No hay comentarios: