ant e 11 e optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... ·...
Post on 25-Aug-2020
2 Views
Preview:
TRANSCRIPT
1
1Vittorio Maniezzo – Università di Bologna
AntColonyOptimization
11
ACO: la metafora biologica
A
E
A
E
Obstacle CH
D
B
Obstacle
A
E
B
D
CH
B
D
CH
d=1
d=1
d=0.5
d=0.5
E
A
B
D
CH
15 ants
t=0E
A
15 ants
15 ants15 ants
30 ants
30 ants
B
D
CH
10 ants
t=1E
A
20 ants
20 ants10 ants
30 ants
30 ants
=1 5
=1 5
=3 0
=3 0
Vittorio Maniezzo – Università di Bologna 2
2
Nella realtà
Vittorio Maniezzo - University of Bologna 3
Ant agents
Una formica è un semplice agente computazionale, che iterativamente costruisce una soluzione per il problema da risolvere.
Le soluzioni parziali sono viste come stati; ogni agente si muove da uno stato a un altro , corrispondente a una soluzione parziale più completa.
Ad ogni passo , ogni formica k calcola un insieme di espansioni ammissibili del suo stato corrente, e muove in uno di questi in probabilità.
Vittorio Maniezzo – Università di Bologna 4
3
Ant System
Ant System (AS) è stato il primo algoritmo ACO pubblicato [CDM91].
L'idea era modificare un'euristica costruttiva in modo che fosse possibile ricalcolare ad ogni iterazione l'ordinamento dei componenti, considerando
• l'aspettativa a priori, i, dell'utilità di un particolare componente ci come nei normali approcci costruttivi,
• ma anche una misura a posteriori, i, della bontà di soluzioni costruite usando quel particolare componente.
Vittorio Maniezzo – Università di Bologna 5
Attrattività e traccia
Per la formica k, la probabilità p di muoversi dallo stato allo stato dipende dalla combinazione di due valori:
• l'attrattività della mossa, come calcolata da qualche euristica che indica la desiderabilità a priori di quella mossa;
• il livello di traccia di quella mossa, che indica quanto è stato utile nel passato fare quella specifica mossa, cioè la desiderabilità a posteriori di quella mossa.
Le specifiche formule variano fra le implementazioni. La
prima proposta era: 𝑝𝜄𝜓𝑘 =
𝜏𝜄𝜓𝛼 𝜂𝜄𝜓
𝛽
𝜅 𝜏𝜄𝜅𝛼 𝜂𝜄𝜅
𝛽
Vittorio Maniezzo – Università di Bologna 6
4
Aggiornamento della traccia
Le traccia sono aggiornate ad ogni iterazione, aumentando il livello di quelle che erano parte di buone soluzioni, diminuendo le altre.
Dopo ogni iterazione t, le tracce vengono aggiornate secondo la formula:
dove è un parametro di evaporazione definito dall'utente e rappresenta la somma dei contributi di tutte le formiche che hanno usato la mossa () per costruire la loro soluzione.
)1()( tt
Vittorio Maniezzo – Università di Bologna 7
Ant System
1. Initialize a set A of partial solutions
ai=, i=1, … , m.
2. For i=1 to m
choose a component cj to append to solution aiwith probability given as a function of ai, j(i), j(i).
3. If the solutions in A are not complete, go to step 2.
4. Evaluate z(ai), i=1, … , m and
update j(i), j=1, … , n accordingly.
5. If not (end condition) go to step 1.
Vittorio Maniezzo – Università di Bologna 8
5
AS: parametri
m numero di formiche
Importanza relativa di attrattività risp. traccia
( Importanza relativa di traccia risp. attrattività)
Coefficiente di “evaporazione”
0 traccia iniziale
niter condizione di terminazione (più usata).
Vittorio Maniezzo – Università di Bologna 9
Example: CCA0
Vittorio Maniezzo – Università di Bologna 10
6
Ant System
• euristica generica ispirata dalla natura;
• strategia di ricerca parallela e distribuita;
• combina una euristica costruttiva specifica per il problema (visibilità) con una rappresentazione adattiva generica del problema da risolvere.
Ant System (AS) è una metaeuristica con queste caratteristiche:
Vittorio Maniezzo – Università di Bologna 11
ACO
Ant Colony Optimization è il nome dato da M.Dorigo[D98] alla classe di algoritmi il cui primo membro è stato l'AS.
Elemento caratterizzante è la parallelizzazione della ricerca su più thread computazionali costruttivi, tutti basati su una struttura di memoria dinamica con informazioni relative all'efficacia delle scelte passate e in cui il comportamento di ogni agente è (un po') ispirato da quello delle formiche reali.
Vittorio Maniezzo – Università di Bologna 12
7
ACO pseudo code
Set parameters, init. pheromone trails
SCHEDULE_ACTIVITIES
ConstructAntSolutions
DaemonActions {local search, optional}
UpdatePheromones
END_SCHEDULE_ACTIVITIES
Vittorio Maniezzo – Università di Bologna 13
Max-min ant system
T.Stuetzle e H.Hoos [SH97] hanno introdotto il Max-Min AntSystem (MMAS).
Due parametri aggiuntivi: un massimo e un minimo livello di traccia, che vincolano i valori di traccia possibili all'intervallo [min, max].
Inoltre, MMAS controlla i livelli di traccia (inizializzati al valore massimo max, permettendo solo alla formica migliore si aggiornare la traccia.
Le tracce che ricevono raramente rinforzi perderanno di intensità e saranno selezionate sempre più raramente, finchènon raggiungono il livello min.
Vittorio Maniezzo – Università di Bologna
8
AS-rank
Bullnheimer, Hartl e Strauss [BHS97] hanno proposto un'altra modifica di AS chiamata AS-rank, introducendo una distribuzione di probabilità basata sul rango, limitando così il rischio di tracce troppo enfatizzate.
Ad ogni iterazione le formiche sono ordinate per valori di qualità di soluzione decrescente e il contributo di ogni formica al livello della traccia dipende dal rango della formica, considerando solo le formiche migliori.
Vittorio Maniezzo – Università di Bologna
Ant Colony System
L.Gambardella e M.Dorigo [GD95, 97] hanno proposto ACS, dove le tracce sono aggiornate con valori costanti.
Le tracce sono aggiornate offline solo sugli archi della migliore soluzione trovata. Le formiche però fanno anche aggiornamenti della traccia ad ogni passo per favorire l'emergere di soluzioni diversificate.
Ogni formica utilizza una regola proporzionale pseudo-casualeper scegliere il suo prossimo nodo sulla base di un parametro q0 [0,1] che modula la tendenza all'esplorazione.
ACS utlizza anche una struttura dati associate ai vertici, detta candidate list (v. GRASP).
Vittorio Maniezzo – Università di Bologna
9
ANTS1 (Initialization)
Compute a (linear) lower bound LB to the problem to solve
Initialize , , with the primal variable values
2 (Construction)
For each ant k do
repeat
compute ,, as a lower bound to the cost ofcompleting a solution containing ,
choose in probability the state to move into
until ant k has completed its solution
apply a local optimization procedure
enddo
3. (Trail update)
For each ant move (,) do
compute and update the trail values
4. (Terminating condition)
If not(end_test) go to step 2.
Vittorio Maniezzo – Università di Bologna
Convergenza: best value e feromone
• Convergenza nel valore migliore, iterazione t, soluzione x(t):
p{max i t f(x(i)) = f* } 1 (t ). (1)
"Ci sarà un momento in cui una formica produrrà la soluzione ottima."
• Convergenza in feromone, iterazione t, vettore delle tracce(t):
p{sol. x* is produced | pheromone (t)} 1 (t ). (2)
"Ci sarà un momento in cui tutte le formiche avranno imparato a produrre la soluzone ottima."
• (2) ovviamente è più forte di (1).
• - convergenza in feromone: forma più debole di (2), sostituisce " 1" con " 1 – for t N()".
Vittorio Maniezzo – Università di Bologna
10
ACO: approcci
Vittorio Maniezzo – Università di Bologna 19
ABC Bonabeau et al. [B98], van der Put, Rothkrantz
[vdPR98] network routing
ACS Dorigo, Ganbardella [DG97] TSP, VRP
AntNet Di Caro, Dorigo [DCD97], [DCD98] network routing
ANTS Maniezzo [M98] , Maniezzo, Carbonaro [MC99] QAP, FAP
AS Colorni, Dorigo, Maniezzo [CDM91], [D92],
[CDMT94], [DMC96] TSP, QAP, JSP
ASrank Bullnheimer, Hartl, Strauss [BHS97] TSP, VRP
HAS Gambardella, Taillard, Dorigo [GTD99] QAP, VRP, SOP
MMAS Stuetzle, Hoos [SH98,SD99] TSP, QAP
AS-SCS Michel, Middendorf [MM98] SCS
- Costa, Hertz [CH97] GCP
- Merkle, Middendorf, Schmeck [MM00,MMS00] Scheduling Problems
- Gambardella, Dorigo [GD00] SOP
- Kawamura et al. [KYSO00] TSP
Applicazioni …Elenco per classe di problema e in ordine cronologico (cfr. Dorigo, Gambardella, 2003).
Problem name Authors Algorithm name Year
Traveling salesman Dorigo, Maniezzo, Colorni AS 1991
Gambardella, Dorigo Ant-Q 1995
Dorigo, Gambardella ACS, ACS-3-opt 1996
Stuetzle, Hoos MMAS 1997
Bullnheimer, Hartl, Strauss ASrank 1997
Cordòn, et al. BWAS 2000
Quadratic assignment Maniezzo, Colorni, Dorigo AS-QAP 1994
Gambardella, Taillard, Dorigo HAS-QAP 1997
Stuetzle, Hoos MMAS-QAP 1997
Maniezzo ANTS 1998
Maniezzo, Colorni AS-QAP 1999
Scheduling problems Colorni, Dorigo, Maniezzo AS-JSP 1994
Stuetzle AS-FSP 1997
Bauer et al. ACS-SMTTP 1999
den Besten, Stuetzle, Dorigo ACS-SMTWTP 1999
Merkle, Middendorf, Schmeck ACO-RCPS 2000
Vittorio Maniezzo – Università di Bologna 20
11
Applicazioni (cont.)Problem name Authors Algorithm name Year
Vehicle routing Bullnheimer, Hartl, Strauss AS-VRP 1997
Gambardella, Taillard, Agazzi HAS-VRP 1999
Connection-oriented Schoonderwoerd et al. ABC 1996
network routing White, Pagurek, Oppacher ASGA 1998
Di Caro, Dorigo AntNet-FS 1998
Bonabeau et al. ABC-smart ants 1998
Connection-less Di Caro, Dorigo AntNet, AntNet-FA 1997
network routing Subramanian, Druschel, Chen Regular ants 1997
Heusse et al. CAF 1998
van der Put, Rothkrantz ABC-backward 1998
Sequential ordering Gambardella, Dorigo HAS-SOP 1997
Graph coloring Costa, Hertz ANTCOL 1997
Shortest common supersequence Michel, Middendorf AS-SCS 1998
Frequency assignment Maniezzo, Carbonaro ANTS-FAP 1998
Generalized assignment Ramalhinho Lourenco, Serra MMAS-GAP 1998
Multiple knapsack Leguizamòn, Michalewicz AS-MKP 1999
Optical networks routing Navarro Varela, Sinclair ACO-VWP 1999
Redundancy allocation Liang, Smith ACO-RAP 1999
Constraint satisf. Solnon Ant-P-solver 2000
Vittorio Maniezzo – Università di Bologna 21
Applicazioni(cont.)
Vittorio Maniezzo – Università di Bologna 22
12
Routing in Packet-
Switched Networks
Vittorio Maniezzo – Università di Bologna
AntNetInternet routing : bisogna costruire una routing table in ogni router.
• Tutto (nodi, connessioni, costi) varia continuamente
• Intrinsecamente distribuito, con forti vincoli di real-time
Vittorio Maniezzo – Università di Bologna
13
AntNet Algorithm
• Le formiche sono continuamente lanciate da ogni nodo verso destinazioni casuali
• Ogni formica individua il suo cammino in probabilità, usando feromone e euristiche.
• Ogni formica memorizza i nodi visitati e i costi dell'instradamento
• Arrivata a destinazione, ogni formica ripercorre il suo cammino all'indietro, aggiornando la tracce di feromone in funzione della qualità della soluzione finale individuata.
Vittorio Maniezzo – Università di Bologna
AntNet data structure
Ad ogni nodo:
Routing table
- Probabilità di scegliere ogni vicino, per ogni possibile destinazione finale
Local traffic vector (LTV)
- Statistiche sui tempi di viaggio dal nodo corrente k ad ogni nodo destinazione d (medie e varianze)
Vittorio Maniezzo – Università di Bologna
14
AntNet Routing - Agenti
Due tipi di formiche
• Forward Ants (F-ants)
•Esplorano la rete e collezionano dati
•Giunte a destinazione, diventano backward ants
• Backward Ants (B-ants)
•Ripercorrono il cammino della forward antcorrispondente
•Aggiornano le routing tables di tutti i nodi del cammino
Vittorio Maniezzo – Università di Bologna
AntNet: validazioneTest estensivi.
• American NSF net
• Japanese NTT net
Buoni risultati
• throughput simile a quello di altri algoritmi di routing
• packet delay medio significativamente più basso
Vittorio Maniezzo – Università di Bologna
15
Esempio: NSFnet
Vittorio Maniezzo – Università di Bologna
top related