Skip to content

Por qué nos enamoramos de los algoritmos inspirados en la naturaleza

Si bien las computadoras son pobres en creatividad, son expertas en procesar una gran cantidad de soluciones a problemas modernos donde hay numerosas variables complejas en juego. Tome la pregunta de encontrar el mejor plan de entrega para una empresa de distribución: ¿por dónde es mejor empezar? Cuantos vehiculos? ¿Qué tramos de carretera deben evitarse y en qué momento? Si desea acercarse a una respuesta sensata, debe preguntarle a una computadora.

Este es solo uno de los millones de problemas que se abordan en el campo de la metaheurística, que consiste en desarrollar algoritmos que te ayuden a encontrar la mejor respuesta posible en cualquier situación en la que exista una gran cantidad de posibles soluciones.

Podría tratarse de diseñar listas de puestos que sean lo más justas posible. Podría tratarse de ajustar el diseño de un motor o edificio para minimizar el uso de energía o combustible. Podría tratarse de armar el horario de vuelo más económico para un aeropuerto. Para cualquier disciplina en la que se pueda proporcionar una medida de calidad, probablemente se hayan triturado grandes cantidades de números.

La vida moderna es dura. Roubart

Sin embargo, las soluciones están lejos de ser perfectas. Incluso para las computadoras más rápidas disponibles en la actualidad, estos problemas suelen ser un desafío debido a su gran tamaño. Comprobar exhaustivamente todas las posibilidades normalmente llevaría más tiempo de lo que ha existido el universo.

Encontrar las soluciones perfectas para este tipo de problemas es uno de los acertijos más importantes de las matemáticas, conocido como la pregunta p = np. Mientras esperamos que se resuelva, nos hemos centrado en desarrollar algoritmos que generen soluciones que sean aproximadamente las mejores.

Inspiración natural

Entre los tipos de herramientas más conocidos para llegar a estas respuestas aproximadas se encuentran los llamados algoritmos evolutivos (que se explican completamente aquí). Toman este nombre del hecho de que se basan en la misma narrativa que la teoría de la evolución de Darwin: la de una “población” de individuos que compiten, los “padres” más aptos producen “descendientes” que forman la siguiente generación, de modo que se vuelve gradualmente “en forma” con el tiempo.

Para ver cómo funciona esto en la práctica, tome un tratamiento de quimioterapia. Para cada tipo de cáncer, el problema para los oncólogos es qué dosis y frecuencia de cada fármaco produce el mejor equilibrio entre erradicar el cáncer y minimizar los efectos secundarios.

Un algoritmo evolutivo comenzaría generando aleatoriamente algunos regímenes de tratamiento (la población). Predeciría el tamaño del tumor resultante y los efectos secundarios después de cada tratamiento, luego estimaría la calidad general (aptitud) de cada régimen. Pares de regímenes (padres) crean un nuevo régimen (descendencia) eligiendo una proporción de los niveles de fármaco de cada padre. Esto se repite, la descendencia reemplaza a los padres, hasta que se encuentra una buena solución.

Pionero: Alan Turing.

No se trata de intentar simular la biología como tal. Se trata de tomar la forma en que la naturaleza aborda los problemas como inspiración para la forma en que las computadoras deberían resolverlos. Habiendo recurrido a esto desde los días de Alan Turing, los científicos informáticos han tomado la pelota y han corrido con ella. Han analizado cómo opera la naturaleza en situaciones específicas, como bandadas de pájaros o colonias de hormigas, y han aplicado las mismas reglas a sus algoritmos.

Estos han producido enfoques para problemas específicos que han sido notablemente efectivos, abarcando ingeniería, medicina, economía, marketing, genética, arte, robótica, ciencias sociales, física y química.

El problema

Durante las últimas dos décadas, la literatura de investigación se ha llenado con un sinfín de metáforas nuevas basadas en la naturaleza para los algoritmos. Puede encontrar algoritmos basados ​​en el comportamiento de cucos, abejas, murciélagos, gatos, lobos, formación de galaxias y agujeros negros. A veces, las metáforas incluso van más allá de la naturaleza: composición musical, fuegos artificiales e incluso colonización por naciones imperiales.

Mucho de esto coincidió con una vieja idea errónea de que era posible desarrollar una herramienta que pudiera resolver todos estos problemas complejos mejor que todas las demás. La forma de ser publicado en este campo ha sido mostrar que su nuevo algoritmo resuelve algunos problemas de prueba, argumentando que la suya podría ser la herramienta óptima que todos han estado buscando. Pero la realidad es que, si bien se puede demostrar que cada nueva herramienta funciona bien en casos específicos, este Santo Grial no existe.

Todo lo que los investigadores han estado haciendo es perder el tiempo desarrollando nuevos enfoques que probablemente sean un poco mejores que los existentes. Y el lenguaje de cada metáfora luego invade la literatura, distrayendo a la gente del uso de la terminología matemática ya suficientemente expresiva y, sobre todo, trabajando juntos para encontrar el mejor camino a seguir.

¿A dónde sigue?

La reacción ha comenzado: el Journal of Heuristics ha revisado su política editorial para abordar este problema. Las principales figuras en el campo están pidiendo que los nuevos enfoques se escriban en un “lenguaje sin metáforas”.

Sin embargo, esto no significa que los algoritmos inspirados en la naturaleza vayan a declinar, no mientras lo mejor que podamos hacer sea llegar a soluciones aproximadas a nuestros complejos problemas modernos. En cambio, el enfoque se está desplazando hacia la mejora de nuestra comprensión de cómo funcionan los enfoques existentes y la mejora de su valor científico.

Un tema trata sobre dedicar más tiempo a observar las relaciones entre las variables y la calidad de la solución en un problema dado. En el pasado, hemos tendido a saber que están conectados, pero no hemos intentado averiguar cómo. Remediar esto debería ayudarnos a refinar las herramientas que ya se han desarrollado para que puedan buscar todas las posibles soluciones a un problema de una manera más inteligente.

Las matemáticas han vuelto. Gleraryhir

Otro tema ha sido la combinación de algoritmos con las matemáticas clásicas para ayudar a alcanzar soluciones en las que podemos estar más seguros de que son mejores que las que hemos tenido en el pasado. También estamos buscando introducir reglas de la ingeniería de software conocidas como patrones de diseño formales, que esencialmente establecen formas prescritas de resolver un problema dado para evitar que las personas intenten constantemente encontrar alternativas radicales.

Todo este trabajo representa un movimiento en la dirección correcta. Quizás un retiro de todos los murciélagos y las abejas hará que el área de investigación sea más difícil de comunicar al público. Pero solo puede ser bueno para la ciencia que las buenas ciencias de la computación y las matemáticas a la antigua estén regresando. Si eso significa que construimos mejores casas, desarrollamos mejores tratamientos contra el cáncer, mejoramos la programación de nuestras aerolíneas, etc., habrá valido la pena el esfuerzo.