martes, 12 de febrero de 2019

¿Qué son los algoritmos genéticos?

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, es decir la misma que subyace a la teoría de la evolución que formuló Charles Darwin y que combina esa idea de la evolución con la genética.

Los algoritmos genéticos tienen como punto de partida un conjunto de soluciones aleatorio. 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. Una vez que tengo ese conjunto de soluciones inicial aleatorio aplico lo que se llama una función de ajuste o función objetivo, que en este caso es llegar en el menor tiempo posible a San Petersburgo. Mi función objetivo sería el tiempo que tardo teniendo en cuenta el tráfico y teniendo en cuenta los kilómetros que recorro. Esa función objetivo sirve para clasificar las soluciones aleatorias: las que duran menos tiempo son mejores y las que duran más tiempo son peores. Una vez que las tengo clasificadas lo que hago, y aquí entra la genética, es reproducirlas. Reproduzco las soluciones, como se reproducen los individuos en una población, e implemento los tres mecanismos que intervienen en la selección de las especies: la reproducción en sí, el cruzamiento y la mutación.

Para imitar la reproducción hay diferentes mecanismos matemáticos, uno de ellos es a partir de la función objetivo, es decir que se reproduzcan más aquellas soluciones que son mejores y por lo tanto las que son peores desaparecerán; al aplicar el cruzamiento combinas unas soluciones con otras. Por ejemplo, cojo la mitad de una solución que pasaba por Australia y la combino con otra solución que pasaba por China… Las vas combinando garantizando que son lógicas y luego, finalmente, aplicas un procedimiento de mutación de forma matemática, pues si antes pasaba por Sídney yo implemento matemáticamente que me cambie Sídney por ejemplo por cualquier otra ciudad australiana y ya no pasa por Sídney, pasa por Melbourne o por dónde sea. Eso sería un poco como aplicar las tres dinámicas que existen en el mundo biológico cuando se reproducen las especies.

¿Qué son los algoritmos genéticos?

No hay comentarios: