Sunteți pe pagina 1din 8

Algoritmul ANTS de Optimizare Discreta

Literatura de specialitate menioneaz numeroase i variate definiii ale noiunii de


agent inteligent. De exemplu, unii autori consider c sistemele de filtrare a potei electronice
sunt ageni inteligeni. Cu toate acestea, majoritatea cercettorilor sunt de acord c elementul
central al unui agent inteligent este adaptabilitatea sau capacitatea de a nva. Ca urmare, o
definiie concis ar putea fi urmtoarea: un agent inteligent este o entitate care percepe, nva
i acioneaz ntr-un anumit mediu.
Cteva dintre proprietile remarcabile ale agenilor inteligeni sunt urmtoarele:
- autonomia descrie capacitatea agenilor de a lua decizii sau de a face alegeri pe baza
propriei experiene, folosind i informaii i cunotine din i despre mediul n care
acioneaz:
- adaptabilitatea descrie capacitatea agenilor ca pe msur ce reacioneaz la stimuli
sau interacioneaz cu mediul exterior, s nvee, mbuntindu-i performanele n timp;
- capacitatea de colaborare asigur partajarea cunotinelor i experienelor
consumate cu ali ageni;
- mobilitatea descrie capacitatea agenilor de a se deplasa n mediul exterior pe baza
deciziei proprii.
Se poate spune c un agent care rspunde cu succes tuturor acestor cerine este un
agent inteligent dac realizeaz ntotdeauna acea aciune care maximizeaz indicatorul su de
performan, n contextul unei secvene de cunotine avut la dispoziie pn n acel moment.
Una din direciile de dezvoltare ale agenilor inteligeni, care a fost iniiat la nceputul
anilor 1990, este cea cunoscut sub numele de modelul de optimizare dup muuroiul de
furnici sau, pe scurt, algoritmul furnicii (AF). Cercettorii din domeniul etiologiei i tiinelor
comportamentale la animale au elaborat o serie de modele care s explice unele aspecte
particulare ale comportrii sociale a insectelor, cum ar fi de exemplu procesul de autoorganizare. Ulterior, inspirndu-se din aceste modele, ali cercettori au elaborat o serie de
algoritme specializate pentru rezolvarea unor probleme dificile din punctul de vedere al
efortului de calcul.
Prima form a AF a fost propus de Marco Dorigo n 1992, autorul considernd c
acest algoritm face parte dintr-un concept mai larg, cel al inteligenei mulimilor. (n englez,
swarm intelligence).
Principiul de funcionare al algoritmului furnicii
Dac se urmrete comportarea furnicilor n natur, se constat c acestea pot gsi
drumul cel mai scurt de la adpost la sursa de hran n absena oricror informaii vizuale i
fr o comunicare direct ntre ele. De asemenea, aceleai furnici sunt apte s se adapteze la
schimbrile mediului nconjurtor. AF ncearc s foloseasc aceste abiliti ale furnicilor
reale n scopul rezolvrii anumitor tipuri de probleme de optimizare.
Urmrind o colonie de furnici, se constat c fiecare din ele pare s se mite la
ntmplare, fr un scop precis. Totui, deodat, grupuri din ce n ce mai mari de furnici se
concentreaz pe direcii comune. Aceast comportare pare s indice formarea unei inteligene
colective, ce are la baz comportarea fiecrui individ.
n natur, exist o multitudine de ci pe care furnicile ajung s formeze o inteligen
colectiv. Dintre acestea, AF folosete capacitatea furnicilor de a elibera feromoni, lsnd o
urm invizibil a traseului lor. Feromonii sunt substane chimice produse de un animal i

servesc, n principal, ca stimuli pentru ali indivizi din aceeai specie, pentru anumite
rspunsuri comportamentale.
Pentru a nelege cum folosesc furnicile feromonii pentru cutarea drumului de
lungime minim ntre dou puncte oarecare, n prezena obstacolelor, se consider cazul a
dou grupuri de furnici, avnd acelai numr de membri (de exemplu, cte 3 furnici de fiecare
grup). Cele dou grupuri trebuie s se deplaseze ntre punctele A i B, unde A reprezint
adpostul sau locul de depozitare a hranei, iar B sursa de hran (Fig. 1.a). Trebuie spus de la
bun nceput c, plecnd din A, furnicile nu-i cunosc destinaia, deplasarea lor avnd loc, fr
o int prealabil, n cutarea hranei. Admitem ns c singurul loc din vecintatea adpostului
A n care se gsete hran este punctul B.
n mod natural, furnicile vor cuta traseul pentru care deplasarea de la A la B i napoi
la A s se fac n timpul cel mai scurt. Desigur, acest timp va corespunde distanei minime
dintre punctele A i B. Furnicile nu cunosc lungimile celor dou ci ntre punctele A i B, ns
cele dou grupuri de furnici pornesc simultan din A, pe Calea 1 i Calea 2, ctre B. Deoarece
Calea 1 este mai scurt, primul grup va ajunge n B naintea celui de-al doilea (Fig. 1.b). Pe
acest drum cele trei furnici las o urm de feromoni ntr-o concentraie proporional cu
numrul lor, la fel cum se ntmpl i cu furnicile din cel de-al doilea grup.

Fig. 1 Cum folosesc furnicile feromonii pentru stabilirea traseului de lungime minim.

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.
Implementarea algoritmului furnicii pentru problema comisului voiajor
Problema comisului voiajor este una dintre cele mai cunoscute probleme de optimizare
i se enun astfel: un comis voiajor trebuie s viziteze o serie de clieni ce locuiesc ntr-un
anumit numr de orae. Se dorete s se stabileasc ordinea n care trebuie vizitate oraele
astfel nct lungimea total a itinerarului parcurs de comis voiajor s fie minim.
Se consider un graf complet ce conine N noduri (oraele vizitate de comisul voiajor)
i toate laturile ce pot fi definite ntre aceste noduri (Fig. 2). Implementarea AF pentru
problema considerat este prezentat n Caseta 1.
,
Fiecrei laturi (i,j) din graful complet i se asociaz o concentraie de feromoni ij
care va fi folosit pentru selectarea traseului urmat de colonia de furnici, care n continuare
ij
vor fi denumite ageni. Iniial, concentraiile
se stabilesc la valori pozitive mici (de
exemplu,
c = 0.01).

Fig. 2 Graful complet pentru problema comisului voiajor.

Caseta 1 Algoritmul furnicii pentru problema comisului voiajor.

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:

(1)

Dintre toate nodurile j n care se admite deplasarea din nodul i, se alege nodul j*
P
pentru care probabilitatea ij * este maxim. n consecin, agentul k se va deplasa n nodul
j* (

Orask

= j*), iar nodul j* va fi introdus n lista tabu (

Tabu k

(s) = j*). n relaia (1)

i sunt doi parametri care controleaz ponderea cu care intervin concentraia de feromoni (
ij
d ij
) i vizibilitatea (1 /
) 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:

(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:

(3)

unde ij

este cantitatea de feromoni lsat pe latura (i , j) de agentul k:

(4)
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.

Bibliografie
1. N. Labroche, N. Monmarche, and G. Venturini. A new clustering algorithm based
on the chemical recognition system of ants. Harmelen, F. van (Ed.) Proc. of the
15th European Conference on Arti_cial Intelligence, Lyon, France,
2. Marco Dorigo, Thomas Stutzle, "Ant colony optimation", Massachusetts Institute of
Technology, 2004.
3. Marco Dorigo, Mauro Birattari, and Thomas Stutzle,"Ant Colony Optimization
Artificial Ants as a Computational Intelligence Technique", IEEE, 2006.
4. M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Politecnico di
Milano, Italy, 1992.
5. M. Dorigo , G. Di Caro et T. Sttzle, Special issue on "Ant Algorithms", Future
Generation Computer Systems, volume 16, numro 8, 2000
6. https://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms