dr. guillermo leguizamón cinvestav – julio de 2010

53
Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010 G. Leguizamón - UNSL - Argentina

Upload: clyde

Post on 23-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010. Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio -inspirada. El enfoque ACO, marco general. La metaheurística ACO se sitúa dentro del - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Ant Colony Optimization

(Optimización Basada en el comportamiento de Colonias de

Hormigas)

Una Metaheurística Bio-inspirada

Dr. Guillermo Leguizamón

CINVESTAV – Julio de 2010

G. Leguizamón - UNSL - Argentina

Page 2: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

El enfoque ACO, marco general.

• La metaheurística ACO se sitúa dentro del campo de la “INTELIGENCIA COLECTIVA” (IC) o “SWARM INTELLIGENCE” (SI)

• Este marco presupone un conjunto de agentes que obedecen a un conjunto de reglas muy simples, pero que actuando cooperativamente, surge

un sistema mucho más complejo.

• Ejemplos: Hormigas, termitas, abejas, peces (cardúmenes), pájaros, etc.

G. Leguizamón - UNSL - Argentina

Page 3: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva- Introducción

G. Leguizamón - UNSL - Argentina

“The emergent collective intelligence of groups of simple agents.”

(Bonabeau, Dorigo and Theraulaz)

Page 4: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva- Introducción

G. Leguizamón - UNSL - Argentina

Muchos insectos/aves/peces sociales actuando colectivamente, son capaces de realizar comportamientos complejos, e.g., defender un nido, construir puentes y nidos, distribuir tareas, búscar alimentos, defensa contra depredadores, etc.

Page 5: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

Algunas preguntas que surgen cuando vemos la complejidad y perfección del producto de ciertas colonias/enjambres:

- ¿Qué los gobierna?- ¿Quién emite las ordenes?- ¿Quién tiene una visión global?- ¿Quién elabora los planes?- ¿Quién preserva el equilibrio?

Parece ser que cada agente tiene sus propios objetivos, pero el resultado (construcción de un nido, puente, camino) se percibe como algo organizado y complejo.

Page 6: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Ingeligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Agentes simples (gobernados por reglas sencillas), pero masivos.

Comportamiento emergente

Auto-organización

Descentralización

Flexibilidad

Auto-reparación

Características de estos sistemas

Page 7: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Ingeligencia Colectiva - Introducción

Auto-organización (Self-organization )

Es un conjunto de mecanismos dinámicos a partir de los cuales pueden emerger estructuras de alto nivel debido a las interacciones entre componentes de bajo nivel.

(Bonabeau et al., en Swarm Intelligence, 1999)

Page 8: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Cooperación (no competencia)

Comunicación directa o indirecta (stigmergy)

Modelos

Algoritmos

Sist. Multi-Agente

Grupos de Robots

Page 9: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Cine: Robótica y Ciencia Ficción (Matrix)

Un “centinela”

Swarm de centinelas en acción

Page 10: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Más cine y escenas que capturan el concepto

Page 11: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Algunos principios de la Inteligencia Colectiva

1. Auto-organización basada en:• intensificación de tareas vía retroalimentación positiva• balance de actividades vía retroalimentación negativa• intensificación de fluctuaciones aleatorias•múltiples interacciones

2. stigmergy , basada en:• trabajo realizado como respuesta al estado del entorno • el entorno funciona como memoria de estado de

trabajo realizado • el trabajo no depende de agentes específicos

Page 12: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Inteligencia Colectiva - Introducción

G. Leguizamón - UNSL - Argentina

Definición de Inteligencia Colectiva Computacional (ICC) o Computational Swarm Intelligence (CSI), según

E. Bonabeau et al.: “cualquier intento de diseñar, desde una perspectiva distribuida, algoritmos o dispositivos para resolver problemas inspirados en el comportamiento de insectos u otros animales sociales”

A. Engelbrecht da una definición similar, excepto que no incluye a los dispositivos (e.g., robots).

Page 13: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Ant Colony Optimization (ACO)

La metaheurística ACO engloba a un conjunto de algoritmos cuyo diseño está basado en el comportamiento de ciertas colonias de hormigas reales

G. Leguizamón - UNSL - Argentina

Comportamiento: búsqueda y provisión de alimentos realizando la exploración desde el nido (comportamiento forrajero).

Page 14: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Las hormigas reales (ciertas especies) dejan un rastro (feromona) que puede ser detectado por el resto de la colonia (comunicación indirecta o stigmergy)

G. Leguizamón - UNSL - Argentina

Ant Colony Optimization (ACO)

Page 15: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Definición: Un Algoritmo ACO es un proceso distribuido en el que un conjunto de agentes (reactivos) actúan en forma independiente y cooperan esporádicamente en forma indirecta para llevar a cabo un objetivo común.

G. Leguizamón - UNSL - Argentina

Ant Colony Optimization (ACO)

Page 16: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

ACO (Exp. Camino más corto) Alimento

Nido

G. Leguizamón - UNSL - Argentina

Ciertas especies de hormigas realizan un proceso llamado auto-catalítico, el que modifica la velocidad con que se deja el rastro de feromona.

Existen 2 tipos de catalizadores.

Positivos: aumentan la velocidad de una reacción.

Negativos: disminuyen la velocidad de una reacción (inhibidor).

Page 17: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

G. Leguizamón - UNSL - Argentina

Algunos Simuladores•http://www.sinanerdem.net/ant-colony-simulator

•http://www.rennard.org/alife/english/antsgb.html

• http://www.mcrit.com/complexity/applets/boid.html

Page 18: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

ACO: algunos conceptos previos Antes de introducir los aspectos computacionales de la metaheurística ACO, veamos dos métodos básicos para explorar el espacio de búsqueda con elementos comunes a algunas metaheurísticas, por ejemplo:

• Búsqueda Local• Algoritmos constructivos

G. Leguizamón - UNSL - Argentina

Page 19: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Conceptos Previos (Cont.) Búsqueda Local

• Presupone una estructura bien definida del espacio de

búsqueda (uso del concepto de vecindario). • Comienza desde una solución inicial y

repetidamente trata de mejorarla a través de cambios locales

• Cada cambio realizado le permite al método, “moverse” hacia otros puntos del espacio de búsqueda dentro del vecindario

G. Leguizamón - UNSL - Argentina

Page 20: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Conceptos Previos (Cont.)

Vecindario de un punto en el espacio

Operador

G. Leguizamón - UNSL - Argentina

Page 21: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Búsqueda Local: ejemplo, operador de intercambio de 2 elementos.

( 1 5 4 2 3)

( 4 5 1 2 3)( 5 1 4 2

3)

( 2 5 4 1 3)

( 3 5 4 2 1)

( ?)

( ?)

Page 22: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Búsqueda Local: algoritmo simple

Procedure BL; S Solución_Inicial; // completa Mejora TRUE while ( Mejora ) NS Vecindario de S // aplica op

S’ Mejor(NS) // acorde al objetivo if ( S mejor que S’ ) Mejora FALSE

else S S’ end-while

return S; end-procedure

Page 23: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Conceptos Previos (Cont.)

Algoritmos constructivos• Las soluciones son construidas iterativamente añadiendo componentes a una solución partiendo desde una solución ‘vacía’.

• Por ejemplo, en el problema del Viajante de Comercio (TSP) la solución es construida añadiendo una ciudad tras otra incrementando la longitud del tour.

G. Leguizamón - UNSL - Argentina

Page 24: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Conceptos Previos (Cont.)

Ejemplo de un Algoritmo constructivo

Procedure GreedyConstHeurist; Sp ElegirPrimeraComponente(Cand); while (Sp no esté completa) C ComponenteGreedy(Cand);

Sp Sp C; end-while S Sp;

return S;end-procedure

Esta parte es la que determina la “voracidad”

G. Leguizamón - UNSL - Argentina

Page 25: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Conceptos Previos (Cont.)

• ¿Qué diferencia hay entre Búsqueda Local y un Algoritmo Constructivo?

• ¿Cómo visualizar el espacio de búsqueda para un Algoritmo Constructivo?

•¿Se pueden definir operadores para explorar dicho espacio?

G. Leguizamón - UNSL - Argentina

Page 26: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Espacio de Búsqueda del Problema (Ejemplo, TSP)

Tamaño N=5, 5!=120 Posibles soluciones N=6, 6!=720 N=100, 100! = ? EB

Cada punto en EB es una permutación de las ciudades, e.g., (3 5 1 4 2) o (2 5 3 4 1)

3 4

2

51

G. Leguizamón - UNSL - Argentina

Page 27: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

3

1 2 54

41 25

5

51

2

21

1

1 5

1

5

5! en Total

3

4

2

1

Espacio de Búsqueda - TSPAlgoritmo Constructivo

¿Cómo elegir la rama a seguir?

G. Leguizamón - UNSL - Argentina

Page 28: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Algunas posibilidades de expansión del árbol

1. Greedy (como en el ejemplo del algoritmo previamente mostrado)

2. Aleatorio (¿tiene sentido?)3. Greedy-random (e.g., GRASP)4. o bien, según Ant Colony

Optimization (formulación clásica del enfoque, a continuación …)

G. Leguizamón - UNSL - Argentina

Page 29: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Consideraciones para su aplicación

• El enfoque ACO es particularmente adecuado para ser aplicado a problemas que acepten una representación vía grafo (necesario para imitar la búsqueda de un camino)

• Representación del rastro de feromona y su asociación a las conexiones entre las componentes del problema.

• Posibilidad de añadir conocimiento del problema (heurística local) para guiar junto con el rastro la construcción de las soluciones.G. Leguizamón - UNSL - Argentina

Page 30: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Consideraciones para su aplicación

Dorigo et al. plantean el concepto de “grafo de construcción” como pre-requisito para aplicar un algoritmo ACO. La existencia de este grafo permitirá a las hormigas de la colonia, recorrer dicho grafo para la construcción de las soluciones en forma cooperativa.

G. Leguizamón - UNSL - Argentina

Page 31: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Consideraciones para su aplicación

G. Leguizamón - UNSL - Argentina

Se define un grafo GC=(V,E) donde:

• V es el conjunto de vértices• E el conjunto de arcos que

representan las conexiones entre los vértices• C es el conjunto de componentes del

problema y puede estar asociado a V o E.

G. Leguizamón - UNSL - Argentina

Page 32: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Consideraciones para su aplicación (ejemplo

general)

G. Leguizamón - UNSL - ArgentinaG. Leguizamón - UNSL - Argentina

FN

Page 33: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

ACO aplicado a TSP

3 4

2

51

¿dónde ubicamos al nido (N) y a la fuente de alimentos (F)?

Grafo GC =(V,E), donde V es el conjunto de n ciudades (componentes) y E las carreteras entre las ciudades (TSP simétrico) . En este ejemplo n=5

Page 34: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

ACO aplicado a TSP (Cont.)

3 4

2

51

G. Leguizamón - UNSL - Argentina

Nido: nodos elegidos aleatoriamente (e.g., 3)

FA: el último nodo luego de completada la solución (e.g., 1)

Una posible solución:(3 5 4 2 1)

Page 35: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

ACO aplicado a TSP (Cont.)

3

G. Leguizamón - UNSL - Argentina

S=(3), C={1,2,4,5}

5

S=(3 5), C={1,2,4}

S=(3 5 4), C={1,2}

S=(3 5 4 2), C={1}

S=(3 5 4 2 1), C={}

4

2

1

S=(), C={1,2,3,4,5}

Solución

Inicial

Componentes

Candidatas

Al momento de decidir la próxima ciudad a visitar, ¿cuáles serán los opciones para cada hormiga? Veamos el caso de una hormiga particular:

Page 36: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

• Representación del rastro de feromona puede ser realizado a través de una matriz de números reales () de nn.

• Heurística local (visibilidad): 1/dij, es decir, un valor inversamente proporcional a la distancia entre las ciudades i y j.

G. Leguizamón - UNSL - Argentina

ACO aplicado a TSP (Cont.)

Page 37: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

G. Leguizamón - UNSL - Argentina

3 4

2

51

τ: matriz de feromona

τij indica fortaleza de la conexión (i,j)

11

2

2 3

34

4

5

5

ACO aplicado a TSP (Cont.)

Page 38: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

3

1 2 54

41 25

5

51

2

21

1

1 5

1

5

3

4

2

1

Espacio de Búsqueda - TSP

Algoritmo ACO ¿Cómo se elige en un ACO la rama a seguir?

G. Leguizamón - UNSL - Argentina

Page 39: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

El primer algoritmo ACO (Ant System o AS)

Inicializar();for c=1 to Nro_ciclos{ for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e., ij);

Aplicar Búsqueda Local // OpcionalReubicar hormigas para el próximo ciclo;

} G. Leguizamón - UNSL - Argentina

La construcción se realiza paso a paso en forma probabilística considerando

ij y ij

Page 40: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

AS - Construcción de una solución para TSP

/* Sk: Solución o permutación construida por la hormiga k */Sk = Ciudad_Inicial; (escogida de acuerdo a algún criterio)while ( no se haya completado el tour ){ Seleccionar próx. ciudad (j) con probabilidad Pij

(i es la última ciudad incluida)

Sk = Sk j}

casootroen

CandidatasjkP

Candidatashihih

ijij

ij

0

..

)(

G. Leguizamón - UNSL - Argentina

Los parámetros

α y β controlan

respectivamente la

importancia del rastro y la

heurística

Page 41: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

El primer algoritmo ACO (Ant System o AS)

Inicializar();for c=1 to Nro_ciclos{ for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e., ij);

Aplicar Búsqueda Local // OpcionalReubicar hormigas para el próximo ciclo;

} G. Leguizamón - UNSL - Argentina

Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas

Page 42: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Actualización del Rastro en AS

Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAnts soluciones o la mejor de la colonia):

Actualización : el parámetro es el factor de evaporación.

NroAnts

kij

kij t

1

)1(

)1()()1()1( ttt ijijij

Este valor es calculado directamente

proporcional a la calidad de la solución

G. Leguizamón - UNSL - Argentina

Page 43: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Importancia de Rastro ()• Como todo método heurístico, un algoritmo ACO tiene

su bloque de construcción a partir del cual se generan nuevas soluciones del espacio de búsqueda.

• El bloque de construcción está representado por la estructura dado que incide directamente en las componentes a seleccionar.

11

2

2 3

34

4

5

5

G. Leguizamón - UNSL - Argentina

Recordar!: El nivel de feromona indica la fortaleza de la conexión.

Page 44: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Otros algoritmos ACO

Surgen como respuesta a ciertos problemas observados en AS y básicamente se diferencian en cómo usan y/o modifican el rastro de feromona.

• MinMax-AS (control sobre los valores del rastro)

• AS-rank (ranking de soluciones)

• AS-elistim (sólo la mejor solución)

• Ant Colony System (ACS)

• Ant-Q (basado en Q-Learning) G. Leguizamón - UNSL - Argentina

Page 45: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

¿Qué diferencia fundamental existe entre el enfoque ACO y los AEs?

G. Leguizamón - UNSL - Argentina

Page 46: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

EB desde la perspectiva de un AE y ACO

Solución Completa

3

1 2 54

41 25

5

51

2

21

1

1 5

1

G. Leguizamón - UNSL - Argentina

Page 47: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

AEs y ACO: un concepto adicional

G. Leguizamón - UNSL - Argentina

• Enfoques basados en Modelos

• Enfoques basados en Instancias

Page 48: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Aplicaciones de ACO

• TSP• Scheduling • Vehicle Routing Problem (VRP)• Data Mining (Ant-Miner & Ant-Tree)• Problemas de Grafos (Clique, Coloreo, etc.)• Ruteo Dinámico (ANT-Net)• Problemas con funciones continuas y restricciones • Geometría Computacional

G. Leguizamón - UNSL - Argentina

Page 49: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Estudios actuales

•Modelos Paralelos

•Hibridación

•Estudio y análisis de sus propiedades

•Aplicaciones a problemas de carácter no estacionario (ambientes dinámicos)

G. Leguizamón - UNSL - Argentina

Page 50: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Información de interés

• Dorigo, M. & T. Stützle - “Ant Colony Optimization”. Mit Press.

• Bonabeau, E., Dorigo, M., and Theraulaz, G. – “Swarm Intelligence: From Naturals to Artifical Systems”. Oxford University Press.

• Engelbrecht, A.P. – “Fundamentals of Computational Swarm Intelligence”. Wiley.

G. Leguizamón - UNSL - Argentina

Page 51: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Información de interés (Cont)

• http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

• http://www.metaheuristics.net/

G. Leguizamón - UNSL - Argentina

Page 52: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Vemos ahora un programa en Lenguaje C (versión para Linux) de un algoritmo ACO (Ant System y variantes) para Resolver el Problema de Viajante de Comercio (TSP).

G. Leguizamón - UNSL - Argentina

Page 53: Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

FIN

Parte IG. Leguizamón - UNSL - Argentina