ANTS de Optimizare Discreta

  • Upload
    vali

  • View
    244

  • Download
    4

Embed Size (px)

Citation preview

  • 8/16/2019 ANTS de Optimizare Discreta

    1/8

    Algoritmul „ANTS” de Optimizare Discreta

    Literatura de specialitate menţionează numeroase şi variate definiţii ale noţiunii de

    agent inteligent. De exemplu, unii autori consideră că sistemele de filtrare a poştei electronicesunt agenţi inteligenţi. Cu toate acestea, majoritatea cercetătorilor sunt de acord că elementulcentral al unui agent inteligent este adaptabilitatea sau capacitatea de a învăţa. Ca urmare, odefiniţie concisă ar putea fi următoarea un agent inteligent este o entitate care percepe, învaţăşi acţionează într!un anumit mediu.

    C"teva dintre proprietăţile remarcabile ale agenţilor inteligenţi sunt următoarele- autonomia descrie capacitatea agenţilor de a lua decizii sau de a face alegeri pe baza

    propriei experienţe, folosind şi informaţii şi cunoştinţe din şi despre mediul în careacţionează

    - adaptabilitatea descrie capacitatea agenţilor ca pe măsură ce reacţionează la stimulisau interacţionează cu mediul exterior, să înveţe, îmbunătăţindu!şi performanţele în timp#

    ! capacitatea de colaborare asigură partajarea cunoştinţelor şi experienţelor consumate cu alţi agenţi#

    ! mobilitatea descrie capacitatea agenţilor de a se deplasa în mediul exterior pe bazadeciziei proprii.

    $e poate spune că un agent care răspunde cu succes tuturor acestor cerinţe este unagent inteligent dacă realizează întotdeauna acea acţiune care maximizează indicatorul său de performanţă, în contextul unei secvenţe de cunoştinţe avută la dispoziţie p"nă în acel moment.

    %na din direcţiile de dezvoltare ale agenţilor inteligenţi, care a fost iniţiată la începutulanilor &''(, este cea cunoscută sub numele demodelul de optimizare după muşuroiul de

    furnici sau, pe scurt,algoritmul furnicii )*+ . Cercetătorii din domeniul etiologiei şi ştiinţelor comportamentale la animale au elaborat o serie de modele care să explice unele aspecte particulare ale comportării sociale a insectelor, cum ar fi de exemplu procesul de auto!organizare. %lterior, inspir"ndu!se din aceste modele, alţi cercetători au elaborat o serie dealgoritme specializate pentru rezolvarea unor probleme dificile din punctul de vedere alefortului de calcul.

    -rima formă a *+ a fost propusă de arco Dorigo în &''/, autorul consider"nd căacest algoritm face parte dintr!un concept mai larg, cel alinteligenţei mulţimilor . )în engleză,

    swarm intelligence .

    Principiul de funcţionare al algoritmului furnicii

    Dacă se urmăreşte comportarea furnicilor în natură, se constată că acestea pot găsidrumul cel mai scurt de la adăpost la sursa de 0rană în absenţa oricăror informaţii vizuale şifără o comunicare directă între ele. De asemenea, aceleaşi furnici sunt apte să se adapteze lasc0imbările mediului înconjurător. *+ încearcă să folosească aceste abilităţi ale furnicilor reale în scopul rezolvării anumitor tipuri de probleme de optimizare.

    %rmărind o colonie de furnici, se constată că fiecare din ele pare să se mişte laînt"mplare, fără un scop precis. 1otuşi, deodată, grupuri din ce în ce mai mari de furnici seconcentrează pe direcţii comune. *ceastă comportare pare să indice formarea unei inteligenţecolective, ce are la bază comportarea fiecărui individ.

    2n natură, există o multitudine de căi pe care furnicile ajung să formeze o inteligenţăcolectivă. Dintre acestea, *+ foloseşte capacitatea furnicilor de a elibera feromoni , lăs"nd o

    urmăinvizibilă a traseului lor. +eromonii sunt substanţe c0imice produse de un animal şi

  • 8/16/2019 ANTS de Optimizare Discreta

    2/8

    servesc, în principal, ca stimuli pentru alţi indivizi din aceeaşi specie, pentru anumiterăspunsuri comportamentale.

    -entru a înţelege cum folosesc furnicile feromonii pentru căutarea drumului delungime minimă între două puncte oarecare, în prezenţa obstacolelor, se consideră cazul adouă grupuri de furnici, av"nd acelaşi număr de membri )de exemplu, c"te 3 furnici de fiecare

    grup . Cele două grupuri trebuie să se deplaseze între punctele * şi 4, unde * reprezintăadăpostul sau locul de depozitare a 0ranei, iar 4 5 sursa de 0rană )+ig. &.a . 1rebuie spus de la bun început că, plec"nd din *, furnicile nu!şi cunosc destinaţia, deplasarea lor av"nd loc, fărăo ţintă prealabilă, în căutarea 0ranei. *dmitem însă că singurul loc din vecinătatea adăpostului* în care se găseşte 0rană este punctul 4.

    2n mod natural, furnicile vor căuta traseul pentru care deplasarea de la * la 4 şi înapoila * să se facă în timpul cel mai scurt. Desigur, acest timp va corespunde distanţei minimedintre punctele * şi 4. +urnicile nu cunosc lungimile celor două căi între punctele * şi 4, însăcele două grupuri de furnici pornesc simultan din *, peCalea 1 şi Calea 2 , către 4. DeoareceCalea 1 este mai scurtă, primul grup va ajunge în 4 înaintea celui de!al doilea )+ig. &.b . -eacest drum cele trei furnici lasă o urmă de feromoni într!o concentraţie proporţională cunumărul lor, la fel cum se înt"mplă şi cu furnicile din cel de!al doilea grup.

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

    După ce au luat 0rana din punctul 4, furnicile primului grup pornesc pe drumul deîntoarcere spre *, folosind aceeaşi cale, şi ajung în * la un moment în care cel de!al doileagrup de furnici se află undeva peCalea 2 , la dus sau la întors )nu contează . -e drumul deîntoarcere furnicile din primul grup lasă o nouă urmă de feromoni, care se suprapune peste prima, astfel înc"t concentraţia de feromoni peCalea 1 se dublează )linia groasă din +ig. &.c .2n acest moment, din * pleacă alte grupuri de furnici care, dintre căile posibile )în general, potfi oric"te, nu doar două ca în exemplul din +ig. & , vor alege!o pe cea pe care concentraţia deferomoni este maximă, adicăCalea 1 )altfel spus, calea de lungime minimă . *stfel, fără autiliza inteligenţă individuală, furnicile reuşesc să găsească calea de lungime minimă şi săformeze o inteligenţă colectivă.

    Caracterul dus!întors al drumului urmat de furnici este esenţial în formarea acestuicomportament, deoarece în momentul plecării din adăpost furnicile nu cunosc distanţa pe careo au de parcurs, iar în momentul în care ajung la sursa de 0rană nu pot transmite localizareaacesteia celorlalte furnici. -rimele furnici plecate în căutarea 0ranei joacă de fapt rolul unor cercetaşi . 2n ipoteza unui teren 6virgin7, fără urme de feromoni, aceşti cercetaşi îşi aleg căilela înt"mplare. *t"t timp c"t nici unul din cercetaşi nu a parcurs drumul complet, înapoi laadăpost, alte furnici care ar porni pe urmele cercetaşilor ar alege la înt"mplare una din căiledesc0ise de aceştia, în mod ec0iprobabil, deoarece concentraţia de feromoni este aceeaşi pe

  • 8/16/2019 ANTS de Optimizare Discreta

    3/8

    toate aceste căi. *bia în momentul în care unul dintre cercetaşi revine la adăpost, concentraţiade feromoni de pe calea urmată de acesta se dublează, iar dintre furnicile ce pornesc la drum,o proporţie mai mare va alege această cale, contribuind la creşterea suplimentară aconcentraţiei de feromoni. 2n acest fel, treptat, un număr tot mai mare de furnici vor parcurgedrumul dintre adăpost şi sursa de 0rană şi înapoi pe calea de lungime minimă desc0isă de

    primul cercetaş.Copierea acestui comportament natural în cadrul unui algoritm artificial se face, deregulă, diferit, în funcţie de tipul de problemă de optimizare ce se doreşte a fi rezolvată. Deasemenea, implementarea *+ introduce o serie de modificări în raport cu modelul natural,modificări care au, în general, un caracter simplificator. De exemplu, deoarece distanţeledintre diferite puncte din spaţiul problemei sunt mărimi cunoscute, nu mai este necesarăipoteza drumului dus!întors, iar ec0ivalentul concentraţiei de feromoni din modelul natural, pentru calea respectivă, se alege invers proporţional cu lungimea acelei căi.

    "mplementarea algoritmului furnicii pentru problema comisului #oia$or

    -roblema comisului voiajor este una dintre cele mai cunoscute probleme de optimizareşi se enunţă astfel un comis voiajor trebuie să viziteze o serie de clienţi ce locuiesc într!unanumit număr de oraşe. $e doreşte să se stabilească ordinea în care trebuie vizitate oraşeleastfel înc"t lungimea totală a itinerarului parcurs de comis voiajor să fie minimă.

    $e consideră un graf complet ce conţine N noduri )oraşele vizitate de comisul voiajorşi toate laturile ce pot fi definite între aceste noduri )+ig. / . 8mplementarea *+ pentru problema considerată este prezentată în Caseta &.

    +iecărei laturi )i, j din graful complet i se asociază o concentraţie de feromoni τ ij ,

    care va fi folosită pentru selectarea traseului urmat de colonia de furnici, care în continuare

    vor fi denumiteagenţi . 8niţial, concentraţiileτ ij

    se stabilesc la valori pozitive mici )deexemplu, c 9 (.(& .

    Fig %:raful complet pentru problema comisului voiajor.

  • 8/16/2019 ANTS de Optimizare Discreta

    4/8

    &aseta ! *lgoritmul furnicii pentru problema comisului voiajor.

  • 8/16/2019 ANTS de Optimizare Discreta

    5/8

    Deoarece problema urmăreşte determinarea unei valori minime, lungimea traseului

    minim se iniţializează cu o valoare foarte mare, notată simbolic LMin 9 ; . 2n continuare, cei N agenţi se distribuie uniform )dacă este posibil între nodurile din graf. Dacă se admite cănumărul de noduri şi numărul de agenţi se aleg astfel înc"t N 9 m < N )undem este un întregoarecare , în fiecare nod se vor distribuim 9 N = N agenţi. >odul în care se află la unmoment dat fiecare agent! este notat"ras! .

    *v"nd în vedere că problema conţine restricţia conform căreia fiecare agent trebuie sătreacă prin fiecare oraş fără a forma cicluri )un oraş se vizitează o singură dată, cu excepţia primului oraş, în care se înc0ide turul , memorarea traseului fiecărui agent se face într!o listătabu, care va conţine N ? &elemente, care descriu succesiunea în care sunt vizitate oraşele. Deexemplu, dacă cele @ oraşe din +ig. & sunt vizitate de un agent în ordinea 3, &, A, @ şi /, listatabu a acestuia va avea forma )3, &, A, @, /, 3 .

    După distribuirea agenţilor în nodurile grafului, lista tabu asociată fiecărui agent esteiniţializată în prima poziţie cu numărul de ordine al oraşului în care a fost distribuit acel agent.

  • 8/16/2019 ANTS de Optimizare Discreta

    6/8

    2n continuare, urmează ca agenţii să se deplaseze în diferite noduri ale grafului, p"nă lacompletarea tuturor listelor tabu, moment în care fiecare agent va fi înc0eiat un tur complet algrafului. *stfel, pentru fiecare agent! , se consideră oraşul de originei 9 "ras! şi se alegeoraşul destinaţie j# , care nu trebuie să figureze în lista tabu a agentului! , pe baza unor probabilităţi calculate în funcţie de concentraţia de feromoni de pe laturile )i , j şi vizibilitatea

    nodurilor j 6privite7 din noduli, apreciată prin inversul distanţei dintre noduri,dij . *ceste probabilităţi se calculează cu o relaţie de forma

    (1)

    Dintre toate nodurile j în care se admite deplasarea din noduli, se alege nodul j# pentru care probabilitatea P ij # este maximă. 2n consecinţă, agentul! se va deplasa în nodul

    j# ) Oras k 9 j# , iar nodul j# va fi introdus în lista tabu ) Tabu k ) s 9 j# . 2n relaţia )&Bşi sunt doi parametri care controlează ponderea cu care intervin concentraţia de feromoni )

    τ ij şi vizibilitatea )&= d ij în calculul probabilităţii P ij . De exemplu, pentru 9 (,

    probabilităţile P ij . se stabilesc numai în funcţie de concentraţia de feromoni, iar pentru B 9( 5 numai în funcţie de vizibilitatea nodurilor )distanţele dintre noduri .

    După parcurgerea a N paşi, c"nd toţi agenţii au trecut prin toate nodurile grafului,traseul fiecărui agent se înc0ide prin revenirea în nodul de origine. 2n continuare, secalculează lungimile traseelor pentru toţi agenţii şi, dintre acestea, se memorează lungimeaminimă. 2n acest moment se înc0eie un pas = o iteraţie a algoritmului.

    2nainte de trecerea la pasul următor, se procedează la actualizarea concentraţiei deferomoni de pe fiecare latură a grafului. *ceasta se face o singură dată, la înc0eierea fiecăruiciclu = iteraţie, atunci c"nd fiecare agent a parcurs un tur complet în graf. 2n acest caz,cantitatea de feromoni adăugată pe fiecare latură este invers proporţională cu lungimeaîntregului traseu parcurs de agentul respectiv. Ca urmare, acesta este modelul de actualizare aconcentraţiilor de feromoni pe laturile grafului folosit în algoritmul prezentat înCaseta 1 şifoloseşte o relaţie de forma

    (2)

    unde este un coeficient subunitar, astfel înc"t )& ! reprezintă rata de evaporare aferomonilor de pe traseele formate. Coeficientul se alege întotdeauna subunitar, astfel înc"tsă se evite acumularea nelimitată de feromoni pe laturile grafului )de exemplu, 9 (.& .Δ

    τ ij reprezintă corecţia concentraţiei de feromoni pe latura )i , j , determinată de numărultotal de agenţi care se deplasează din noduli în nodul j. *ceste corecţii se calculează cu

    relaţia

  • 8/16/2019 ANTS de Optimizare Discreta

    7/8

    (3)

    undeE τ ijk

    este cantitatea de feromoni lăsată pe latura )i , j de agentul!

    (4)

    Criteriul de oprire folosit în cadrul algoritmului este atingerea unui număr maxim deiteraţii,$ma%. *t"t timp c"tt F $ma%, se reiniţializează listele tabu ale agenţilor şi se reia procedura prin reiniţializarea primului element din fiecare lista tabu cu numărul de ordine aloraşului în care se află fiecare agent.

  • 8/16/2019 ANTS de Optimizare Discreta

    8/8

    4ibliografie&. >. Labroc0e, >. onmarc0e, and :. Genturini. * neH clustering algorit0m based

    on t0e c0emical recognition sIstem of ants. Jarmelen, +. van )Kd. -roc. of t0e&@t0 Kuropean Conference on *rti cial 8ntelligence, LIon, +rance,

    /. arco Dorigo, 10omas $tutzle, M*nt colonI optimationM, assac0usetts 8nstitute of 1ec0nologI, /((A.

    3. arco Dorigo, auro 4irattari, and 10omas $tutzle,M*nt ColonI Nptimization*rtificial *nts as a Computational 8ntelligence 1ec0niOueM, 8KKK, /((P.

    A. . Dorigo, Nptimization, Learning and >atural *lgorit0ms, -0D t0esis, -olitecnico diilano, 8talI, &''/.

    @. . Dorigo , :. Di Caro et 1. $tQtzle,&pecial issue on ' nt lgorit(ms' , +uture:eneration Computer $Istems, volume &P, numRro S, /(((

    P. 0ttps ==en.HiTipedia.org=HiTi=*nt colonI optimization algorit0ms