• No se han encontrado resultados

Algoritmos basados en hormigas

N/A
N/A
Protected

Academic year: 2022

Share "Algoritmos basados en hormigas"

Copied!
7
0
0

Texto completo

(1)

Algoritmos basados en hormigas

Inteligencia Artificial Avanzada 1er. Semestre 2008

1 Aspectos Generales

La met´afora de los insectos sociales para “resolver problemas” ha sido un tema importante a partir de 1996. Estos m´etodos hacen ´enfasis en distribuci´on, inter- acciones directas o indirectas entre agentes relativamente simples, flexibilidad y robustez. La cantidad de aplicaciones con ´exito ha crecido exponencialmente en optimizaci´on combinatoria, redes de comunicaciones y rob´otica.

2 Ant Colony Optimization: Problema del Vende- dor Viajero

Supuesto (Deneubourg): Las hormigas Linepithema humile usan la auto-organizaci´on para ubicar la comida.

2.1 Problema del Vendedor Viajero:

• Es f´acil de adaptar la noci´on del camino m´as corto a hormigas

• Es un problema NP-duro

• Ha sido ampliamente estudiado y es considerado un problema “bench- mark” cl´asico.

• Es did´actico

Autores: Dorigo, Colorni, Maniezzo, 1992.

2.2 Ideas B´ asicas en los algoritmos basados en hormigas:

• Uso de un mecanismo de feedback positivo: reforzamiento de buenos caminos o soluciones

• Una feromona virtual que permite mantener en memoria las mejores op- ciones

(2)

• El riesgo de ´optimo local o stagnation se controla por un mecanismo de feedback negativo denominado evaporaci´on de la feromona que se maneja en unidades de tiempo. Este tiempo no debe ser muy grande porque producir´ıa la ca´ıda en un ´optimo local, ni tan reducida que anule el com- portamiento cooperativo del algoritmo.

• Comportamiento cooperativo: las hormigas realizan exploraci´on simult´anea de soluciones diferentes realizado por un conjunto de hormigas iguales. Las hormigas que realizan bien su trabajo influyen el comportamiento de fu- turas hormigas. Ya que las hormigas exploran varias quasi-soluciones, la feromona resultante es la consecuencia de diferentes perspectivas del es- pacio de soluciones o de b´usqueda. A´un cuando s´olo se permite a la mejor hormiga reforzar la soluci´on, existe un efecto cooperativo en el tiempo, porque las hormigas de la siguiente iteraci´on usan la feromona para guiar su exploraci´on.

2.3 Ant System (AS)

En el vendedor viajero el objetivo es encontrar el tour m´as corto para cubrir n ciudades. Cada ciudad debe ser visitada una sola vez. En el espacio euclideano la distancia dij entre la ciudad i y la ciudad j se expresa como:

dij = [(xi−xj)2+ (yi−yj)2]

1

2 (1)

El grafo G = (N, E) no requiere estar completamente conectado, ni tampoco ser sim´etrico.

Sea bi(t), (i = 1, .., n) el n´umero de hormigas en la ciudad i en el instante t.

Sea m =Pn

i=1 el n´umero total de hormigas. Sea τij(t + z) la intensidad de la feromona de la conecci´on (ij) en el instante t + z con:

τij(t + z) = (1 − ρ)τij(t) + ∆τij(t + z) (2) donde 0 < ρ ≤ 1 es un coeficiente que representa la evaporaci´on. La cantidad de feromona dejada en el arco (ij) por la k-´esima hormiga en el instante t + z est´a dada por:

∆τijk(t + z) =

 Q

Lk si la k-´esima hormiga usa el arco (ij)

0 e.o.c (3)

donde Q es una constante y Lkes el largo del tour encontrado por la k-´esima hormiga. La intensidad inicial de cada arco τij(0) es casi cero.

La regla de transici´on, o la probabilidad que la hormiga k en la ciudad i vaya a la ciudad j es:

Pijk(t) =

ij(t)]αij]β

P

h∈permitidok (t)ih(t)]αih]β si j ∈ permitidok(t)

0 e.o.c.

(4)

(3)

donde permitidok(t) es el conjunto de ciudades no visitadas por la hormiga k hasta el instante t y ηij representa una heuristica local. Para el vendedor viajero, la heuristica m´as com´unmente utilizada es ηij = d1ij, denominada la visibilidad. Los par´ametros α y β entregan la importancia relativa entre la fer- omona y la visibilidad. Adem´as, cada hormiga tiene asociada una lista tab´u, la cual incluye todas las ciudades ya visitadas por la hormiga. El algoritmo AS se muestra en la figura 1.

Procedure Ant System Inicializar

Parat=1 hasta el n´umero de ciclos haga Inicio

Parak = 1 hasta m haga Inicio

repetir

seleccionar la siguiente ciudad a visitar con probabilidad Pijk hastahormiga k complete su tour

calcular largo Lk del tour d la hormiga k fin para

Salvar la mejor soluci´on encontrada hasta el momento Modifique los niveles τij de feromona

Fin

Figure 1: Algoritmo AS

2.4 Mejoras para Ant System (AS) aplicado a TSP

Marco Dorigo en un esfuerzo por mejorar la performance de AS aplicado a TSP incorpor´o el concepto de “hormiga elitista”. El t´ermino elitista fue elegido por su similitud con el concepto de elitismo manejado en algoritmos gen´eticos. Una hormiga elitistaes aquella que refuerza los arcos que pertenecen al mejor tour T+encontrado en la iteraci´on. El refuerzo corresponde a una cantidad LQ+, con L+ igual al largo del tour T+. La idea es producir un incremento del refuerzo ya realizado por las hormigas normales, incluyendo un conjunto de hormigas e, que incrementar´an a´un m´as la cantidad de feromona en los arcos pertenecientes al mejor tour. El algoritmo se muestra en la figura 2.

Observaci´on 2.1

∆τij(t) =

m

X

k=1

∆τijk(t) (5)

∆τijk(t) =

 Q

Lk si(i, j) ∈ Tk(t)

0 e.o.c. (6)

(4)

∆τije(t) =

 Q

L+ si(i, j) ∈ T+

0 e.o.c. (7)

donde Q es una constante y Lkes el largo del tour encontrado por la k-´esima hormiga. La intensidad inicial de cada arco τ0 es casi cero.

La regla de transici´on, o la probabilidad que la hormiga k en la ciudad i vaya a la ciudad j es:

Pijk(t) = [τij(t)]αij]β P

h∈Jikih(t)]αih]β (8) donde Jik es el conjunto de ciudades permitidas, es decir, no visitadas por la hormiga k hasta el instante t y ηij representa una heur´ıstica local.

2.4.1 Valores de los par´ametros usados en experimentos α= 1, β = 5, ρ = 0.5, m = n, Q = 100, τ0= 10−6, e= 5

Procedure AS-TSP Inicializar

Paracada arco (i, j) haga τij(0) = τ0

fin para

Parak=1 hasta m haga

Ubique la hormiga k en una ciudad elegida aleatoriamente fin para

Sea T+ et tour m´as corto encontrado desde el inicio, y L+ su largo Parat=1 hasta el n´umero de ciclos haga

Inicio

Parak = 1 hasta m haga Inicio

repetir

seleccionar la siguiente ciudad a visitar con probabilidad Pijk hastahormiga k complete su tour

calcular largo Lk del tour de la hormiga k fin para

Salvar la mejor soluci´on T+, L+, encontrada hasta el momento Paracada arco (i, j) haga

Modifique los niveles τij de feromona aplicando la siguiente regla:

τij(t) = (1 − ρ)τij(t) + ∆τij(t) + e ∗ ∆τije(t) (9) fin para

Fin

Figure 2: Algoritmo AS-TSP

(5)

2.5 ACS : Ant Colony System

2.5.1 Explicaci´on ACS

El algoritmo se muestra en la figura 3. ACS tiene 4 modificaciones con respecto a AS:

• Nueva regla de transici´on,

• Nueva regla de modificaci´on de los trazados de feromona

• Uso de cambios locales de trazados de feromona para favorecer la explo- raci´on

• Uso de una lista candidata para restringir la elecci´on de la pr´oxima ciudad a visitar.

Regla de Transici´on: Se modifica para permitir expl´ıcitamente la exploraci´on.

Cuando q > q0la regla de transici´on es la misma que en AS. Sin embargo, cuando q ≤ q0corresponde a la explotaci´on del conocimiento disponible del problema, es decir, la distancia entre las ciudades y la memoria guardada en los trazos de feromona. Con q > q0 se favorece m´as la exploraci´on.

Cuando q0 se aproxima al valor 1 se seleccionan s´olo soluciones ´optimas locales, sin embargo el ´optimo local puede no corresponder al ´optimo global. Cuando q0 est´a cercano a 0 se examinan todas las soluciones locales, aunque tengan mayor peso aquellas ´optimas locales (esto difiere de simulated annealing donde todos los estados tienen el mismo peso para ser elegidos a una alta temperatura).

Regla de modificaci´on de los trazados de feromona: En AS todas las hormi- gas pueden depositar feromona al completar sus tours. En ACS s´olo la hormiga que encontr´o el mejor tour en la iteraci´on puede modificar glob- almente las concentraciones de feromona en los arcos. As´ı en la pr´oxima iteraci´on, las hormigas son motivadas a buscar trayectorias en la vecindad del mejor tour encontrado antes. Otra diferencia es que en AS la modifi- caci´on del trazado de feromona es sobre todos los arcos, en ACS es s´olo sobre aquellos que pertenecen al mejor tour encontrado en la iteraci´on.

Modificaci´on local del trazado de feromona: Cuando la hormiga k est´a con- struyendo su tour, se encuentra en la ciudad i y selecciona la ciudad j para continuar, la concentraci´on de feromona del arco (i, j) cambia. Cuando una hormiga visita un arco, la aplicaci´on de la modificaci´on local hace que el nivel de feromona en el arco disminuya. El objetivo es hacer cada vez menos atractivos los arcos visitados por m´as hormigas, con lo cual se est´a favoreciendo indirectamente la exploraci´on de los arcos a´un no visi- tados. Una consecuencia de esta estrategia es que las hormigas tienden a no converger a una misma trayectoria o tour.

(6)

Uso de la lista candidata: ACS explota una lista de candidatas. Una lista de candidatas es una lista de ciudades preferidas a ser visitadas a partir desde una ciudad dada. En lugar de examinar todas las posibilidades desde la ciudad i, se examinan primero aquellas no visitadas que est´an en la lista de candidatas y luego las restantes, siempre que no existan ciudades candidatas. La lista de candidatas de una ciudad contiene las cl ciudades m´as cercanas. Las ciudades est´an ordenadas de menor a mayor distancia y la b´usqueda en la lista es secuencial.

3 Propiedades importantes a explorar

• No-convergencia

• Control de Par´ametros

• Optimizaci´on de Problemas Din´amicos : Routing networks..

• Algoritmos h´ıbridos

(7)

Procedure ACS-TSP inicializar

Paracada arco (i, j) haga τij(0) = τ0

fin para

Parak=1 hasta m haga

Ubique la hormiga k en una ciudad elegida aleatoriamente fin para

Sea T+ et tour m´as corto encontrado desde el inicio, y L+ su largo Parat=1 hasta el n´umero de ciclos haga

Inicio

Parak = 1 hasta m haga Inicio

repetir

Siexiste al menos una ciudad j ∈ lista de candidatas entonces Elegir la siguiente ciudad j, j ∈ Jik, entre las cl ciudades en la lista de candidatas con:

j= (

argmaxu∈Jk

iiu(t)]αiu]β si q ≤ q0

J si q > q0

(10)

donde J ∈ Jik se elige seg´un la probabilidad:

Pijk(t) = [τij(t)]αij]β P

h∈Jikih(t)]αih]β (11) y donde i es la ciudad actual

Sinoelegir la ciudad j ∈ Jik m´as cercana fin si

Luego de cada transici´on la hormiga k modifica localmente:

τij(t) = (1 − ρ)τij(t) + ρτ0 (12) hastahormiga k complete su tour

calcular largo Lk del tour de la hormiga k fin para

Salvar la mejor soluci´on T+, L+, encontrada hasta el momento Paracada arco (i, j) ∈ T+ haga

Modifique los niveles τij de feromona aplicando la siguiente regla:

τij(t) = (1 − ρ)τij(t) + ρ∆τij(t) (13) donde ∆τij(t) = L1+

fin para

Fin 7

Referencias

Documento similar

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

grupos de interés ... La información sobre las actuaciones administrativas automatizadas y los algoritmos utilizados por las Ad- ministraciones públicas ... Fortalecer la calidad

Consecuentemente, en el siglo xviii hay un cambio en la cosmovi- sión, con un alcance o efecto reducido en los pueblos (periferia), concretados en vecinos de determinados pueblos

La recuperación histórica de la terciaria dominica sor María de Santo Domingo en los últimos años viene dada, principalmente, por causa de su posible influjo sobre personajes

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

quiero también a Liseo porque en mi alma hay lugar para amar a cuantos veo... tiene mi gusto sujeto, 320 sin que pueda la razón,.. ni mande

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Pero la realidad se impone por encima de todo; la misma Isidora es consciente del cambio: «Yo misma conozco que soy otra, porque cuando perdí la idea que me hacía ser señora, me