Sei sulla pagina 1di 41

BIOINFORMÁTICA - TEMA 2

BIOINFORMÁTICA
2003 - 2004

– Tema 1. Computación Basada en Modelos Naturales


– Tema 2. Algoritmos Basados en Colonias de Hormigas
– Tema 3. Algoritmos Genéticos I. Conceptos Básicos
– Tema 4. Algoritmos Genéticos II. Diversidad y Convergencia
– Tema 5. Algoritmos Genéticos III. Problemas Multimodales
– Tema 6. Estrategias de Evolución y Programación Evolutiva
– Tema 7. Modelos Evolutivos de Aprendizaje
– Tema 8. Programación Genética
– Tema 9. Algoritmos Genéticos IV. Problemas Multiobjetivo
– Tema 10. Algoritmos Genéticos V. Otros Modelos
– Tema 11. Nuevos Modelos de Evolución de Poblaciones
– Tema 12. Otros Modelos de Computación Bioinspirados

Dpto. Ciencias de la Computación e Inteligencia Artificial 1

Tema 2: Algoritmos de
Optimización basados
en Colonias de Hormigas
Oscar Cordón
Dpto. Ciencias de la Computación e I.A.
Universidad de Granada
E- mail: ocordon@decsai.ugr.es

DPTO. CCIA - UGR 1


BIOINFORMÁTICA - TEMA 2

Índice de Contenidos

I. Las Colonias de Hormigas Naturales


II. Algoritmos de Optimización basados en
Colonias de Hormigas
III. Aplicaciones
IV. Comentarios Finales
V. Bibliografía
Dpto. Ciencias de la Computación e Inteligencia Artificial 3

I. Las Colonias de
Hormigas Naturales
n Las hormigas son insectos sociales que viven en colonias y
que tienen un comportamiento dirigido al desarrollo de la
colonia como un todo mas que a un desarrollo individual

“Antz (Hormiga Z)”


© DreamWorks Pictures. 1998

Recordad...

¡SED LA BOLA!

Dpto. Ciencias de la Computación e Inteligencia Artificial 4

DPTO. CCIA - UGR 2


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (2)
n Una característica interesante del comportamiento de las
colonias de hormigas es cómo pueden encontrar los
caminos más cortos entre el hormiguero y la comida

n Sobre todo por que... ¡¡LAS HORMIGAS SON CIEGAS!!

Entonces...

¿Cómo lo hacen?

Dpto. Ciencias de la Computación e Inteligencia Artificial 5

I. Las Colonias de
Hormigas Naturales (3)
n En su recorrido, depositan una sustancia llamada feromona
que todas pueden oler (estimergia)

n Este rastro permite a las hormigas volver a su hormiguero


desde la comida

“Bichos. Una aventura en miniatura”


© Disney-Pixar. 1999

¡He perdido el rastro,


he perdido el rastro!
Dpto. Ciencias de la Computación e Inteligencia Artificial 6

DPTO. CCIA - UGR 3


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (4)
n Cada vez que una hormiga llega a una intersección, decide
el camino a seguir de un modo probabilístico

n Las hormigas eligen con mayor probabilidad los caminos


con un alto rastro de feromona

Dpto. Ciencias de la Computación e Inteligencia Artificial 7

I. Las Colonias de
Hormigas Naturales (5)
n Las bifurcaciones más prometedoras (más cercanas a la comida)
van acumulando feromona al ser recorridas por más hormigas
(reclutamiento de masas)

n Las menos prometedoras pierden feromona por evaporación al


ser visitadas por menos hormigas cada vez. Aún así, la gran
perduración de los rastros hace que la evaporación influya poco

n La acción continuada de la colonia da lugar a un rastro de


feromona que permite a las hormigas encontrar un camino cada
vez más corto desde el hormiguero a la comida
Dpto. Ciencias de la Computación e Inteligencia Artificial 8

DPTO. CCIA - UGR 4


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (6)

Dpto. Ciencias de la Computación e Inteligencia Artificial 9

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 10

DPTO. CCIA - UGR 5


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 11

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 12

DPTO. CCIA - UGR 6


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 13

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 14

DPTO. CCIA - UGR 7


BIOINFORMÁTICA - TEMA 2

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 15

I. Las Colonias de
Hormigas Naturales (7)

Dpto. Ciencias de la Computación e Inteligencia Artificial 16

DPTO. CCIA - UGR 8


BIOINFORMÁTICA - TEMA 2

II. Algoritmos de Optimización


basados en Colonias de Hormigas
n De las hormigas naturales a la OCH

n La hormiga artificial

n Estructura básica de un algoritmo de OCH

n El Sistema de Hormigas

n El Sistema de Colonia de Hormigas

n Otros algoritmos de OCH

n Funciones adicionales de los algoritmos de OCH


Dpto. Ciencias de la Computación e Inteligencia Artificial 17

De las hormigas
naturales a la OCH
n Para aplicar la OCH a un problema, es necesario que pueda
ser representado en forma de grafo con pesos

n Cada arco ars del grafo contiene dos tipos de información:


– Información heurística: preferencia heurística del arco, ηrs,
dependiente del caso concreto del problema. Las hormigas
no la modifican durante la ejecución del algoritmo

– Información memorística: medida de la “deseabilidad” del


arco, τrs, representada por la cantidad de feromona
depositada en él y modificada durante el algoritmo

Dpto. Ciencias de la Computación e Inteligencia Artificial 18

DPTO. CCIA - UGR 9


BIOINFORMÁTICA - TEMA 2

De las hormigas
naturales a la OCH (2)
n Los algoritmos de OCH reproducen el comportamiento de las
hormigas reales en una colonia artificial de hormigas. Cada
hormiga artificial es un agente que imita a la hormiga natural.

n En cada iteración, cada hormiga artificial recorre el grafo


generando un camino completo (solución al problema). La
bondad de estas soluciones determina el aporte de feromona que
realiza cada hormiga en el camino recorrido

n Se incorpora un mecanismo de evaporación de feromona más


activo que el natural, lo que evita la perduración de los rastros
de feromona y, por tanto, el estancamiento en óptimos locales
Dpto. Ciencias de la Computación e Inteligencia Artificial 19

La hormiga artificial

La hormiga artificial es un agente que:


n Recuerda los nodos que ha recorrido, utilizando para ello
una lista de nodos visitados (L)

n Tras cada iteración, esta lista contiene la solución


construida por la hormiga

n En cada paso, elige hacia qué nodo s moverse (qué arista


seguir) de entre los alcanzables desde el actual r que no
hayan sido visitados aún (J(r) = {s | ∃ ars y s ∉ L}), según
una regla probabilística de transición
Dpto. Ciencias de la Computación e Inteligencia Artificial 20

DPTO. CCIA - UGR 10


BIOINFORMÁTICA - TEMA 2

La hormiga artificial (2)


n Una vez construida su solución, vuelve atrás en el camino
recorrido, actualiza la feromona τrs (en una cantidad que
depende de la bondad de la solución generada) en cada arco
(actualización de feromona en línea a posteriori) y vacía L

n Opcionalmente, puede también depositar feromona en cada arco


que recorre mientras construye la solución (actualización de
feromona en línea paso a paso)

El único mecanismo de comunicación entre las hormigas


es la estructura de datos que almacena los rastros de
feromona de cada arco (memoria compartida)
Dpto. Ciencias de la Computación e Inteligencia Artificial 21

Estructura básica de un
algoritmo de OCH
1. Inicialización de parámetros (p.e., asignación de una
cantidad inicial de feromona τ0 a cada arco)
2. Planificación_de_actividades
– generación_y_activación_de_hormigas
– evaporación_de_feromona
– acciones_del_demonio (OPCIONAL)

El constructor Planificación_de_actividades establece la


planificación de las tres tareas, ya sea secuencialmente
(problemas estáticos) o en paralelo (problemas dinámicos)

Dpto. Ciencias de la Computación e Inteligencia Artificial 22

DPTO. CCIA - UGR 11


BIOINFORMÁTICA - TEMA 2

Estructura básica de un
algoritmo de OCH
1. Inicialización de parámetros (p.e., asignación de una
cantidad inicial de feromona τ0 a cada arco)
2. Planificación_de_actividades
– generación_y_activación_de_hormigas
– evaporación_de_feromona
– acciones_del_demonio (OPCIONAL)

El demonio es un elemento opcional que realiza una serie de


funciones adicionales centralizadas sin contrapunto natural

Dpto. Ciencias de la Computación e Inteligencia Artificial 23

Estructura básica de un
algoritmo de OCH
1. Inicialización de parámetros (p.e., asignación de una
cantidad inicial de feromona τ0 a cada arco)
2. Planificación_de_actividades
– generación_y_activación_de_hormigas
– evaporación_de_feromona
– acciones_del_demonio (OPCIONAL)

Procedimiento generación_y_activación_de_hormigas

1. Repetir en Paralelo Para k=1 hasta Número_de_Hormigas hacer


– nueva_hormiga (k)

Dpto. Ciencias de la Computación e Inteligencia Artificial 24

DPTO. CCIA - UGR 12


BIOINFORMÁTICA - TEMA 2

Estructura básica de un
algoritmo de OCH (2)
Procedimiento nueva_hormiga (id_hormiga)

1. inicializar_hormiga (id_hormiga). L ← nodo inicial r

/* Fase en la que cada hormiga construye su solución */


2. Mientras (estado_actual ≠ estado_objetivo)
2.1. estado_ siguiente = regla_probabilística_de_transición (est_act)
2.2. moverse_al_estado_siguiente (estado_ siguiente)
2.3. Si (actualización_de_feromona_en_línea_paso_a_paso)
n depositar_feromona_en_el_arco_recorrido
2.4. L = actualizar_estado_interno

Dpto. Ciencias de la Computación e Inteligencia Artificial 25

Estructura básica de un
algoritmo de OCH (3)
3. Si (actualización_de_feromona_en_línea_a_posteriori)
3.1. Para cada arco recorrido hacer
n depositar_feromona_en_el_arco_recorrido

4. liberar_recursos_de_la_hormiga (id_hormiga)

El demonio puede:
– Actualizar la feromona globalmente (actualización fuera de línea),
p.e., considerando únicamente la mejor hormiga para la deposición

– Ejecutar un algoritmo de búsqueda local para optimizar las solu-


ciones generadas por las hormigas antes de actualizar la feromona

Dpto. Ciencias de la Computación e Inteligencia Artificial 26

DPTO. CCIA - UGR 13


BIOINFORMÁTICA - TEMA 2

El Sistema de Hormigas
n El primer algoritmo de OCH que se propuso fue el
denominado Sistema de Hormigas (Ant System) (SH)
M. Dorigo, V. Maniezzo, A. Colorni, The Ant System: Optimization by a
Colony of Cooperating Agents. IEEE Trans. On Systems, Man and
Cybernetics-Part B, Vol. 26, 1996, 1-13

n El SH se caracteriza porque las hormigas sólo modifican la


feromona mediante una actualización en línea a posteriori
(fuera de línea si la hace el demonio tras búsqueda local)

n No se efectúa una actualización en línea paso a paso


mientras cada hormiga está recorriendo el grafo

Dpto. Ciencias de la Computación e Inteligencia Artificial 27

El Sistema de Hormigas (2)


n La regla de transición de estados define la probabilidad con
la que la hormiga k, situada en el nodo r, decide moverse
hacia el nodo s siguiendo el arco ars :
 [τ rs ]α ⋅[ηrs ]β
 , si s ∈ J k (r)
pk (r , s ) =  ∑ ru
α β
[τ ] ⋅ [η ru ]
 u∈J k (r)

 0, en otro caso
- τrs es la feromona del arco a rs - ηrs es la inf. heurística del arco ars
- Jk(r) es el conjunto de nodos - α y β son pesos que establecen un
alcanzables desde r no visitados equilibrio entre la importancia de la
aún por la hormiga k información memorística y heurística

Dpto. Ciencias de la Computación e Inteligencia Artificial 28

DPTO. CCIA - UGR 14


BIOINFORMÁTICA - TEMA 2

El Sistema de Hormigas (3)


n Cuando la hormiga k ha generado su solución, aplica una
actualización de feromona en línea a posteriori:

τ rs = τ rs + ∆τ rsk
 f ( C ( Sk )), si la hormiga k ha visitado el arco a rs
− ∆τ rsk = 
 0, en otro caso
– f(C(S k)) es una cantidad de feromona directamente proporcional a la
bondad de la solución generada por la hormiga k, C(S k)

n Así, los arcos visitados por las hormigas en cada iteración


(arcos prometedores) reciben un aporte extra de feromona
Dpto. Ciencias de la Computación e Inteligencia Artificial 29

El Sistema de Hormigas (4)

n Después, se aplica la evaporación de feromona a todos los


arcos del grafo, con lo que los no visitados por ninguna
hormiga en la iteración actual (arcos poco prometedores)
pierden feromona :

τ rs = (1 − ρ ) ⋅τ rs

donde ρ es un parámetro de tasa de evaporación

Dpto. Ciencias de la Computación e Inteligencia Artificial 30

DPTO. CCIA - UGR 15


BIOINFORMÁTICA - TEMA 2

El Sistema de
Colonia de Hormigas
M. Dorigo, L.M. Gambardella, Ant Colony System: A Cooperative Learning Approach
to the Traveling Salesman Problem. IEEE Trans. on Evolutionary Computation, Vol.
1, nº 1, 1997, 53-66

n El Sistema de Colonia de Hormigas (Ant Colony System)


(SCH) extiende a su predecesor, el SH, en tres aspectos:
– La regla de transición establece un equilibrio entre la exploración
de nuevos arcos y la explotación de la información acumulada

– La actualización de feromona la efectúa el demonio (fuera de


línea), considerando sólo la hormiga que generó la mejor solución.
Sólo se evapora feromona en los arcos que componen ésta

– Las hormigas modifican automáticamente la feromona de cada


arco que visitan mediante una actualización en línea paso a paso
Dpto. Ciencias de la Computación e Inteligencia Artificial 31

El Sistema de
Colonia de Hormigas (2)
n La regla de transición de SCH (regla proporcional pseudo-aleatoria) es:

arg max u∈J k (r) {[τ ru ]α ⋅[ηru ] β }, si q ≤ q 0


s=
 S, en otro caso

– s es el nodo escogido por la hormiga en su siguiente movimiento


– q es un uniforme en [0,1]
– q 0 ∈ [0,1] es la probabilidad con la que se escoge determinísticamente
el arco más prometedor (explotación)
– S es un nodo aleatorio seleccionado según la regla de transición del SH
(exploración dirigida)

Dpto. Ciencias de la Computación e Inteligencia Artificial 32

DPTO. CCIA - UGR 16


BIOINFORMÁTICA - TEMA 2

El Sistema de
Colonia de Hormigas (3)
n Puesto que el demonio efectúa la actualización de fero-
mona fuera de línea después de la evaporación, ambas
tareas se pueden realizar mediante la operación:

τ rs = (1 − ρ ) ⋅τ rs + ρ ⋅ f (C ( S mejor− global))

que sólo se aplica sobre los arcos τrs ∈ S mejor-global


n Sólo la hormiga que generó la mejor solución hasta el momento
modifica los niveles de feromona

n El aporte de feromona es función de la calidad de esta solución


(C(S mejor-global))
Dpto. Ciencias de la Computación e Inteligencia Artificial 33

El Sistema de
Colonia de Hormigas (4)
n Cada vez que una hormiga cualquiera recorre un arco, aplica
la actualización de feromona en línea paso a paso:

τ rs = (1 − ϕ ) ⋅τ rs + ϕ ⋅τ 0

n Con esta operación, la feromona asociada a un arco


disminuye cada vez que lo visita una hormiga

n Los arcos ya visitados van siendo menos prometedores según


los recorren más hormigas en la iteración actual, lo que
favorece la exploración de arcos no visitados

n Así, las hormigas tienden a no converger a la misma solución


Dpto. Ciencias de la Computación e Inteligencia Artificial 34

DPTO. CCIA - UGR 17


BIOINFORMÁTICA - TEMA 2

Otros algoritmos de OCH

n Sistema de Hormigas Max-Min (Max-Min Ant System)


T. Stützle, H. Hoos, MAX-MIN Ant System, Future Generation
Computer Systems Journal, 16:8, 2000, pp. 889-914.

n Sistema de Hormigas con Ordenación (Rank Ant System)


B. Bullnheimer, R.F. Hartl, C. Strauss, A New Rank Based Version of the
Ant System - A Computational Study. Central European Journal for
Operations Research and Economics , 7:1, 1999, pp. 25-38.

Dpto. Ciencias de la Computación e Inteligencia Artificial 35

Otros algoritmos de OCH (2)

n Sistema de la Mejor y la Peor Hormiga (Best-Worst Ant


System)

O. Cordón, F. Herrera, Ll. Moreno, Integración de Conceptos de Computación


Evolutiva en un Nuevo Modelo de Colonia de Hormigas. Actas de la Conferencia
de la Asociación Española para la Inteligencia Artificial (CAEPIA’99),
1999, pp. 98-104.

O. Cordón, I. Fernández de Viana, F. Herrera, Ll. Moreno, A New ACO


Model Integrating Evolutionary Computation Concepts: The Best-Worst Ant
System. Actas de ANTS’2000 - From Ant Colonies to Artificial Ants:
Second International Workshop on Ant Algorithms, 2000, pp. 22-29.

Dpto. Ciencias de la Computación e Inteligencia Artificial 36

DPTO. CCIA - UGR 18


BIOINFORMÁTICA - TEMA 2

Funciones adicionales de
los algoritmos de OCH
n Como algoritmos de optimización y búsqueda, los
algoritmos de OCH deben guardar un equilibrio adecuado
entre eficiencia y la eficacia

n El demonio puede realizar una serie de funciones


adicionales que permiten mejorar ambos aspectos:
– Eficiencia ⇒ Uso de listas de candidatos para reducir el tiempo
de ejecución de las reglas de transición y actualización

– Eficacia ⇒ Uso de algoritmos de búsqueda local para refinar


las soluciones obtenidas por cada hormiga en cada iteración

Dpto. Ciencias de la Computación e Inteligencia Artificial 37

Funciones adicionales de
los algoritmos de OCH (2)
1. USO DE LISTAS DE CANDIDATOS
n Cuando los casos de los problemas son de gran tamaño, los
algoritmos de OCH pueden requerir un tiempo de ejecución alto

n Por ejemplo, cuando el grafo es totalmente conexo, el SH es de


orden O (t·m·n2) (t = nº iteraciones, m = nº hormigas, n= nº nodos)

n La mayor parte del costo computacional de la OCH proviene de


las reglas de transición de estados y actualización de feromona

n Para acelerar ambas, en algunos problemas como el Viajante de


Comercio , se usan las Listas de Candidatos (LCs)
Dpto. Ciencias de la Computación e Inteligencia Artificial 38

DPTO. CCIA - UGR 19


BIOINFORMÁTICA - TEMA 2

Funciones adicionales de
los algoritmos de OCH (3)
n La LC almacena los cl nodos preferidos para visitar desde cada
nodo r ordenados de mejor a peor valor heurístico

n Cuando la hormiga está en el nodo r, la regla de transición sólo


considera los nodos incluidos en LC(r) no visitados aún. Sólo se
usa el resto cuando todos los nodos de LC(r) han sido visitados

n En ese caso, existen dos posibilidades:


– escoger directamente el nodo con mejor valor heurístico de los no
incluidos en la lista
– aplicar la regla de transición considerando los nodos restantes

Dpto. Ciencias de la Computación e Inteligencia Artificial 39

Funciones adicionales de
los algoritmos de OCH (4)

n Con la primera opción, el tiempo de ejecución necesario para


que una hormiga construya una solución es lineal (O (cl·n))

n Además, en este caso, es posible acelerar la ejecución de la regla


de actualización de feromona en línea a posteriori en algoritmos
de OCH en los que todas las hormigas actualizan (como el SH)

n Para ello, sólo se modifica la feromona de los arcos que


conectan nodos incluidos en la LC. Esto no es válido en la
segunda opción que considera los demás rastros de feromona

Dpto. Ciencias de la Computación e Inteligencia Artificial 40

DPTO. CCIA - UGR 20


BIOINFORMÁTICA - TEMA 2

Extensiones de los
Algoritmos de OCH (5)
2. USO DE ALGORITMOS DE BÚSQUEDA LOCAL

n Existe la posibilidad de hibridar los algoritmos de OCH con


técnicas de búsqueda por entornos para mejorar su eficacia

n La hibridación consiste en que el demonio aplica una búsqueda


por entornos sobre las soluciones construidas por todas las
hormigas en cada iteración antes de actualizar la feromona

n El aumento en la eficacia se consigue a costa de una


disminución en la eficiencia, por lo que es habitual emplear a la
vez versiones restringidas de técnicas de búsqueda local y LCs

Dpto. Ciencias de la Computación e Inteligencia Artificial 41

Funciones adicionales de
los algoritmos de OCH (6)
n El algoritmo básico de OCH con búsqueda local es:

Mientras (no se dé la condición de parada) hacer


– Construcción probabilística de las soluciones preliminares
mediante la colonia de hormigas
– Refinamiento de dichas soluciones mediante la búsqueda local
– Actualización de feromona fuera de línea

n De este modo, Los algoritmos de OCH con búsqueda local son


algoritmos híbridos con una generación probabilística de
soluciones iniciales para una técnica clásica de búsqueda local

Dpto. Ciencias de la Computación e Inteligencia Artificial 42

DPTO. CCIA - UGR 21


BIOINFORMÁTICA - TEMA 2

Funciones adicionales de
los algoritmos de OCH (7)

n Así, pueden encuadrarse en los algoritmos de Búsqueda Local


Múltiarranque, aunque éstos generan aleatoriamente las
soluciones iniciales sin usar información heurística

n También son similares a los algoritmos GRASP, aunque con


otra filosofía de generación probabilística de soluciones

n La principal diferencia con los dos algoritmos anteriores es el


mecanismo de cooperación global de las soluciones generadas
que hace que las ejecuciones no sean independientes entre sí.

Dpto. Ciencias de la Computación e Inteligencia Artificial 43

IV. Aplicaciones

n Aplicación de la OCH al Viajante de Comercio

n Aplicación de la OCH al Problema de Asignación


Cuadrática

n Aplicación de la OCH al Enrutamiento en Redes


de Telecomunicaciones: AntNet

n Otras Aplicaciones

Dpto. Ciencias de la Computación e Inteligencia Artificial 44

DPTO. CCIA - UGR 22


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP


n El Problema del Viajante de Comercio (TSP) es uno de los
problemas de optimización combinatoria más conocido

n Se dispone de un conjunto N = {1, ..., n} de ciudades, las


cuales han de ser visitadas una sola vez, volviendo a la
ciudad de origen, y recorriendo la menor distancia posible

n El problema puede ser reformulado considerando las


ciudades como nodos de un grafo y los caminos que las
conectan como arcos con pesos (peso = distancia)

Dpto. Ciencias de la Computación e Inteligencia Artificial 45

Aplicación de la OCH al TSP (2)

n El objetivo es entonces encontrar el circuito hamiltoniano


de coste mínimo en el grafo

n La gran facilidad para representar el TSP en forma de


grafo lo ha convertido en el problema más estudiado en el
campo de la OCH

n En cada iteración, cada hormiga se sitúa en un nodo inicial


aleatorio y recorre el grafo según la regla de transición de
estados hasta construir su solución

Dpto. Ciencias de la Computación e Inteligencia Artificial 46

DPTO. CCIA - UGR 23


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (3)


n La información heurística asociada al arco ars es función de
la distancia existente entre las ciudades que conecta

1 2 ... n MATRIZ DE DISTANCIAS


1 drs = coste de ir de la ciudad r a la s
2 drs = -1 si no se puede ir de r a s
D = ... drs drs = drs → TSP simétrico
n drs ≠ drs → TSP asimétrico

n Puesto que los arcos con menor distancia son preferibles,


se considera la inversa de esta distancia: ηrs=1/drs
Dpto. Ciencias de la Computación e Inteligencia Artificial 47

Aplicación de la OCH al TSP (4)


n La información memorística, la feromona asociada a cada
arco ars, se almacena en una matriz de dimensión n×n

1 2 ... n MATRIZ DE FEROMONA


1
2 τ rs = nivel de feromona del arco ars
τ= ... τ rs
n Inicialmente, τ rs =τ 0, ∀r, s

n Jk (r) es el conjunto de ciudades alcanzables desde la ciudad


r que NO hayan sido visitadas aún por la homiga k
Dpto. Ciencias de la Computación e Inteligencia Artificial 48

DPTO. CCIA - UGR 24


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (5)


A modo de ejemplo, vamos a describir una iteración del SH sobre
un caso sencillo del TSP de tamaño n=6 con las siguientes matrices
de distancias D y heurística η:

∞ 1 √5 √5 2 √2 - 1.000 0.447 0.447 .500 0.707


1 ∞ √2 2 √5 √5 1.000 - 0.707 0.500 0.447 0.447
√5 √2 ∞ √2 √5 3 0.447 0.707 - 0.707 0.447 0.333
D = √5 2 √2 ∞ 1 √5 η = 0.447 0.500 0.707 - 1.000 0.447
2 √5 √5 1 ∞ √2 0.500 0.447 0.447 1.000 - 0.707
√2 √5 3 √5 √2 ∞ 0.707 0.447 0.333 0.447 0.707 -
Fuente: J.M. Moreno-Vega, J.A. Moreno-Pérez, Heurísticas en Optimización,
Consejería de Educación, Cultura y Deportes. Gobierno de Canarias, 1999.

Dpto. Ciencias de la Computación e Inteligencia Artificial 49

Aplicación de la OCH al TSP (6)

Suponiendo una población de m=n=6 hormigas, cada una partiendo


de una ciudad distinta, y la matriz de feromona inicializada a τ0=10,
el proceso constructivo de las tres primeras podría ser el siguiente:

Probabilidades de transición
1 2 3 4 5 6 Uniforme Solución
1 - 0.322 0.144 0.144 0.161 0.227 0.000 (1 2 - - - -)
2 - - 0.336 0.237 0.212 0.212 0.031 (1 2 3 - - -)
3 - - - 0.475 0.300 0.225 0.673 (1 2 3 5 - -)
5 - - - 0.585 - 0.415 0.842 (1 2 3 5 6 -)
6 - - - 1.000 - (1 2 3 5 6 4)

Dpto. Ciencias de la Computación e Inteligencia Artificial 50

DPTO. CCIA - UGR 25


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (7)


Probabilidades de transición
1 2 3 4 5 6 Uniforme Solución
2 0.322 - 0.227 0.161 0.144 0.144 0.279 (2 3 - - - -)
3 0.231 - - 0.365 0.231 0.172 0.671 (2 3 5 - - -)
5 0.227 - - 0.453 - 0.320 0.931 (2 3 5 6 - -)
6 0.612 - - 0.388 - - 0.873 (2 3 5 6 4 -)
4 1.000 - - - - - - (2 3 5 6 4 1)
Probabilidades de transición
1 2 3 4 5 6 Uniforme Solución
3 0.169 0.267 - 0.267 0.169 0.126 0.372 (3 2 - - - -)
2 0.417 - - 0.208 0.186 0.186 0.415 (3 2 1 - - -)
1 - - - 0.267 0.309 0.434 0.321 (3 2 1 5 - -)
5 - - - 0.585 - 0.415 0.474 (3 2 1 5 4 -)
4 - - - - - 1.000 - (3 2 1 5 4 6)
Dpto. Ciencias de la Computación e Inteligencia Artificial 51

Aplicación de la OCH al TSP (8)


Una vez construidas las 6 soluciones, cada hormiga “vuelve atrás”
en el camino recorrido y deposita una cantidad adicional de
feromona en los arcos visitados :
100
τ rs = τ rs + ∆ τ rsk ∆ τ rsk = f ( C ( S k )) =
C( Sk )

Hormiga C(Sk) f(C(S k)) Solución Arcos afectados


1 10.53 9.49 (1 2 3 5 6 4) {a12 , a23, a35 , a56, a64 , a41}
2 10.53 9.49 (2 3 5 6 4 1) {a23 , a35, a56 , a64, a41 , a12}
3 9.05 11.04 (3 2 1 5 4 6) {a32 , a21, a15 , a54, a46 , a63}
4 11.12 8.99 (4 2 6 1 3 5) {a42 , a26, a61 , a13, a35 , a54}
5 10.88 9.19 (5 1 6 2 4 3) {a51 , a16, a62 , a24, a43 , a35}
6 9.47 10.55 (6 5 3 4 2 1) {a65 , a53, a34 , a42, a21 , a16}

Dpto. Ciencias de la Computación e Inteligencia Artificial 52

DPTO. CCIA - UGR 26


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (9)


Por último, una vez aplicado el mecanismo de actualización en línea
a posteriori, se evapora la feromona:

τ rs = ( 1 − ϕ )·τ rs

Considerando ϕ=0.2, la matriz de feromona quedaría:

0.00 45.58 13.99 23.99 25.23 33.73


- 0.00 35.03 33.73 5.00 23.18
- - 0.00 24.74 52.72 16.04
τ= - - - 0.00 35.03 35.03
- - - - 0.00 79.54
- - - - - 0.00

Dpto. Ciencias de la Computación e Inteligencia Artificial 53

Aplicación de la OCH al TSP (10)


n Ejemplo de valores de parámetros para el SCH en el TSP:

– Número de hormigas: m = 10

– Nivel inicial de feromona: τ0 = 1/(n·C(Svoraz))


(Svoraz = solución obtenida por un algoritmo voraz)

– Regla de transición de estados: α = 1, β = 2, q0 = 0.98

– Regla de actualización global de feromona : ρ = 0.1,


f(C(S k)) = 1/C(S k)

– Regla de actualización local: ϕ = 0.1

Dpto. Ciencias de la Computación e Inteligencia Artificial 54

DPTO. CCIA - UGR 27


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (11)


RESULTADOS COMPARATIVOS
Caso SCH SCH SCH ES RE MA
TSP (media) (d.típica) (mejor) (media) (media) (media)
1 5.88 0.05 5.84 5.88 5.98 6.06
2 6.05 0.03 5.99 6.01 6.03 6.25
3 5.58 0.01 5.57 5.65 5.70 5.83
4 5.74 0.03 5.70 5.81 5.86 5.87
5 6.18 0.01 6.17 6.33 6.49 6.70
Fuente: Dorigo, Gambardella, Ant Colony System ...

– Cinco casos de tamaño 50 generados aleatoriamente


– 25 ejecuciones de cada algoritmo
– ES = Enfriamiento Simulado, RE = Red Elástica, MA = Mapa Autoorganizativo

Dpto. Ciencias de la Computación e Inteligencia Artificial 55

Aplicación de la OCH al TSP (12)


Caso TSP SCH AG PE ES Óptimo
Eil50 425 428 426 443 425
1830 25000 100000 68512
Eil75 535 545 542 580 535
3480 80000 325000 173250
KroA100 21282 21761   21282
4820 103000  
Fuente: Dorigo, Gambardella, Ant Colony System ...

– Tres casos clásicos de tamaño 50, 75 y 100. Medias de 15 ejecuciones


– AG = Algoritmo Genético, PE = Programación Evolutiva
– Número de hormigas: m=20. Los datos en azul son el número
de circuitos generados hasta llegar a la solución final
Dpto. Ciencias de la Computación e Inteligencia Artificial 56

DPTO. CCIA - UGR 28


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al TSP (13)


Caso TSP SCH SCH SCH
Óptimo Tiempo (seg.)
(media) (d.típica) (mejor)
d198 16054 71 15888 15780 0.02
pcb442 51690 188 51268 50779 0.05
att532 28523 275 28147 27686 0.07
rat783 9066 28 9015 8806 0.13
[22204-
fl1577 23163 116 22977 0.48
22249]
Fuente: Dorigo, Gambardella, Ant Colony System ...

– Cinco casos clásicos de gran tamaño: 198, 442, 532, 783 y 1577
– Lista de candidatos para reducir el tiempo de ejecución (cl=15)
– 15 ejecuciones del SCH en una SUN Sparc-Server a 50 MHz
Dpto. Ciencias de la Computación e Inteligencia Artificial 57

Aplicación de la OCH al TSP (14)

Caso SCH SCH Otros Otros


TSP (media) (mejor) (media) (mejor)
d198 15781.7 15780 15780 15780
lin318 42029 42029 42029 42029
att532 27718.2 27693 27693.7 27686
rat783 8837.9 8818 8807.3 8806
Fuente: Bonabeau, Dorigo, Theraulaz, Swarm Intelligence, Oxford, 1999

– Nuevos valores de parámetros: q 0 = 0.9 y cl=20


– Algoritmo de búsqueda local: 3-opt (búsqueda local del mejor)
– Otros = mejores resultados obtenidos en el Primer Concurso
Internacional de Optimización Evolutiva (ICEO)
– Resultados medios de 10 ejecuciones

Dpto. Ciencias de la Computación e Inteligencia Artificial 58

DPTO. CCIA - UGR 29


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP


n El Problema de Asignación Cuadrática (QAP) está
considerado como uno de los problemas de optimización
combinatoria más complejos

n Consiste en encontrar la asignación óptima de n unidades a


n localizaciones, conociendo el flujo que circula entre las
primeras y la distancia existente entre las segundas

n Sean D=[drs] y F=[fij] dos matrices de dimensión n×n que


almacenan la distancia existente entre las localizaciones y
el flujo que circula entre las unidades, respectivamente
Dpto. Ciencias de la Computación e Inteligencia Artificial 59

Aplicación de la OCH al QAP (2)


n El problema consiste en minimizar la siguiente función:
n n
min
S∈Π ( n)
∑∑ d rs · f S (r ) S ( s)
r =1 s =1
donde:
– S es una permutación del conjunto {1, ..., n} que representa una
asignación (solución) factible
– S(r) es la unidad asignada a la localización r en la solución actual
– Π(n) es el conjunto de todas las permutaciones

n El costo de asignar simultáneamente la unidad S(r) a la


localización r y la S(s) a la s es drs·fS(r)S(s)
Dpto. Ciencias de la Computación e Inteligencia Artificial 60

DPTO. CCIA - UGR 30


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP (3)


n La adaptación del problema para su resolución en OCH no es
tan sencilla como en el TSP

n El problema se representa como un grafo de 2·n nodos (n


localizaciones y n unidades), en el que cada nodo localización
está totalmente conectado a los n nodos unidad

n Las hormigas recorren este grafo asociando una localización


distinta a cada unidad para construir una solución. Como
veremos, este recorrido no es tan directo como en el TSP

n De nuevo, los niveles de feromona se almacenan en una matriz


cuadrada de dimensión n×n
Dpto. Ciencias de la Computación e Inteligencia Artificial 61

Aplicación de la OCH al QAP (4)


n En cambio, ahora tenemos dos valores heurísticos : distancia
entre localizaciones y flujo circulante entre unidades

n La información heurística asociada a cada arco ari ha de ser


función de ambos valores, para lo cual se construyen los
vectores d y f (potenciales de distancia y flujo):
n n
d r = ∑ drs {r = 1, ..., n} ; f i = ∑ fij {i = 1, ..., n}
s =1 j =1

n Estos valores representan, respectivamente, la suma de las


distancias entre una localización concreta y las restantes; y el
flujo total que circula a través de una unidad
Dpto. Ciencias de la Computación e Inteligencia Artificial 62

DPTO. CCIA - UGR 31


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP (5)

n Cuanto menor sea dr, más céntrica es la localización en la


red. Cuanto mayor sea fi, más importante es la actividad en
el intercambio de flujos

n La preferencia heurística asociada a cada arco ari, que


representa la asignación de la unidad i a la localización r,
se define como ? = (? ri ) = d ⋅ f T :

? ri = d r ⋅ f i ; r = 1, ..., n ; i = 1, ..., n

Dpto. Ciencias de la Computación e Inteligencia Artificial 63

Aplicación de la OCH al QAP (6)


n La información memorística asociada a cada arco ari se
almacena de nuevo en una matriz de dimensión n×n

1 2 ... n MATRIZ DE FEROMONA


1
2 τ ri = nivel de feromona del arco ari
τ= ... τ ri
n Inicialmente, τ ri = τ0, ∀ r, i

n Jk (r) es el conjunto de unidades NO asignadas aún en la


solución que la homiga k está construyendo
Dpto. Ciencias de la Computación e Inteligencia Artificial 64

DPTO. CCIA - UGR 32


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP (7)


n El recorrido del grafo no se efectúa como en el TSP, en el
que las hormigas construían circuitos hamiltonianos

n En este caso, el recorrido está restringido para que los


caminos obtenidos representen soluciones factibles

l1 l2 l3 l4 l5

u1 u2 u3 u4 u5

Dpto. Ciencias de la Computación e Inteligencia Artificial 65

Aplicación de la OCH al QAP (8)


n Se ha de escoger un orden de selección de localizaciones para las
hormigas, que repiten dos pasos hasta construir una solución:
1. Escoger una localización que no esté asignada aún
2. Asignarle una unidad libre de acuerdo a la regla de transición

n Para escoger el orden de selección existen dos opciones:


– Escoger aleatoriamente la siguiente localización libre (o
probabilísticamente en función de los valores heurísticos y
memorísticos de cada una de ellas) para cada hormiga
– Escogerlas determinísticamente de menor a mayor distancia
potencial (es decir, asignar primero las más céntricas)
En este caso, todas las hormigas siguen el mismo orden

Dpto. Ciencias de la Computación e Inteligencia Artificial 66

DPTO. CCIA - UGR 33


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP (9)


n Es posible emplear los mismos algoritmos de búsqueda
local, que en el TSP: 2-opt, 3-opt, ES, BT, EE, ...

n Para acelerar la ejecución, se puede calcular la diferencia


de costos δ entre la solución actual S y un vecino S’ a
partir del costo de la primera y del cambio efectuado

n Sean r y s las localizaciones intercambiadas, los sumandos


que las afectan en el cálculo del costo de S son

∑ (d rk · fS (r )S (k ) + d sk · fS ( s) S (k ) + d kr · f S ( k )S (r ) + d ks · f S (k )S ( s) )
k ≠r , s

Dpto. Ciencias de la Computación e Inteligencia Artificial 67

Aplicación de la OCH al QAP (10)


n Los nuevos sumandos en S’ son

∑ (d rk · fS ( s) S (k ) + d sk · fS (r ) S (k ) + d kr · f S ( k )S (s ) + d ks · f S ( k )S (r ) )
k ≠r , s

n Luego la diferencia de costos δ = |costo(S)-costo (S’)| sería

 d rk ·( f S (s ) S (k ) − f S (r ) S ( k ) ) + d sk ·( f S ( r )S (k ) − f S ( s )S (k ) ) + 
∑  
 d kr ·( f S (k )S ( s ) − f S ( k )S (r ) ) + d ks ·( f S (k ) S (r ) − f S (k ) S (s ) ) 
k ≠r , s 

Dpto. Ciencias de la Computación e Inteligencia Artificial 68

DPTO. CCIA - UGR 34


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al QAP (11)

n Ejemplo de valores de parámetros para el SH en el QAP :

– Número de hormigas: m = n

– Nivel inicial de feromona: τ0 = 10-6

– Regla de transición de estados: α = 1, β = 1

– Regla de actualización global de feromona : ρ = 0.9,


f(C(S k)) = 10/C(S k)

Dpto. Ciencias de la Computación e Inteligencia Artificial 69

Aplicación de la OCH al QAP (12)


Nug12 Nug15 Nug20 Nug30 Els19 Kra30
ES 578 1150 2570 6128 17937024 89800
BT 578 1150 2570 6124 17212548 90090
AG 588 1160 2688 6784 17640584 108830
EE 598 1168 2654 6308 19600212 97880
MC 578 1150 2570 6154 17212548 88900
SH 578 1150 2598 6232 18122850 92490
SH-BL 578 1150 2570 6146 17212548 89300
SH-ES 578 1150 2570 6128 17212548 88900
Fuente: Bonabeau, Dorigo, Theraulaz, Swarm Intelligence, Oxford, 1999

– Cada algoritmo se ejecuta una vez durante una hora en un 386 a 16 MHz
– EE = Estrategia de Evolución, MC = Muestreo y Agrupamiento, SH-BL =
SH con búsqueda local
Dpto. Ciencias de la Computación e Inteligencia Artificial 70

DPTO. CCIA - UGR 35


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al Enrutamiento de Paquetes


en Redes de Telecomunicaciones: AntNet

G. Di Caro, M. Dorigo, AntNet: Distributed Stimergic Control for Communication


Networks. Journal of Artificial Intelligence Research, Vol. 9, 1998, 317-365

n El enrutamiento es la tarea consistente en determinar el


camino que seguirán los paquetes en una red de
telecomunicaciones cuando llegan a un nodo para alcanzar
su nodo destino de la forma más rápida posible

n AntNet es un algoritmo de hormigas adaptativo y


distribuido para enrutamiento de paquetes en redes

Dpto. Ciencias de la Computación e Inteligencia Artificial 71

Aplicación de la OCH al Enrutamiento de Paquetes


en Redes de Telecomunicaciones: AntNet (2)

n Las redes se modelan mediante un grafo dirigido con N


nodos de procesamiento/destino

n Los arcos del grafo están caracterizados por el ancho de


banda (bits/segundo) y el retardo de transmisión
(segundos) del enlace físico

n Se consideran dos tipos de paquetes: enrutamiento y datos.


Los de enrutamiento tienen una mayor prioridad

Dpto. Ciencias de la Computación e Inteligencia Artificial 72

DPTO. CCIA - UGR 36


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al Enrutamiento de Paquetes


en Redes de Telecomunicaciones: AntNet (3)

n Una de las redes consideradas, la NNTnet de Japón:

Dpto. Ciencias de la Computación e Inteligencia Artificial 73

Aplicación de la OCH al Enrutamiento de Paquetes


en Redes de Telecomunicaciones: AntNet (4)

n Las hormigas (paquetes de enrutamiento) se lanzan asíncronamente a


la red hacia nodos destino aleatorios

n Cada hormiga busca un camino de coste mínimo entre su nodo de


partida y su nodo destino

n Se mueve paso a paso por la red (grafo). En cada nodo intermedio,


lanza la regla de transición para decidir a qué nodo se dirige

n Para ello, considera la feromona (almacenado en los nodos y función


del tiempo consumido en el envío de los paquetes) y la preferencia
heurística (dependiente del estado actual) de los enlaces de la red

Dpto. Ciencias de la Computación e Inteligencia Artificial 74

DPTO. CCIA - UGR 37


BIOINFORMÁTICA - TEMA 2

Aplicación de la OCH al Enrutamiento de Paquetes


en Redes de Telecomunicaciones: AntNet (5)

n El estado de la red varía con el tiempo (caída de enlaces, congestión,


...). El algoritmo manejado adecuadamente este hecho gracias a su
naturaleza distribuida y su capacidad de adaptación

n Cuando la hormiga llega al nodo destino, vuelve sobre sus pasos y


actualiza las tablas de enrutamiento de los nodos de acuerdo al tiempo
que tardó en hacer el camino (refuerzo positivo o negativo)

n En un estudio experimental en el que se comparó su funcionamiento


contra el de seis algoritmos de enrutamiento diferentes, AntNet
proporcionó el mejor comportamiento

Dpto. Ciencias de la Computación e Inteligencia Artificial 75

Otras aplicaciones
n Los algoritmos de OCH se han aplicado a otros muchos
problemas:
– Secuenciación de Tareas
– Coloreo de Grafos
– Encaminamiento de Vehículos
– Ordenación Secuencial
– “Pooling” de vehículos
– Líneas de producción de coches
– Problemas de Agrupamiento (Clustering)
– Aprendizaje de Reglas Clásicas y Difusas
– etc.

Dpto. Ciencias de la Computación e Inteligencia Artificial 76

DPTO. CCIA - UGR 38


BIOINFORMÁTICA - TEMA 2

IV. COMENTARIOS FINALES


n La OCH es una metaheurística bioins-
pirada que permite diseñar algoritmos:

– Sencillos de entender
– Rápidos
– Con buen rendimiento

para problemas de optimización que se


puedan representar en forma de grafo
con pesos.

Dpto. Ciencias de la Computación e Inteligencia Artificial 77

V. Bibliografía

BIBLIOGRAFÍA BÁSICA

n E. BONABEAU, M. DORIGO, G. THERAULAZ, Swarm


Intelligence. From Natural to Artificial Systems , Oxford University
Press, 1999.

n M. DORIGO, T. STÜTZLE, Ant Colony Optimization, The MIT Press,


en prensa.

n M. DORIGO, G. DI CARO, Ant Algorithms for Discrete Optimization,


Artificial Life 5:2, 1999, pp. 137-172.

Dpto. Ciencias de la Computación e Inteligencia Artificial 78

DPTO. CCIA - UGR 39


BIOINFORMÁTICA - TEMA 2

V. Bibliografía (2)

BIBLIOGRAFÍA BÁSICA

n M. DORIGO, T. STÜTZLE, The Ant Colony Optimization Metaheuristic:


Algorithms, Applications and Advances, En: F. Glover, T. Kochenberger
(Eds.), Handbook of Metaheuristics , pp. 251-285, 2003, Kluwer.

n O. CORDÓN, F. HERRERA, T. STÜTZLE, A Review on the Ant


Colony Optimization Metaheuristic: Basis, Models and New Trends,
Mathware & Soft Computing 9:2-3, 2002, pp. 141-175.

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

Dpto. Ciencias de la Computación e Inteligencia Artificial 79

V. Bibliografía (3)

BIBLIOGRAFÍA DE APOYO

n M. DORIGO, V. MANIEZZO, A. COLORNI, The Ant System:


Optimization by a Colony of Cooperating Agents, IEEE Transactions
on Systems , Man, and Cybernetics 26:1, 1996, pp. 29-41.

n M. DORIGO, L.M. GAMBARDELLA, Ant Colony System: A Coope-


rative Learning Approach to the Traveling Salesman Problem, IEEE
Transactions on Evolutionary Computation 1:1, 1997, pp. 53-66.

n F. GLOVER, G. KOCHENBERGER (Eds.), Handbook of


Metaheuristics, Kluwer, 2003.

Dpto. Ciencias de la Computación e Inteligencia Artificial 80

DPTO. CCIA - UGR 40


BIOINFORMÁTICA - TEMA 2

BIOINFORMÁTICA
2003 - 2004

– Tema 1. Computación Basada en Modelos Naturales


– Tema 2. Algoritmos Basados en Colonias de Hormigas
– Tema 3. Algoritmos Genéticos I. Conceptos Básicos
– Tema 4. Algoritmos Genéticos II. Diversidad y Convergencia
– Tema 5. Algoritmos Genéticos III. Problemas Multimodales
– Tema 6. Estrategias de Evolución y Programación Evolutiva
– Tema 7. Modelos Evolutivos de Aprendizaje
– Tema 8. Programación Genética
– Tema 9. Algoritmos Genéticos IV. Problemas Multiobjetivo
– Tema 10. Algoritmos Genéticos V. Otros Modelos
– Tema 11. Nuevos Modelos de Evolución de Poblaciones
– Tema 12. Otros Modelos de Computación Bioinspirados

Dpto. Ciencias de la Computación e Inteligencia Artificial 81

DPTO. CCIA - UGR 41

Potrebbero piacerti anche