You are on page 1of 9

JuanCamiloVarelaLpez

UNIVERSIDADDECALDASSistemasInteligentes2
INTELIGENCIADEENJAMBRES


INTELIGENCIA DE ENJAMBRES
(SWARM INTELLIGENCE)

Sistemas Inteligentes II
J uan Camilo Varela Lpez
juan55860@gmail.com

Ingeniera de Sistemas y Computacin.
Facultad de Ingeniera
Universidad de Caldas
Manizales, Colombia

Resumen

Este documento tiene la intencionalidad de resaltar el enfoque que tiene la inteligencia artificial (IA)
para la solucin de problemas de alta complejidad por medio de la inteligencia de enjambres, en
donde se dar a conocer una comparacin de esta contra los algoritmos evolutivos, el surgimiento
de su rama la cual es la computacin evolutiva, el diseo que deben tener los algoritmos de
computacin evolutiva, entender cmo se comportan los sistemas de inteligencia de enjambres
compuestos por un conjunto de agentes computacionales simples, que perciben su entorno basados
en la comunicacin que tiene con los dems integrantes de su poblacin y se explicar algunos de
los algoritmos ms reconocidos de esta temtica.

1) Introduccin

La inteligencia artificial (IA) desde de sus paradigmas convencional (Este se basa en el anlisis
formal y estadstico de cmo se desenvuelve el comportamiento humano ante un problema, en donde
son resultado de este el razonamiento basado en casos, los sistemas expertos y las redes
bayesianas; entre otros), y computacional (Este se enfoca en el desarrollo de sistemas complejos
que interactan con otros, estableciendo un desarrollo o aprendizaje interactivo, sin hacer uso de
heursticas, son resultado de ste las redes neuronales, la inteligencia por enjambres y los sistemas
difusos);en donde se ha tenido un alto inters en la bsqueda de soluciones optimas en aquellos
problemas que tienen un alto grado de complejidad, en todo tipo de espacios como lo son los
continuos (Son todos aquellos donde el nmero de sucesos son infinitos) y los discretos (Estos se
caracterizan por tener un numero de sucesos finitos o infinito contable), lo cual se ha venido
desarrollando con el pasar de los tiempos con el desarrollo de algoritmos de optimizacin en
espacios n-dimensionales de bsquedas con la intencionalidad de encontrar la minimizacin o
maximizacin de una funcin objetivo al momento de dar solucin a dichos problemas cumpliendo
con que dicha solucin ser ptima.
Las metodologas para encontrar las respectivas soluciones a problemas complejos de optimizacin,
han tenido una gran evolucin partiendo de mtodos constructivos a mtodos de bsqueda local
(bsqueda de la mejor de entre las soluciones posibles alcanzables en un tiempo razonable) y por
ultimo llegar a los algoritmos basados en poblaciones; estos utilizan los mtodos nombrados
anteriormente con el objetivo de mejorar la solucin para la poblacin, incluso llegan a combinar
buenas soluciones en un orden respectivo donde luego se podrn otras mejores a estas (Hertz &
Kobler, 2000).





2) Algoritmos de Computacin Evolutiva
Estos algoritmo basados en poblaciones, son conocidos como algoritmos de computacin
evolutiva, los cuales emplean una serie de tcnicas iterativas para el manejo de una poblacin de
individuos, los cuales evolucionarn a partir de un conjunto de reglas especficas. A partir de cada
iteracin existen 2 componentes para estos individuos, los cuales son:
Autoadaptacin: En donde el individuo obtiene cambios por si mismo.

Cooperacin: Los individuos intercambian informacin entre ellos.
El diseo de los algoritmos de computacin evolutiva, segn (Muoz, Lpez, & Caicedo, 2008) deben
tener las siguientes caractersticas:
Existencia de individuos que representan las soluciones del problema, en donde dichas
soluciones pueden llegar a ser factibles o no, parciales o completas, individuales o grupales.

Existencia de un proceso de evolucin el cual establece los cambios en la poblacin a cada
generacin de esta en forma continua.

Una definicin de vecindad que establezca el protocolo de cmo ser el intercambio de
informacin entre los individuos.

Un mecanismo que permita detectar las fuentes de informacin de un individuo, y cul es la
ms conveniente de utilizar.

Una medida de factibilidad de la solucin encontrada, de tal forma que se pueda evaluar si
es buena, ptima o inadecuada, comparndola con las dems soluciones.

Un mecanismo de intensificacin, que contribuyen al componente de autoadaptacin, sin
tener en cuenta la informacin dada por los dems individuos.

Un mecanismo de diversificacin, el cual permite evitar que varios individuos lleguen a un
mismo punto ptimo local.
Los algoritmos que se basan en programacin evolutiva resuelven instancias de problemas que
tienen un alto grado de dificultad, a travs de una exploracin bastante grande del espacio de las
soluciones, reduciendo dicho espacio y haciendo una bsqueda eficiente sobre este, adems de
basarse en los mecanismos de la evolucin biolgica, la cual se enfatiza en estudiar las
transformaciones o cambios en una determinada forma de vida a travs del tiempo y su
comportamiento en su entorno.
La historia de la computacin evolutiva inicia en el ao de 1950 cuando se rene los conceptos de
Charles Darwin y en los descubrimientos realizados por Gregor Mendel, para la resolucin de
problemas (J imnez).
La computacin evolutiva, se compone de 2 grandes ramas, las cuales son:
Los algoritmos evolutivos: Utiliza los conceptos de la evolucin biolgica, los cuales
intervienen en una poblacin de soluciones potenciales, utilizando los principios de
diversidad de individuos y supervivencia del ms fuerte para producir mejores soluciones.

Inteligencia de enjambres: Esta se compone de una serie de tcnicas que se basan en el
estudio del comportamiento colectivo en sistemas auto-organizados (en estos existe un
proceso de coordinacin, el cual surge de las interacciones locales entre los componentes
de un sistema inicialmente desordenado) y descentralizados(tambin conocidos como
distribuidos, ya que estos estn separados fsicamente y conectadas entre s por una red)
(Surez Tirado)
De tal forma que las tcnicas ms importantes de la Inteligencia Artificial (IA) de la rama computacin
evolutiva se pueden ver en el Esquema 1, pero en este documento nos centraremos en los
algoritmos ms utilizados en la inteligencia por enjambres como lo son: Optimizacin por Colonia de
Hormigas (Ant Colony Optimization ACO), Optimizacin por nube de partculas u Optimizacin
enjambre de partculas (Particle Swarm Optimization - PSO), la optimizacin por enjambre de
bacterias y los algoritmos de colonias de abejas (SBC)
Esquema 1 : Computacin evolutiva

3) Inteligencia de Enjambres
Como se mencion anteriormente esta es una sub-rama emergente de la inteligencia Artificial,
perteneciente a la computacin evolutiva, la cual aplica ciertas tcnicas inspiradas en el
comportamiento de los insectos sociales. Donde los ejemplos de dichos comportamientos son
tomados de la naturaleza como lo son las bandadas de aves, jauras, cardmenes, colmenas de
abejas y de las colonias de hormigas.
Los comportamientos ms significativos, para el modelamiento de sistemas basados en inteligencia
de enjambres provienen de las hormigas, las abejas y las avispas, donde la caracterstica principal
de estos insectos se nota en la cooperacin en la realizacin de tareas complejas, en donde cada
individuo de la poblacin contribuye a una solucin determinada, y no existe espacio para el
individualismo por el bienestar de su comunidad (Hassan, s.f.)
Los sistemas de inteligencia de enjambres, estn compuestos por una poblacin de agentes
computacionales simples, en donde estos estn en la capacidad de percibir y modificar su ambiente
de manera local, para hacer posible la comunicacin con los dems sujetos pertenecientes a la
poblacin, as estos tambin notaran los cambios generados en su entorno. Estos sistemas no tienen
una estructura centralizada de control que determine el comportamiento de los agentes, esto se da
por medio de interacciones locales entre los mismos agentes (Tercero Talavera, 2009).
Es importante tener en cuenta que los agentes lo que hacen es seguir un conjunto de reglas simples,
y dichos agentes son homogneos, es decir los integrantes de la poblacin son idnticos.

4) Principios de los Sistemas basados en Inteligencia de Enjambres
Los principios que caracterizan a los sistemas basados en inteligencia de enjambres (Hassan, s.f.),
bsicamente son:
La retroalimentacin positiva: Este principio se enfatiza en reforzar las buenas soluciones
que se van encontrando en el sistema, y asegura que la poblacin se estabilice siempre
hacia la mejor solucin, de tal forma que llega a manejar resultados mejores en una
probabilidad mayor para un mismo evento.

El voto negativo: Este minimiza las probabilidades de llegar a encontrar soluciones malas
y que se pueda encontrar un ptimo local conocido para casos que tienen casi que una
solucin directa y con muy bajo costo computacional.
La aleatoriedad: Este permite explorar y descubrir nuevas soluciones, el cual es un buen
complemento de la retroalimentacin positiva, ya que presenta nuevos candidatos de
soluciones encontradas, para que puedan ser comparadas y elegir la mejor.

Mltiples Interacciones: Esta hace que el flujo de informacin y los datos generados por
los individuos de la poblacin se puedan transmitir por medio de la red.

5) Ventajas de los Sistemas de Inteligencia de Enjambres
Los sistemas basados en inteligencia por enjambres tienen las siguientes ventajas (Kutsenok):

Flexibilidad, la colonia puede adaptarse a un entorno cambiante, extremo, adverso; tienen
la capacidad de auto-recuperarse.

Eficiencia, los agentes no piensan en el futuro y no utilizan razonamiento simblico, lo cual
computacionalmente es costoso.

Robustez, es decir, cuando uno o ms individuos fallan, es decir se equivocan o mueren, el
grupo puede seguir ejecutando la tarea.

Auto-organizacin, es decir las actividades no se controla centralizadamente ni se
supervisan localmente. No se tiene una gobernanza para su comportamiento.


6) Optimizacin enjambre de partculas (Particle Swarm Optimization - PSO)
Este algoritmo fue desarrollado por Kennedy y Eberhart en el ao de 1995, el cual es trabajado para
funciones no lineales en todo tipo de espacios (continuos y discretos); este se basa en la simulacin
del desplazamiento de cardmenes y bandadas.
En todos los sistemas PSO, se cuenta con una poblacin de partculas (individuos), en donde cada
uno representa una posible solucin al problema. Partiendo de que estas partculas cambian su
estado, en el momento que interactan en un entorno determinado con los dems integrantes de su
poblacin buscando un estado ms estable que conlleve a la solucin. En este modelo los individuos
ignoran su propia experiencia, ya que existen mejores soluciones a la encontrada este cambia su
criterio por la ms ptima, de acuerdo a la creencias exitosas de los dems integrantes de su
poblacin. Es as como se contempla el funcionamiento de PSO.
Tomando como ejemplo, el desplazamiento que tiene una bandada, al momento de que estn
volando cada integrante trata de hallar las soluciones factibles, siguiendo a quienes van por buen
camino para llegar a este.
El algoritmo consiste en tener una determinada poblacin (enjambre), y unas soluciones candidatas
ubicndolas aleatoriamente (partculas), en donde dichas partculas se mueven por el espacio del
problema planteado, como se muestra en la Imagen 1, cada partcula luego ser tratada con la
Ecuacin 1 y la Ecuacin 2, en donde cada partcula est representada por la variable Xi, la mejor
posicin encontrada para cada partcula en relacin al costo estar asociada por Pi, la velocidad
para cada partcula estar relacionada con Vi, las variables C1 y C2 sern constantes mayores a
cero, R1 y R2 sern 2 nmeros en el intervalo cerrado comprendido entre 0 y 1, w ser un peso
inercial. El cual facilita la exploracin global de nuevas soluciones en el espacio del problema
(Muoz, Lpez, & Caicedo, 2008).
Ecuacin 1 : Ecuacin para la velocidad de cada partcula

Ecuacin 2: Ecuacin para el desplazamiento de cada partcula

Imagen 1: Algoritmo de PSO


7) Optimizacin por Colonia de Hormigas (Ant Colony Optimization ACO)
La optimizacin por Colonia de Hormigas, est basada en el comportamiento social que tienen las
hormigas, en donde existe una comunicacin a travs de feromonas, la cual es una sustancia
qumica que es depositada por las hormigas que avanzan por un camino determinado, para
notificarles a las dems que camino escoger; dependiendo de la concentracin de cada sustancia
estas escogen el mejor camino el cual lleva a fuentes de alimento o a su nido.
Ya en cuestin de los algoritmos ACO, se cuenta con una cantidad de agentes que construyen la
solucin, o una pequea parte de esta a medida que se va generando el camino con mayor cantidad
de feromona; partiendo de un estado inicial y desplazndose por una serie de estados vecinos que
pertenecen a un conjunto finito, haciendo uso de 2 importantes fuentes de informacin, la visibilidad
y los rastros de feromona en los caminos que se van explorando, que le permite a cada hormiga
desplazarse de un nodo a otro para elaborar su camino solucin.
Partiendo para ello de la Ecuacin 3, donde se tiene la variable Pi]
K
(t), la cual define la probabilidad
de que la k-sima hormiga se desplace del nodo i al nodo j, la cantidad de feromona acumulada en
cada arco (i,j) identificado por |i](t)]
u
, una informacin heurstica asociada |pi]]
[
, siendo adems
|Ni]
k
los estados vlidos.
Ecuacin 3

Los rastros de la feromona varan para cambiar el estado del problema, es decir que tantas
soluciones se han llegado a encontrar, la cual es utilizada por cada hormiga para tomar decisiones
de que nodos visitar para construir su camino solucin, de tal forma que esta sustancia se convierte
en trminos computacionales en una memoria local compartida, que contribuye a la eleccin del
mejor camino por medio de su comportamiento cooperativo, estableciendo una comunicacin
indirecta por medio del cambio de su entorno (Muoz, Lpez, & Caicedo, 2008).
La optimizacin por Colonia de Hormigas, tiene diversas aplicaciones como lo son la seleccin de
caractersticas, procesamiento de imgenes, optimizacin para el control del trfico, programacin
en sistemas de manufactura, descubrimiento de recursos naturales (Kabir, Shahjahan, & Murase,
2013).
Para conocer ms acerca de ACO, una de los ejemplos clsicos conocido como el problema del
viajero (the traveling salesman problema - TSP) es tratado por medio de los algoritmos de ACO,
en donde se tienen un conjunto de ciudades interconectadas entre s y se debe poder visitar cada
una de ellas sin repetir con el menor costo posible, como se muestra en la Imagen 2, donde los
puntos rojos son las ciudades a visitar, los enlaces grises es la cantidad de feromona existente por
cada camino, en donde se toma el que tenga ms feromona como solucin al problema, es decir el
que est ms gris y la lnea roja es el resultado del problema, con la mejor solucin (Borgelt, 2005).
Imagen 2: Solucin de TSP por Optimizacin de Colonia de Hormigas





8) Optimizacin por enjambre de bacterias
Este fue desarrollado con base en el comportamiento de la bacteria Escherichia Coli, ya que ha sido
de lo microorganismo ms comprendidos por las ciencias biolgicas, el cual se compone de una
capsula que contiene sus rganos vitales y unos flagelos que le permiten desplazarse, este incluso
llega a detectar alimento y evitar algunas sustancias nocivas.
La Escherichia Coli, se basa en dos estados de locomocin, los cuales son el deslazamiento y el
giro, en donde este cambia de un estado al otro dependiendo de la concentracin de nutrientes o
sustancias nocivas en su entorno.
La optimizacin por enjambre de bacterias se centra en encontrar soluciones que se aproximen a
los problemas de alta complejidad que son casi que intratables por medio de la maximizacin o la
minimizacin (McCaffrey, Optimizacin de la recoleccin bacteriana, 2012).

9) Algoritmos de Colonia de Abejas (SBC)
Este se basa en seguir el comportamiento de alimentacin de las abejas melferas, tienes 3 fases
haciendo uso de varios tipos de abejas, como lo son: la abeja empleada u obrera, la espectadora y
la exploradora, en donde se realiza una explotacin masiva de todas las fuentes de bsqueda de las
soluciones durante la fase de trabajo intensivo y la fase espectadora. Luego en la fase de exploratoria
se eliminan las soluciones que no tienen un beneficio relevante para el progreso de la bsqueda, as
que se opta por abandonarlos y se insertan nuevas soluciones para explorar nuevas regiones del
dominio del espacio de la bsqueda.
Los algoritmos basados en SBC, establecen modelos de comportamientos de abejas y son utilizados
para descubrir soluciones a problemas de combinatoria que pueden ser casi imposibles de resolver,
tambin es utilizado para resolver el problema del viajero (TSP). Estos algoritmos frecuentemente
son llamados como meta-heurstica, ya que fuera de entregar argumentos de la solucione encontrada
de forma detallada, proporcionan un marco general y una serie de instrucciones para dar soluciones
a los problemas (McCaffrey, 2011).














10) Referencias

Borgelt,C.(2005).http://www.borgelt.net/.Obtenidodehttp://www.borgelt.net/:
http://www.borgelt.net/acopt.html
Hassan.(s.f.).hassam.hubpages.com.Obtenidodehassam.hubpages.com:
http://hassam.hubpages.com/hub/SwarmIntelligence
Hertz,A.,&Kobler,D.(2000).Aframeworkforthedescriptionofevolutionaryalgorithms.
EuropeanJournalofOperationalResearch,126(1),112.
Jimnez,M.A.(s.f.).www.dia.fi.upm.es/.Obtenidodewww.dia.fi.upm.es/:
http://www.dia.fi.upm.es/~ajimenez/Docu_Metaheuristicas/Transparencias/Tema5Evolut
ivos.pdf
Kabir,M.,Shahjahan,M.,&Murase,K.(2013).AntColonyOptimizationTechniquesand
Applications.Obtenidodehttp://www.intechopen.com/books/antcolonyoptimization
techniquesandapplications
Kutsenok,A.(s.f.).http://www.dreamspike.com/.Obtenidodehttp://www.dreamspike.com/:
http://www.dreamspike.com/kutsenok/attachments/File/SwarmAI04_(unpublished).pdf
McCaffrey,J.(Abrilde2011).UseBeeColonyAlgorithmstoSolveImpossibleProblems.MSDN
Magazine.Obtenidodehttp://msdn.microsoft.com/enus/magazine/gg983491.aspx
McCaffrey,J.(2012).Optimizacindelarecoleccinbacteriana.MSDNMagazine.Obtenidode
http://msdn.microsoft.com/eses/magazine/hh882453.aspx
Muoz,M.A.,Lpez,J.A.,&Caicedo,E.F.(Agostode2008).Inteligenciadeenjambres:
sociedadesparalasolucindeproblemas(unarevisin).IngenieraeInvestigacin
UniversidadNacional,28(2).
SurezTirado,J.(s.f.).Inteligenciadeenjambreyretosparasuaplicacinenlasorganizaciones:
Anlisisapartirdelcontrol.Obtenidode
http://www.fce.unal.edu.co/publicaciones/index.php?option=com_content&view=article
&id=124:7inteligenciadeenjambreyretosparasuaplicacionenlas
organizaciones&catid=41:documentoseaecpfcecid&Itemid=55
TerceroTalavera,I.(20deAgostode2009).coevolucion.net.Obtenidodecoevolucion.net:
http://coevolucion.net/index.php?option=com_content&view=article&id=89:inteligencia
deenjambre

You might also like