ants algorithms tutorial ciic2007 part a (1)
DESCRIPTION
Ants AlgorithmsTRANSCRIPT
![Page 1: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/1.jpg)
Una Introducción a la Optimización Usando Algoritmos de Hormigas y sus Aplicaciones
Parte A
Jesús A. LópezUniversidad del ValleCali, Colombia
CIIC2007Universidad NacionalBogotá, ColombiaSeptiembre 5 – 7 de 2007
![Page 2: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/2.jpg)
Agenda
� Introducción.� Inteligencia de Enjambres.� Algoritmos de Hormigas.� Algoritmos de hormigas para la solución de problemas de enrutamiento.
� Algoritmos de hormigas� Búsqueda de alimento � Optimización y enrutamiento� Agrupamiento y categorización� División de labores� Transporte cooperativo
![Page 3: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/3.jpg)
Introducción (I)
La Inteligencia Artificial se divide en dos escuelas dependiendo de como se diseña un Agente Inteligente. La primera que se ha denominado Inteligencia Artificial Convencional y una emergente llamada Inteligencia Computacional
Inteligencia Artificial
Inteligencia Artificial Convencional
Inteligencia Computacional
![Page 4: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/4.jpg)
Introducción (II)
Inteligencia Artificial Convencional
Búsquedas en Espacios de Estado Planeamiento Automático
Búsqueda Combinatoria Sistemas Expertos
Sistemas Basados en Comportamiento Redes Bayesianas
![Page 5: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/5.jpg)
Inteligencia Computacional
Redes Neuronales Sistemas Difusos Computación Evolutiva
Introducción (III)
![Page 6: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/6.jpg)
ComputaciónEvolutiva
AlgoritmosEvolutivos
Inteligenciade Enjambres
AlgoritmosGenéticos
EstrategiasEvolutivas
ProgramaciónGenética
ProgramaciónEvolutiva
Optimización porColonia deHormigas
Optimización porEnjambre dePartículas
Optimización porEnjambre deBacterias
Búsqueda por Difusión
Estocástica
Introducción (IV)
![Page 7: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/7.jpg)
Inteligencia de Enjambres (I)
Una simple hormiga o abeja no es muy lista, pero sus colonias lo son. El estudio de la inteligencia de enjambres esta proporcionando ideas que pueden ayudar a los humanos a manejar sistemas complejos, desde enrutamiento de camiones hasta robots militares
![Page 8: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/8.jpg)
� Técnicas computacionales que estudian el comportamiento colectivo en grupos descentralizados y autoorganizados
� Características:� No existe una estructura de control central
� No existe un modelo explicito del entorno
� Hay un método de percepción del entorno
� El agente puede realizar cambios sobre el entorno
Inteligencia de Enjambres (II)
![Page 9: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/9.jpg)
Inteligencia de Enjambres (III)
Cualquier intento de desarrollar algoritmos y mecanismos de solución distribuida de un problema inspirados por el comportamiento colectivo de colonias de insectos sociales y otras sociedades de animales.
Bonabeau,Dorigo,Theraulaz, Swarm Intelligence, 1999
![Page 10: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/10.jpg)
Algoritmo Basados en Colmenas de Abajes
� Algoritmos que imitan el comportamiento de las abejas en el proceso de búsqueda y recolección de Néctar. Básicamente realiza las siguientes funciones:� Distingue clases y categorías de individuos que conforman la colmena.
� Algunos agentes tienen la tarea de ubicar fuentes de alimento suficientemente provechosas e informar, en la colmena, a los otros individuos sobre la ubicación relativa de dicha fuente a través de “danzas”.
� Dependiendo de la duración de las danzas, indica la ubicación y provecho de la fuente.
![Page 11: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/11.jpg)
Optimización de la función Peaks (I)
![Page 12: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/12.jpg)
Optimización de la función Peaks (II)
![Page 13: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/13.jpg)
Optimización por Enjambre de Partículas
� Desarrollada por J. Kennedy y R. Eberhart(1995)
� Basada en los movimientos de bandadas y cardúmenes
� Combina un modelo individual con un modelo social
( ) ( ) ( ) ( )idgdidididid xpRandcxprandctvwtv −⋅⋅+−⋅⋅+⋅=+
211
( ) ( ) ( )11 ++=+ tvtxtx idid
![Page 14: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/14.jpg)
Optimización por Enjambre de Bacterias
( ) ( ) ( ) ( )tiCtt ii ψθθ ⋅+=+1
� Desarrollado por K. Passino(2000)
� Basado en el comportamiento Quimiotáctico de las bacterias
� Considera el espacio de búsqueda como un ambiente con concentraciones variables de nutrientes
![Page 15: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/15.jpg)
Optimización por Enjambre de Bacterias
�Optimización de Funciones
-2
0
2
-2
0
2
-5
0
5
x
Peaks
y
![Page 16: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/16.jpg)
Algoritmos Basados en Colonias de Hormigas
� Inicialmente desarrollados por M. Dorigo (1991)
� Basados en diferentes comportamientos observados en las colonias de hormigas:� Búsqueda de alimento� Organización de cadáveres� División de labores� Construcción de nidos
� Comunicación por estigmergia
![Page 17: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/17.jpg)
� Estigmergia =Las acciones de un insecto son determinadas o influenciadas por las consecuencias de las acciones previas de los otros insectos.� Agrupación de los insectos muertos de la colonia� Construcción de nidos� Búsqueda de alimento
Estigmergia
![Page 18: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/18.jpg)
Los algoritmos de hormigas están basados en comportamientos exhibidos por las hormigas reales:� Búsqueda de alimento � Optimización y enrutamiento� Agrupamiento y categorización� División de labores� Transporte cooperativo
Algoritmos de Hormigasde Hormigas
![Page 19: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/19.jpg)
� Las hormigas son capaces de encontrar el camino más corto hasta donde está el alimento
� La clave esta en la ruta de feromonas que ellas dejan.
� La feromona en el camino mas corto se refuerza haciendo que más hormigas usen dicho camino.
� Luego de un tiempo las hormigas han definido una ruta a seguir
Cómo las Hormigas Buscan Alimento?
![Page 20: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/20.jpg)
� El problema de los dos puentes
Cómo las Hormigas Buscan Alimento?
![Page 21: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/21.jpg)
� Esto ayuda a descartar las fuentes de alimento menos adecuadas
Evaporación de Feromona
![Page 22: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/22.jpg)
� La idea es usar una colonia de hormigas artificiales para resolver problemas de optimización.
Optimización Basada en Colonias de Hormigas (AntColony Optimization –ACO-)
![Page 23: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/23.jpg)
� Las hormigas son depositadas randómicamenteen las diferentes ciudades.
� Cada hormiga busca una ruta usando una regla probabilística
� Cada hormiga va depositando feromona a medida que construye una ruta
� En los nuevos recorridos la regla probabilística que define las ciudades a visitar estáinfluenciada por la cantidad de feromona depositada
� Luego de un cierto número de iteraciones, una buena solución es encontrada
ACO para el Problema del Viajante
![Page 24: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/24.jpg)
ACO para el Problema del Viajante
� Ejemplo básico
![Page 25: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/25.jpg)
ACO para el Problema del Viajante
![Page 26: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/26.jpg)
Otras Aplicaciones
� Tráfico en una red de comunicaciones
� Programación de trabajos
� Programación de rutas para vehículos
![Page 27: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/27.jpg)
Otras Aplicaciones
� AntNet
![Page 28: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/28.jpg)
Optimización de Funciones (I)
( ) ( ) ( ) 620sin30sin52.05.0 ++= − θθθ θθ
eeJ ( ) ( )2
2
221
2
1
4
1
2
12144
3
11.24, θθθθθθθθθ +−++
+−=J
CESIN SCB
![Page 29: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/29.jpg)
Optimización de Funciones (II)
0 10 20 30 40 50 60 70 80 90 100-2
-1
0
1
2
Min
imum
and A
vera
ge C
ost
0 10 20 30 40 50 60 70 80 90 1000
0.5
1
1.5
Cost
Devia
tion
epochs
Costo Mínimo, Promedio y Desviación de la Población
Desplazamiento de los agentes sobre el espacio de
búsqueda
![Page 30: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/30.jpg)
Optimización de Funciones (III)
� Comparación de diferentes técnicas
SCB
8.11E-03-1.0241-1.0316AACA
5.02E-04-1.0312-1.0316BSFO
1.48E-07-1.0316-1.0316PSO
σJavgJminAlgoritmo
CESIN
2.52E-021.33951.3286AACA
1.98E-011.43951.2693BSFO
6.68E-021.32431.2573PSO
σJavgJminAlgoritmo
![Page 31: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/31.jpg)
Sintonización de un PID (I)
� Control de Temperatura en reactor de agitación continua
� Variable de entrada: Porcentaje de apertura de la válvula de vapor
� Disturbios: Flujo de sustancia y Temperatura de Sustancia
� Se considera la saturación de todas las variables y cuantificación en los niveles de apertura.
� Puntos de operación:� T = 65.5°C� Ti = 37.7 °C� F = 425 l/s
![Page 32: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/32.jpg)
� Bajo las mismas condiciones de diseño, obtener un controlador con desempeño similar al obtenido con AG y CD.� Bajo esfuerzo de control� Buen rechazo a perturbaciones� Rápido establecimiento
Sintonización de un PID (II)
( ) ( ) ( ) ( ) ( )zEz
KzEzKzEKzU idp ⋅
−⋅+⋅−⋅+⋅= −
1
11
1
( ) ( )( ) ( ) ( )( )∑∑==
−−−
+−=N
k
N
k
kukuN
KkykrN
KJ1
2
2
0
2
11
1
11
![Page 33: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/33.jpg)
Sintonización de un PID (III)
0 1000 2000 3000 4000 50000
50
100
Tiempo (min)
Tem
pera
tura
(°C
)0 1000 2000 3000 4000 5000
0
50
100
Tiempo (min)
Porc
enta
je d
e A
pert
ura
FUZZY PIDAG PIDPSO PIDBSFO PIDACO
MSE 2.23E+01 1.81E+01 1.74E+01 3.52E+01 1.63E+01
MTSE 8.46E+04 6.66E+04 6.80E+04 1.43E+05 6.00E+04
CAA 1.49E+02 1.49E+02 1.49E+02 1.49E+02 1.49E+02
CAS 2.45E+00 4.17E+00 3.73E+00 1.16E+00 5.32E+00
ACO
� Comparación de diferentes técnicas
![Page 34: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/34.jpg)
Control Indirecto Adaptativo (I)
( )( )
( ) ( ) ( )( )111
1−−−
−= khkkr
kku α
β
� Control de Nivel en Tanque con sección variable
� Se usa un modelo estimado de la planta y un controlador por equivalencia
( ) ( )( ) ( )
( )tubtha
c
btha
tghd
dt
tdh
++
+
−=
2
![Page 35: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/35.jpg)
Control Indirecto Adaptativo (II)
El sistema de identificación corresponde al algoritmo
de enjambres
0 10 20 30 40 50 60 70 80 90 1000
5
10
15
Liq
uid
heig
ht,
h
10 20 30 40 50 60 70 80 90 100-50
0
50
Time, k
Contr
ol A
ction,
u
![Page 36: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/36.jpg)
Plataforma de Experimentación en un Sistema de TemperaturaMultizona
![Page 37: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/37.jpg)
Cómo Controlar la Plataforma?
I1
I2
I16
Disturbios delAmbiente
S1
S2
S25
MODELO?CONTROL?
RESTRICCIONES?
![Page 38: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/38.jpg)
Basada en Hormigas – Un Agente
![Page 39: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/39.jpg)
Basada en Hormigas – Dos Agente
![Page 40: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/40.jpg)
Basada en Hormigas – Cuatro Agentes
![Page 41: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/41.jpg)
Algoritmo de Hormigas para Agrupamiento� Algunas especies de hormigas agrupan los cadáveres de las hormigas muertas
![Page 42: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/42.jpg)
Aplicaciones
� Agrupamiento de objetos usando robots� Se recoge el objeto con una alta probabilidad si se perciben pocos objetos cerca
� Se deposita el objeto con alta probabilidad si se perciben muchos objetos cerca
![Page 43: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/43.jpg)
División de Labores
� Unas de las claves del éxito de los insectos sociales es su especialización morfológica y funcional:� Las reinas son reproductoras
� Soldados y obreros estériles
� Obreros especializados en cuidad y alimentar las larvas
� Obreros especializados en buscar comida
� Soldados especializados en cuidar el nido
![Page 44: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/44.jpg)
División de LaboresAsignación Adaptativa de Tareas ATAA
AL
GO
RIT
MO
AT
AA
Inicio
Aparece una tarea
a realizarse
Tarea X
Cubierta?
Agente
disponible?
NO
NO
Se decrementa la
demanda de XSI
FinSI
distancia = 0;
Distancia 0
X = X – 0;
X = X – ;
_X= X + ;NO
SI
NO
SI
![Page 45: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/45.jpg)
Asignación Adaptativa de TareasEjemplo
![Page 46: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/46.jpg)
Transporte Cooperativo
Emular el comportamiento de las hormigas para transportar cooperativamente objetos que están por encima de la capacidad de un individuo
![Page 47: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/47.jpg)
Aplicaciones
�Transporte cooperativo en robótica
![Page 48: Ants Algorithms Tutorial CIIC2007 Part a (1)](https://reader033.vdocuments.net/reader033/viewer/2022051019/5695d3f71a28ab9b029fcc0f/html5/thumbnails/48.jpg)
Algunos Enlaces
Ant Colony Optimization
http://www.aco-metaheuristic.org/
The Swarm-Intelligent Systems (SWIS)
http://swis.epfl.ch/
Swarm Intelligence resources
http://staff.washington.edu/paymana/swarm/
Ants Viewer 1.0
http://www.rennard.org/alife/english/antsgb.html
TSPLIB is a library of sample instances for the TSP
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/
Generic simulated flocking creatures boids.
http://www.red3d.com/cwr/boids/
Design and implementation of self-organizing and self-assembling
artifacts.
http://www.swarm-bots.org/