3 mar 2009

Sistemas bioinspirados

Los sistemas bioinspirados son aquellos que están basados en el comportamiento y la forma de actuar de ciertos sistemas biológicos. Que mejor forma de resolver problemas que fijándonos en animales o sistemas que llevan siglos evolucionando. Éstos 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 lacena 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 ”. Él camino menos costoso hasta la comida seguido por las hormigas es el que mayor rastro de feromonas obtenga.
Éste 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 éste problema son el algoritmo de Dijkstra y el de A*. La diferencia entre éstos 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 indicara cuanto 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 éste punto os preguntareis 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.

Autor: Aitor Corchero Rodríguez
Fuente: S21sec labs

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!