Español | English
rss facebook linkedin Twitter

Sistemas bioinspirados

Los sistemas bioinspirados son aquellos que están basados en el comportamiento y la forma de actuar de ciertos sistemas biológicos. Qué mejor forma de resolver problemas que fijándonos en animales o sistemas que llevan siglos evolucionando. Estos sistemas han formado un revulsivo dentro de la IA (Inteligencia Artificial) debido a que son capaces de minimizar el tiempo de computación de ciertos problemas matemáticos complejos tales como el problema del Viajante (Travelling Salesman Problem) o el de la cena de Filósofos.

Los principales algoritmos bioinspirados existentes son los mostrados a continuación:

Es el algoritmo basado en la colonia de hormigas el que más ha llamado mi atención estos últimos días. Este algoritmo, como ya he mencionado, se centra en el comportamiento de las hormigas para encontrar comida. Las hormigas, a la hora de buscar comida se dispersan, en un primer instante, de una forma totalmente aleatoria. Cuando una hormiga o varias hormigas alcanzan la comida, el resto de la colonia sigue su camino gracias al llamado “rastro de feromonas ”. El camino menos costoso hasta la comida seguido por las hormigas es el que mayor rastro de feromonas obtenga.

Este algoritmo, como podemos deducir de la explicación anterior, está basado en la resolución del camino más corto entre dos puntos. Como ya sabemos, los algoritmos más usados hoy en día para la resolución de este problema son el algoritmo de Dijkstra y el de A*. La diferencia entre estos algoritmos y el de la colonia de hormigas es que los primeros alcanzan la solución mediante una búsqueda en serie (mirando un determinado camino hasta que no se puede avanzar) mientras que el algoritmo bioinspirado lo hace de una forma paralela (las hormigas toman varios caminos hasta que obtienen la convergencia, es decir, el camino final por el que camina toda la colonia).

Este algoritmo, al igual que los algoritmos de redes neuronales o colmena de abejas siguen la siguiente estructura:
  • Estado Inicial: Inicialización de los vectores para el correcto funcionamiento del algoritmo.
  • Ecuación Auto-regresiva: Como estos modelos están basados en la minimización del gradiente, la ecuación auto-regresiva es la que nos indicará cuánto nos tenemos que mover para alcanzar el siguiente estado.
  • Actualización de Estado: Basándonos en la ecuación auto-regresiva y en el estado actual, la actualización del estado nos marca el nuevo estado al que pasamos para la siguiente iteración del algoritmo.
  • Finalización del Algoritmo: Estos algoritmos suelen finalizar cuando sobrepasamos un número concreto de iteraciones o cuando el error queda minimizado un valor épsilon.
Llegados a este punto os preguntaréis qué llamo mi atención por este tipo de algoritmos. El caso es que estos modelos matemáticos se están usando en campos de la seguridad informática y la gestión de redes tales como:
  • Sistemas de Detección de Intrusiones(IDS, Intrusion Detection Sistems): La aplicación de dicho algoritmo se centra en el seguimiento paralelo de las conexiones efectuada por los usuarios (tanto internos como externos) dentro de la red y notificando alarmas cuando se incumplan ciertas reglas (se introduzcan por ciertos caminos privilegiados).
  • Enrutado de Paquetes de forma dinámica: Como ya sabemos dentro de Internet los paquetes se enrutan de una forma dinámica. Este tipo de algoritmos es capaz de encontrar el mejor camino entre dos puntos basándose en ciertas métricas como coste, tiempo, distancia...
  • Spanning Tree: La metodología Spanning Tree se centra en el bloqueo de caminos redundantes dentro de una red. Estos algoritmos también han sido usados para bloquear el camino menos óptimo dentro de una red.
Conforme vayamos aprendiendo más sobre los mecanismos de la naturaleza, irán apareciendo un mayor número de sistemas bioinspirados.

Aitor Corchero Rodríguez
S21sec labs

6 comentarios:

Anónimo dijo...

Buen artículo introductorio a los sistemas bioinspirados, que han demostrado en diversas ocasiones ser un muy buen recurso ante complicados problemas.
De hecho, para que buscar una solución, si previamente la naturaleza ya la ha encontrado?

tayoken dijo...

Recuerdo cuando tuve que utilizar por primera vez un Simulated annealing (Recocido simulado), me pareció arte de magia, y más cuando nadie me sabía explicar por qué demonios aquello funcionaba tan rápido y tan bien.

Anónimo dijo...

Siempre me ha maravillado la capacidad de los seres vivos para sobrevivir y evolucionar y al mismo tiempo soy un apasionado de las nuevas tecnologías. Estos sistemas bioinspirados juntan por lo tanto dos de mis mayores pasiones, así que ¡enhorabuena por el artículo!

Pedro dijo...

La solución del problema de las hormigas tiene una explicación física simple: en el camino corto la densidad de hormonas por unidad de longitud es mayor que en el largo, debido a que tardan menos en recorrer el trayecto y ha tenido menos tiempo de disiparse la hormona. En el momento de elegir una hormiga entre dos caminos, elige siempre el que mas intensidad de hormona presenta, inicilmente será el mas corto, pero posteriormente se va reforzando con el paso de cada vez mas hormigas.


Tayoken: si no comprendes el recorrido simulado es porque te faltan comprensión del proceso estadistico, pero intentaré explicartelo en breve: es como el caso de la ruleta, el dinero converge en manos del casino porque tiene una mayor probabilidad de ganan, en todas las partidas. Aunque es un proceso estadistico, y la banca puede perder, al final siempre gana, la ley de los grandes numero juega a su favor.

En el recorrido simulado, los caminos menos probables van desapareciendo como solución, hasta quedar finalmenten el/los caminos mas probables.

Por cierto, pese a tanto computador digital como hay hoy en dia, en muchos casos las soliciones mas rápidas las dan curiosos computadores analógicos, Por ejemplo, para el problema del viajente se puede hacer un computador de pompas de jabon, que resuelve el problema en lo que tardas en sacar el ordenador de la solución jabonosa. Pura física, minimizando la tensión superficial, y con ello la energia, de las pompas formadas.
Y es que para la física, minimizar es lo natural.

tayoken dijo...

No si no digo que no lo entendiese, sino que la primera vez que lo vi, hace bastantes años, nadie me lo sabía explicar, pero gracias por tu aporte.

tayoken dijo...

Ah, y es recocido o temple no recorrido, ya sabes, annealing.


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login