Documente Academic
Documente Profesional
Documente Cultură
Algoritmul Furnicii
Algoritmul Furnicii
Calea 2
Calea 2
Calea 1
(a)
(b)
Calea 1
(c)
Fig. 1 Cum folosesc furnicile feromonii pentru stabilirea traseului de lungime minim.
de-al doilea grup. Dup ce au luat hrana din punctul B, furnicile primului grup pornesc pe drumul de
ntoarcere spre A, folosind aceeai cale, i ajung n A la un moment n care cel de-al doilea grup de
furnici se afl undeva pe Calea 2, la dus sau la ntors (nu conteaz). Pe drumul de ntoarcere furnicile
din primul grup las o nou urm de feromoni, care se suprapune peste prima, astfel nct
concentraia de feromoni pe Calea 1 se dubleaz (linia groas din Fig. 1.c). n acest moment, din A
pleac alte grupuri de furnici care, dintre cile posibile (n general, pot fi oricte, nu doar dou ca n
exemplul din Fig. 1), vor alege-o pe cea pe care concentraia de feromoni este maxim, adic Calea 1
(altfel spus, calea de lungime minim). Astfel, fr a utiliza inteligen individual, furnicile reuesc s
gseasc calea de lungime minim i s formeze o inteligen colectiv.
Caracterul dus-ntors al drumului urmat de furnici este esenial n formarea acestui
comportament, deoarece n momentul plecrii din adpost furnicile nu cunosc distana pe care o au de
parcurs, iar n momentul n care ajung la sursa de hran nu pot transmite localizarea acesteia
celorlalte furnici. Primele furnici plecate n cutarea hranei joac de fapt rolul unor cercetai. n ipoteza
unui teren virgin, fr urme de feromoni, aceti cercetai i aleg cile la ntmplare. Att timp ct nici
unul din cercetai nu a parcurs drumul complet, napoi la adpost, alte furnici care ar porni pe urmele
cercetailor ar alege la ntmplare una din cile deschise de acetia, n mod echiprobabil, deoarece
concentraia de feromoni este aceeai pe toate aceste ci. Abia n momentul n care unul dintre
cercetai revine la adpost, concentraia de feromoni de pe calea urmat de acesta se dubleaz, iar
dintre furnicile ce pornesc la drum, o proporie mai mare va alege aceast cale, contribuind la
creterea suplimentar a concentraiei de feromoni. n acest fel, treptat, un numr tot mai mare de
furnici vor parcurge drumul dintre adpost i sursa de hran i napoi pe calea de lungime minim
deschis de primul cerceta.
Copierea acestui comportament natural n cadrul unui algoritm artificial se face, de regul, diferit,
n funcie de tipul de problem de optimizare ce se dorete a fi rezolvat. De asemenea,
implementarea AF introduce o serie de modificri n raport cu modelul natural, modificri care au, n
general, un caracter simplificator. De exemplu, deoarece distanele dintre diferite puncte din spaiul
problemei sunt mrimi cunoscute, nu mai este necesar ipoteza drumului dus-ntors, iar echivalentul
concentraiei de feromoni din modelul natural, pentru calea respectiv, se alege invers proporional cu
lungimea acelei ci.
2.
3.
4.
5.
6.
7.
8.
Deoarece problema urmrete determinarea unei valori minime, lungimea traseului minim se
iniializeaz cu o valoare foarte mare, notat simbolic LMin = . n continuare, cei NA ageni se
distribuie uniform (dac este posibil) ntre nodurile din graf. Dac se admite c numrul de noduri i
numrul de ageni se aleg astfel nct NA = m N (unde m este un ntreg oarecare), n fiecare nod se
vor distribui m = NA / N ageni. Nodul n care se afl la un moment dat fiecare agent k este notat
Orask.
Avnd n vedere c problema conine restricia conform creia fiecare agent trebuie s treac
prin fiecare ora fr a forma cicluri (un ora se viziteaz o singur dat, cu excepia primului ora, n
care se nchide turul), memorarea traseului fiecrui agent se face ntr-o list tabu, care va conine N +
1elemente, care descriu succesiunea n care sunt vizitate oraele. De exemplu, dac cele 5 orae din
Fig. 1 sunt vizitate de un agent n ordinea 3, 1, 4, 5 i 2, lista tabu a acestuia va avea forma (3, 1, 4, 5,
2, 3).
Dup distribuirea agenilor n nodurile grafului, lista tabu asociat fiecrui agent este iniializat
n prima poziie cu numrul de ordine al oraului n care a fost distribuit acel agent. n continuare,
urmeaz ca agenii s se deplaseze n diferite noduri ale grafului, pn la completarea tuturor listelor
tabu, moment n care fiecare agent va fi ncheiat un tur complet al grafului. Astfel, pentru fiecare agent
k, se consider oraul de origine i = Orask i se alege oraul destinaie j*, care nu trebuie s figureze
n lista tabu a agentului k, pe baza unor probabiliti calculate n funcie de concentraia de feromoni
de pe laturile (i , j) i vizibilitatea nodurilor j privite din nodul i, apreciat prin inversul distanei dintre
noduri, dij. Aceste probabiliti se calculeaz cu o relaie de forma:
ij 1 / d ij
Pij ip 1 / d ip
pTabuk
j Tabu k
(1)
j Tabu k
Dintre toate nodurile j n care se admite deplasarea din nodul i, se alege nodul j* pentru care
probabilitatea Pij* este maxim. n consecin, agentul k se va deplasa n nodul j* (Orask = j*), iar nodul
j* va fi introdus n lista tabu (Tabuk(s) = j*). n relaia (1) i sunt doi parametri care controleaz
ponderea cu care intervin concentraia de feromoni ( ij) i vizibilitatea (1 / dij) n calculul probabilitii
Pij. De exemplu, pentru = 0, probabilitile Pij se stabilesc numai n funcie de concentraia de
feromoni, iar pentru = 0 numai n funcie de vizibilitatea nodurilor (distanele dintre noduri).
Dup parcurgerea a N pai, cnd toi agenii au trecut prin toate nodurile grafului, traseul fiecrui
agent se nchide prin revenirea n nodul de origine. n continuare, se calculeaz lungimile traseelor
pentru toi agenii i, dintre acestea, se memoreaz lungimea minim. n acest moment se ncheie un
pas / o iteraie a algoritmului.
nainte de trecerea la pasul urmtor, se procedeaz la actualizarea concentraiei de feromoni de
pe fiecare latur a grafului. Aceasta se face o singur dat, la ncheierea fiecrui ciclu / iteraie, atunci
cnd fiecare agent a parcurs un tur complet n graf. n acest caz, cantitatea de feromoni adugat pe
fiecare latur este invers proporional cu lungimea ntregului traseu parcurs de agentul respectiv. Ca
urmare, acesta este modelul de actualizare a concentraiilor de feromoni pe laturile grafului folosit n
algoritmul prezentat n Caseta 1 i folosete o relaie de forma:
ij ij ij
(2)
unde este un coeficient subunitar, astfel nct (1 - ) reprezint rata de evaporare a feromonilor de
pe traseele formate. Coeficientul se alege ntotdeauna subunitar, astfel nct s se evite acumularea
nelimitat de feromoni pe laturile grafului (de exemplu, = 0.1). ij reprezint corecia concentraiei
de feromoni pe latura (i , j), determinat de numrul total de ageni care se deplaseaz din nodul i n
nodul j. Aceste corecii se calculeaz cu relaia:
NA
ij ijk
(3)
k 1
Lk
0
k
ij
(4)
in caz contrar
Criteriul de oprire folosit n cadrul algoritmului este atingerea unui numr maxim de iteraii, Tmax.
Att timp ct t < Tmax, se reiniializeaz listele tabu ale agenilor i se reia procedura prin reiniializarea
primului element din fiecare lista tabu cu numrul de ordine al oraului n care se afl fiecare agent.
APLICAIE
n cadrul lucrrii, cu ajutorul funciei ANTS, se va rula n MATLAB problema comisului voiajor
pentru diverse valori ale parametrilor de intrare ale algoritmului furnicii.
Funcia solicit urmtorii parametri de intrare:
-
Se vor trage concluzii referitor la performanele algoritmului pentru diverse valori ale
parametrilor N, NA, alpha i beta.