Florin Leon - Agenti inteligenti cu capacitati cognitive
April 3, 2017 | Author: EnrollInfo | Category: N/A
Short Description
Download Florin Leon - Agenti inteligenti cu capacitati cognitive...
Description
CUPRINS
Capitolul I INTRODUCERE ÎN TEORIA AGENÞILOR 1.1 Inteligenþa artificialã distribuitã. Agenþii 1.2 Definiþii. Proprietãþi 1.2.1 Agenþii inteligenþi 1.2.2 Proprietãþile mediului de execuþie 1.2.3 Proprietãþile acþiunilor agenþilor 1.2.4 Proprietãþile scopurilor agenþilor 1.2.5 Proprietãþile convingerilor agenþilor 1.2.6 Caracteristicile agenþilor în simularea sistemelor complexe 1.3 Clasificãri 1.3.1 Taxonomia generalã a agenþilor 1.3.2 Clasificarea lui Nwana 1.3.3 Tipuri de agenþi din perspectiva mediului computaþional 1.3.4 Tipuri de agenþi în simulãri complexe 1.4 Concluzii
7 7 8 11 13 14 16 16 17 18 18 18 19 21 23
Capitolul II ARHITECTURI DE AGENÞI INTELIGENÞI 2.1 Arhitectura generalã a unui agent inteligent 2.2 Arhitecturi logice 2.3 Arhitecturi reactive (reflexe) 2.4 Arhitecturi BDI 2.5 Arhitecturi stratificate 2.6 Concluzii
25 25 28 29 32 38 39
Capitolul III SISTEME MULTIAGENT 3.1 Utilitatea sistemelor multiagent 3.2 Caracteristici ale sistemelor multiagent 3.2.1 Sistemele multiagent omogene necomunicative 3.2.2 Sistemele multiagent eterogene necomunicative 3.2.3 Sistemele multiagent comunicative 3.3 Limbaje de comunicare interagent 3.3.1 Teoria actelor de vorbire 3.3.2 Knowledge Query and Manipulation Language (KQML) 3.3.3 Knowledge Interchange Format (KIF) 3
41 41 42 43 44 45 45 45 47 49
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
3.3.4 COOrdination Language (COOL) 3.4 Tipuri de interacþiuni în sistemele multiagent 3.4.1 Cooperare ºi concurenþã 3.4.2 Protocoale de cooperare. Negocierea 3.4.3 Modalitãþi de comunicare. Sisteme blackboard 3.5 Organizaþii de agenþi 3.6 Concluzii
51 53 53 54 55 56 58
Capitolul IV TEORIA SISTEMELOR FUZZY 4.1 Noþiuni fundamentale 4.2 Tipuri de funcþii de apartenenþã 4.3 Restrictori 4.4 Operaþii cu mulþimi fuzzy 4.5 Procesul de inferenþã fuzzy 4.5.1 Tipul de inferenþã Mamdani 4.5.2 Tipul de inferenþã Takagi-Sugeno 4.6 Concluzii
59 59 62 66 67 70 70 73 74
Capitolul V REÞELE NEURONALE 5.1 Introducere. Modelul biologic 5.2 Reþele cu un singur strat 5.3 Perceptronul multistrat 5.3.1 Algoritmul backpropagation 5.3.2 Metode de accelerare a învãþãrii 5.3.3 Considerente practice 5.4 Reþele bazate pe funcþii radiale 5.4.1 Echivalenþa funcþionalã dintre reþelele RBF ºi sistemele fuzzy 5.5 Învãþarea hebbianã 5.6 Harta de auto-organizare a lui Kohonen 5.7 Concluzii
75 75 78 82 85 88 89 92 94 95 96 97
Capitolul VI SISTEME HIBRIDE NEURO-FUZZY 6.1 Soft Computing 6.2 Utilitatea sistemelor hibride neuro-fuzzy 6.3 Tipuri de hibridizãri neuro-fuzzy 6.3.1 Reþele neuronale fuzzy 6.3.2 Perceptronul fuzzy 6.3.3 Sisteme fuzzy neuronale 6.3.4 Sisteme hibride neuro-fuzzy 6.3.5 Adaptive-Network-Based Fuzzy Inference System (ANFIS)
99 99 100 103 103 104 107 108 110
4
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
6.4 Concluzii
112
Capitolul VII ÎNVÃÞAREA ÎN SISTEMELE MULTIAGENT 7.1 Introducere 7.2 Învãþarea cu întãrire 7.2.1 Caracteristici ale învãþãrii cu întãrire 7.2.2 Metoda diferenþelor temporale 7.2.3 Q-learning 7.3 Agenþi concurenþi 7.3.1 Niveluri de agenþi 7.3.2 Echilibrul unui sistem multiagent 7.3.3 Echilibru Nash 7.3.4 Jocul fictiv 7.3.5 Dinamica replicatorului 7.4 Agenþi cooperanþi. Apariþia coaliþiilor 7.4.1 Algoritmul DFG 7.4.2 Învãþarea rolurilor într-o organizaþie 7.5 Concluzii
113 113 114 116 117 120 122 123 126 129 131 132 133 135 140 141
Capitolul VIII STRUCTURA UNUI AGENT INTELIGENT CU CAPACITÃÞI COGNITIVE 8.1 Arhitecturi cognitive 8.2 Învãþarea inductivã 8.2.1 Reguli, prototipuri sau exemplare? 8.2.2 Exemplare generalizate suprapuse ºi nesuprapuse 8.2.3 Exemplare generalizate nesuprapuse cu prototipuri 8.2.4 Metrici de similaritate alternative 8.2.5 Selecþia trãsãturilor ºi clusterizarea 8.2.6 Reprezentarea conceptelor compuse 8.3 Învãþarea deductivã 8.3.1 Modelul unui context de învãþare 8.3.2 Dinamica învãþãrii 8.3.3 Învãþarea conceptelor 8.3.4 Definirea conceptelor 8.3.5 Rezolvarea de probleme 8.3.6 Deprecierea ponderilor 8.3.7 Alegerea ratelor de învãþare 8.4 Agenþi inteligenþi pentru e-learning 8.4.1 Evoluþia paradigmelor calculului distribuit 8.4.2 Structura sistemului propus 8.4.3 Performative KQML. Gramatica admisã pentru cunoºtinþe 8.4.4 Comportament bazat pe stare. Comportament acþionat de evenimente
143 143 145 146 152 155 159 162 164 174 174 176 176 177 178 181 181 182 184 185 189 191
5
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
8.4.5 Modelarea bazelor de cunoºtinþe de pe servere de cãtre agenþi 8.4.6 Posibilitãþile de cooperare între agenþi 8.4.7 Introducerea cozilor de prioritãþi pe servere 8.4.8 Echilibrarea încãrcãrii 8.5 Metode de învãþare dinamicã a cãii 8.5.1 Formalizarea problemei de gãsire a cãii 8.5.2 Strategii de învãþare cu întãrire pentru agenþi inteligenþi mobili 8.5.3 Învãþarea cãii folosind gradienþii marcajelor de stare 8.6 Concluzii
193 194 195 195 195 195 196 198 199
Capitolul IX STUDIU EXPERIMENTAL 9.1 Metodologia de test 9.2 Studiu comparativ al algoritmilor de învãþare inductivã 9.2.1 Algoritmii 9.2.2 Problemele 9.2.3 Analiza performanþelor pentru probleme complexe 9.2.4 Analiza performanþelor pentru probleme logice 9.2.5 Metrici de distanþã pentru toleranþã la zgomot în NNGEP 9.2.6 Comportamentul NNGEP în probleme logice 9.2.7 Clasificarea prin tehnici conexioniste 9.2.8 Interpretarea neuronalã a rezultatelor NNGEP 9.2.9 Interpretarea fuzzy a rezultatelor NNGEP 9.3 Studiul modelului de învãþare deductivã 9.4 Analiza comportamentului sistemului multiagent 9.4.1 Modelarea bazelor de cunoºtinþe de pe servere de cãtre agenþi 9.4.2 Posibilitãþile de cooperare între agenþi 9.4.3 Introducerea cozilor de prioritãþi pe servere 9.4.4 Studiu de caz 9.5 Studiu comparativ al tehnicilor de învãþare dinamicã a cãii 9.5.1 Problema drumului în reþea 9.5.2 Problema labirintului 9.6 Concluzii
201 201 201 201 204 210 214 215 218 219 220 221 221 227 227 232 234 237 239 240 242 252
BIBLIOGRAFIE
253
6
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul I
INTRODUCERE ÎN TEORIA AGENÞILOR 1.1 Inteligenþa artificialã distribuitã. Agenþii Evoluþia ºtiinþei calculatoarelor este pe cât de spectaculoasã pe atât de interesantã. În societatea informaþionalã plasatã sub semnul vitezei ºi termenelor limitã, puþini sunt însã cei care mai au timp sã mediteze asupra filosofiei acestui domeniu, asupra motivaþiilor ºi speranþelor care au condus la intrarea calculatoarelor în viaþa de zi cu zi. Pe mãsura dezvoltãrii posibilitãþilor hardware ºi software, a devenit din ce în ce mai clar potenþialul lor de aplicabilitate în cele mai diverse domenii. Odatã cu creºterea complexitãþii problemelor care trebuiau rezolvate a crescut ºi nivelul de abstractizare a limbajelor de programare utilizate. Limbajele de primã generaþie erau limbaje maºinã; ele constau în numere care se adresau direct procesorului, de exemplu prin intermediul cartelelor perforate. Urmãtoarea generaþie, a limbajelor de asamblare, a adus avantajul unor instrucþiuni simple, astfel încât programatorul sã poatã utiliza simboluri în loc de numere. Limbajele de a treia generaþie, limbajele de nivel înalt, sunt cele folosite pe scarã largã în momentul actual, care conþin o serie de instrucþiuni mai apropiate de limbajul natural. Pasul urmãtor este cel al generatoarelor de aplicaþii, care pot genera cod sursã pe baza unui dialog cu programatorul, care trebuie doar sã completeze unele detalii. Prin urmare, limbajul de a patra generaþie trebuie sã aibã cunoºtinþe despre domeniul de aplicaþie respectiv. Pânã în prezent, doar un numãr limitat de domenii au fost complet formalizate ºi standardizate ºi deci la momentul actual aceste limbaje sunt potrivite numai pentru domenii specifice, limitate. În strânsã legãturã cu limbajele de programare sunt ºi tehnicile de programare. Dacã un limbaj poate fi considerat un instrument, un set finit de blocuri constructive, o tehnicã de programare presupune un anumit mod de gândire, o metodã de abordare a problemelor, dincolo de mijloacele concrete de implementare. Rãspunzând în primul rând unei necesitãþi sociale, programatorii ºi teoreticienii au fost puºi în faþa unor probleme din ce în ce mai complexe. De exemplu, în anul 1946 von Neumann aprecia cã 1000 de instrucþiuni reprezintã o limitã superioarã rezonabilã pentru un program. Dupã 40 de ani, programele scrise pentru naveta spaþialã NASA aveau circa 40 de milioane de linii de cod. 7 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Un pas important în evoluþia tehnicilor de programare a fost apariþia programãrii orientate obiect ca soluþie la limitãrile programãrii structurate. Programatorii îºi puteau defini clase inspirate din conceptele lumii reale. Instanþele claselor, la fel ca obiectele reale, dispun de unele proprietãþi care le individualizeazã ºi sunt capabile sã execute diferite acþiuni. Pentru cele mai multe aplicaþii din prezent, acest model este suficient. Dar dacã presupunem cã tehnicile de programare ar avea ca scop final modelarea lumii reale, clasele ºi instanþele lor rãmân lucruri, obiecte statice care fac ceea ce sunt programate sã facã ºi asta numai atunci când li se trimit mesaje din exterior. Se pune atunci problema: s-ar putea gãsi o tehnicã de programare care sã modeleze ºi fiinþe? Domeniul agenþilor ºi programarea orientatã agent încearcã sã propunã diferite soluþii în acest sens. Dupã cum se va vedea, un agent poate fi considerat un obiect autonom, care poate lua iniþiativa datoritã capacitãþii de percepþie a mediului de execuþie în care este situat. Dincolo de aplicaþiile comerciale posibile, cum ar fi de exemplu cãutãrile de informaþii de Internet în numele utilizatorului, autonomia deschide calea simulãrilor de sisteme complexe în special în domeniile economic, ecologic, social ºi militar. Sistemul nu mai este descris la nivel macro (sarcinã care se dovedeºte foarte dificilã de cele mai multe ori), ci la nivel micro, prin agenþi cu o structurã simplã. Prin interacþiunile foarte numeroase dintre aceste componente apar de multe ori comportamente globale neplanificate anterior în agenþii individuali. Spre deosebire de programele clasice, destinate unui anumit scop bine definit, agenþii sunt potriviþi mai ales pentru a opera în medii complexe, uneori imprevizibile. Ar fi practic imposibil ca un programator sã prevadã toate situaþiile posibile în care poate ajunge un agent în cursul execuþiei sale. O soluþie este adãugarea unor capacitãþi de adaptare dinamicã rezultate în urma unui proces de învãþare. Aici îºi aduc aportul inteligenþa artificialã ºi ºtiinþele cognitive. 1.2 Definiþii. Proprietãþi În ultimii ani, inteligenþa artificialã distribuitã s-a dezvoltat ºi diversificat foarte mult, fiind un domeniu de cercetare care înglobeazã concepte ºi rezultate din multe discipline, precum psihologia, sociologia sau economia. Natura sa interdisciplinarã face dificilã elaborarea unei definiþii unanim acceptate, însã în general inteligenþa artificialã distribuitã se referã la „studiul ºi proiectarea sistemelor formate din mai multe entitãþi care interacþioneazã, distribuite din punct de vedere logic ºi deseori spaþial ºi 8 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
care pot fi considerate într-un anumit sens autonome ºi inteligente” (Weiß & Sen, 1996). Aceastã dezvoltare a fost facilitatã de progresele înregistrate în ºtiinþa calculatoarelor. Sistemele de operare multi-tasking, procesele comunicante, calculul distribuit ºi limbajele de programare orientate obiect au favorizat proiectarea, implementarea ºi lansarea sistemelor bazate pe agenþi. Domeniul inteligenþei artificiale distribuite se aflã la graniþa dintre inteligenþa artificialã ºi calculul distribuit. La rândul sãu, inteligenþa artificialã distribuitã constã în principal în studiul rezolvãrii distribuite a problemelor ºi studiul sistemelor multiagent. O reprezentare graficã a acestor relaþii se regãseºte în figura urmãtoare (Buiu, 1999):
Figura 1.1. Domeniul inteligenþei artificiale distribuite
Majoritatea sistemelor clasice de inteligenþã artificialã sunt statice, arhitectura lor este predefinitã, în timp ce sistemele bazate pe agenþi se modificã dinamic în timp. Inteligenþa artificialã distribuitã studiazã probleme legate de proiectarea sistemelor distribuite, interactive. Diferenþa principalã dintre rezolvarea distribuitã a problemelor (DPS) ºi sistemele multiagent (MAS) se referã la faptul cã primul domeniu se ocupã de managementul informaþiei, pe când cel de-al doilea studiazã managementul comportamentului. Totuºi, graniþa dintre acestea nu este foarte clarã. În DPS, o problemã complexã este descompusã în mai multe 9 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
subprobleme mai simple care sunt rezolvate separat ºi apoi rezultatele parþiale sunt combinate pentru a forma soluþia finalã. În acest sens, se presupune cã entitãþile care rezolvã subproblemele sunt compatibile. În MAS, nu existã asemenea garanþii. Agenþii pot avea arhitecturi diferite, sau chiar scopuri conflictuale, ºi totuºi trebuie sã interacþioneze. De asemenea, comportamentele individuale sunt mult mai simple decât interacþiunile dintre ei. Utilizarea agenþilor este justificatã în primul rând de faptul cã sunt o soluþie pentru administrarea sistemelor complexe. Datoritã autonomiei, ei pot acþiona în numele utilizatorului, fãrã sã aibã doar funcþia unei simple interfeþe. De exemplu, pentru gãsirea unei informaþii pe Internet, utilizatorul o poate cãuta singur sau poate apela la un agent care sã realizeze cãutarea în locul lui ºi sã-i returneze apoi paginile cele mai semnificative. Avem de-a face în acest caz cu un management indirect (Dumitrescu, 1999), care semnificã un proces de cooperare între om ºi agent, care comunicã, monitorizeazã mediul ºi îºi îndeplinesc sarcinile. Agentul devine astfel un asistent al utilizatorului uman, a cãrui eficienþã creºte pe mãsurã ce învaþã preferinþele acestuia. De asemenea, noul val de dezvoltare a tehnologiei ºi în special Internetul necesitã posibilitatea ca diverse aplicaþii sã comunice ºi sã interacþioneze. În general, pentru mediile informatice eterogene, distribuite geografic ºi de mari dimensiuni, o abordare centralizatã este practic imposibilã. Un al doilea motiv este rolul important jucat de sistemele multiagent în dezvoltarea ºi analiza teoriilor din ºtiinþele sociale ºi economice. Simulãrile bazate pe agenþi sunt în acest caz mult mai apropiate de procesele naturale ºi de aceea asigurã rezultate superioare celor furnizate de modelele clasice, cum ar fi sistemele de ecuaþii diferenþiale. Unii cercetãtori considerã agenþii o nouã paradigmã în sfera cercetãrii computaþionale. În literatura de filosofia ºtiinþei, acest termen are numeroase înþelesuri. Referindu-ne la modelarea ºi simularea prin intermediul agenþilor, aceºtia constituie o sursã de noi instrumente de lucru ºi, mai important, aduc o nouã viziune asupra asupra domeniului menþionat. ªtiinþa calculatoarelor foloseºte cuvântul „paradigmã” pentru a desemna o nouã metodã sau metodologie, care se dovedeºte mai eficientã, adicã rezolvã un numãr mai mare de probleme, ºi mai elegantã, adicã permite combinarea soluþiilor vechi ºi reformularea lor într-o manierã mai compactã. Domeniul agenþilor fiind recent ºi în continuã dezvoltare, nu existã o definiþie standard unanim acceptatã. În cele ce urmeazã, vom evidenþia câteva definiþii propuse de diferiþi cercetãtori, plecând de la cele mai generale spre cele particulare. În mod esenþial, se considerã cã autonomia 10 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
este noþiunea centralã a ideii de agent (Franklin & Graesser, 1996). Dincolo de aceasta, alte proprietãþi au o importanþã diferitã, în funcþie de aplicaþiile concrete considerate. Agentul AIMA (Russel, Stuart & Norvig, 1995) este descris drept „orice lucru care îºi poate percepe mediul prin senzori ºi poate acþiona asupra acelui mediu prin efectori”. Definiþia depinde în mare mãsurã de ce se înþelege prin mediu, percepþie ºi acþiune. Astfel, dacã mediul asigurã intrãri pentru agenþi ºi le primeºte ieºirile, orice program poate fi considerat agent. O altã definiþie pentru agenþii este datã de Patty Maes (1995) astfel: „Agenþii autonomi sunt sisteme computaþionale care populeazã un anumit mediu dinamic complex, percept ºi acþioneazã autonom în acest mediu ºi astfel îºi realizeazã un set de scopuri sau sarcini pentru care au fost proiectaþi.” Aceastã definiþie insistã pe situarea în mediu ºi pe autonomie, însã limiteazã tipurile de mediu, astfel încât acestea sã fie complexe ºi dinamice. Putem deci considera cã un agent este „un sistem computaþional situat într-un mediu de execuþie ºi capabil de acþiune autonomã în acel mediu pentru a-ºi îndeplini obiectivele planificate” (Wooldridge, 2000). Trebuie remarcat cã definiþia se referã la agenþi în general, nu la agenþii inteligenþi. Ea nu spune nimic despre tipul de mediu pe care îl ocupã agenþii, deoarece pot exista mai multe tipuri de mediu. În cele mai multe domenii agentul nu va avea un control complet asupra mediului. În general, va avea un control parþial asupra mediului, adicã îl va putea influenþa. De regulã, un agent are o anumitã gamã de acþiuni pe care le poate efectua. Mulþimea tuturor acþiunilor posibile ale unui agent poartã denumirea de capacitate efectoricã (engl. „effectoric capability”), adicã posibilitatea de a-ºi modifica mediul de execuþie. Nu toate acþiunile pot fi executate într-o anumitã situaþie; ele au unele pre-condiþii asociate, care definesc stãrile mediului în care pot fi îndeplinite. De exemplu, un agentcumpãrãtor cu scopul de a cumpãra un sistem electronic nu va putea efectua tranzacþia dacã în contul utilizatorului nu se gãsesc destui bani pentru acesta. 1.2.1 Agenþii inteligenþi În cele ce urmeazã, vom considera câteva definiþii referitoare la agenþii inteligenþi. Hayes-Roth (1995) considerã cã „Agenþii inteligenþi efectueazã în mod continuu trei funcþii: perceperea condiþiilor dinamice din mediu, acþiunea pentru influenþarea condiþiilor din mediu ºi raþionamentul pentru 11 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
interpretarea percepþiilor, rezolvarea problemelor, deducerea inferenþelor ºi determinarea acþiunilor.” Definiþia insistã asupra raþionamentului necesar selectãrii acþiunilor, însã dacã acest concept este interpretat într-un sens mai larg, arhitectectura rezultantã permite ºi acþiuni reflexe pe lângã cele planificate. În definiþia agentului IBM (Franklin & Graesser, 1996) se aminteºte cã „Agenþii inteligenþi sunt entitãþi software care îndeplinesc anumite operaþii în numele utilizatorului sau al altui program, cu un anumit grad de independenþã sau autonomie, folosind astfel cunoºtinþe sau reprezentãri ale scopurilor sau dorinþelor utilizatorului.” Se poate deduce de aici cã orice agent software este un program, însã un program nu se considerã agent decât dacã manifestã anumite caracteristici. Probabil definiþia cea mai adecvatã pentru agenþii inteligenþi le aparþine lui Wooldridge ºi Jennings (1995). Ei considerã cã un agent inteligent este un sistem hardware sau (mai ales) software, care se bucurã de urmãtoarele proprietãþi: autonomie (engl. „autonomy”): agentul opereazã ca un proces de sine stãtãtor, fãrã intervenþie umanã directã ºi deþine controlul asupra acþiunilor ºi stãrii sale interne; reactivitate (engl. „reactivity”): agentul îºi percepe mediul (care poate fi de exemplu lumea fizicã, un utilizator prin intermediul unei interfeþe grafice, o colecþie de alþi agenþi, Internet-ul, etc.) ºi rãspunde promt schimbãrilor petrecute în mediul respectiv; proactivitate (engl. „pro-activeness”): agentul nu numai cã reacþioneazã la schimbãrile mediului sãu de execuþie, ci este capabil sã manifeste un comportament orientat spre scop prin preluarea iniþiativei; abilitate socialã (engl. „social ability”): agentul interacþioneazã cu alþi agenþi (sau cu oamenii) printr-un anumit limbaj de comunicare între agenþi. Cercetãtorii mai sus menþionaþi apreciazã inteligenþa drept capacitatea de acþiune autonomã flexibilã, unde flexibilitatea presupune reactivitate, proactivitate ºi aptitudine socialã. Reactivitatea este o proprietate neceserã atunci când agentul acþioneazã în medii nesigure, care se schimbã mereu. Agentul reacþioneazã în mod continuu pentru a se adapta modificãrilor. În astfel de medii dinamice, evenimentele externe pot schimba chiar pre-condiþiile considerate iniþial pentru începerea execuþiei unei acþiuni. Printr-o continuã reactualizare a informaþiilor despre mediu, se poate evita încercarea de a atinge scopuri 12 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
inactuale. Dacã însuºi scopul se modificã, atunci nu mai existã nici un motiv pentru continuarea procedurii curente. Proactivitatea se referã la comportamentul orientat spre scop. Acest concept poate fi exemplificat printr-un simplu program scris într-un limbaj imperativ. Efectele execuþiei unei proceduri reprezintã scopul, ceea ce intenþioneazã autorul programului sã realizeze. Modelul este adecvat mediilor statice, însã dacã pre-condiþiile se schimbã în timpul execuþiei procedurii, rezultatul acesteia va fi imprevizibil ºi de obicei eronat. Construirea sistemelor pur reactive sau pur proactive nu este foarte dificilã. Adevãrata provocare o constituie gãsirea unui echilibru între comportamentul reflex ºi cel orientat spre scop. În general, se doreºte ca agentul sã încerce sã-ºi atingã în mod sistematic scopurile, însã sã nu continue o anumitã acþiune în condiþiile în care este clar cã aceasta nu va reuºi. El trebuie sã reacþioneze la noua situaþie ºi sã-ºi selecteze un nou mod de comportament. Totuºi, agentul nu trebuie sã reacþioneze în mod continuu ºi astfel sã nu se mai poatã concentra asupra atingerii efective a scopurilor. Abilitatea socialã, al treilea atribut al unui comportament flexibil, se referã la cooperarea dintre agenþi, la partajarea scopurilor. Un simplu schimb de informaþii nu poate fi considerat drept comportament social, care se dovedeºte mult mai complex. Existã cazuri în care atingerea propriilor scopuri intrã în conflict cu interesele altor agenþi. În astfel de cazuri se recurge la negociere, alegerea unor acþiuni alternative, etc. Caracteristicile agenþilor inteligenþi se pot împãrþi în caracteristici interne (autonomia, reactivitatea, raþionamentul, învãþarea, proactivitatea, mobilitatea) ºi caracteristici externe (comunicarea, cooperarea). Dacã un agent inteligent are în plus capacitatea de a învãþa, de a raþiona ºi de a planifica, atunci este un agent cognitiv. 1.2.2 Proprietãþile mediului de execuþie Brian Logan (1998) propune un model de analizã a agenþilor bazat pe patru dimensiuni: proprietãþile mediului, proprietãþile acþiunilor agenþilor, proprietãþile scopurilor agenþilor ºi proprietãþile convingerilor agenþilor. Dupã cum am menþionat mai sus, procesul luãrii deciziilor unui agent este influenþat de proprietãþile mediului de execuþie. Acesta poate fi (Russell, Stuart & Norvig, 1995): accesibil sau inaccesibil: într-un mediu accesibil, agentul poate obþine informaþii complete despre starea curentã a mediului. În condiþii de inaccesibilitate, agentul vede numai parþial mediul în care acþioneazã. Mediile de mare complexitate, precum lumea realã sau Internetul, sunt inaccesibile; 13 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
determinist sau nedeterminist: într-un mediu determinist, orice acþiune are un singur efect, adicã nu existã incertitudini asupra stãrii în care va trece mediul dupã efectuarea acþiunii respective. Lumea realã sau mediile complexe sunt nedeterministe, deoarece aceeaºi acþiune poate avea efecte diferite în condiþii iniþiale diferite. De aceea, agenþii trebuie sã poatã accepta posibilitatea eºecului, chiar dacã au acþionat optim în fiecare fazã a procesului decizional local. De asemenea, dacã un mediu determinist este suficient de complex, el trebuie tratat tot într-o manierã nedeterministã; episodic sau nonepisodic: într-un mediu episodic, performanþele agentului depind de un numãr de episoade discrete, fãrã a exista o legãturã între performanþele agentului din episoade diferite. De exemplu, un sistem de sortare a poºtei electronice este episodic, deoarece performanþele de sortare viitoare nu depind de modul de sortare a mesajelor curente; static sau dinamic: un mediu static rãmâne neschimbat, cu excepþia rezultatelor acþiunilor agentului. Un mediu dinamic are ºi alte procese care opereazã asupra sa ºi astfel se poate modifica într-o manierã care nu mai depinde numai de acþiunile agentului. Lumea fizicã realã este un exemplu de mediu foarte dinamic; discret sau continuu: un mediu discret dispune de un numãr finit de acþiuni ºi elemente de percepþie. Un exemplu de mediu discret poate fi jocul de ºah, pe când conducerea unui automobil aparþine unui mediu continuu. Cele mai generale clase de medii sunt cele inaccesibile, nedeterministe, nonepisodice, dinamice ºi continue. 1.2.3 Proprietãþile acþiunilor agenþilor Acþiunile agenþilor pot fi de asemenea analizate pe baza unor proprietãþi (Logan, 1998). O acþiune este caracterizatã de precondiþiile sale, de efecte ºi de eventualele constrângeri care specificã modul în care e atinsã starea doritã, cum ar fi de exemplu timpul necesar îndeplinirii unei sarcini. Trebuie fãcutã diferenþa între proprietãþile unei acþiuni abstracte ºi proprietãþile comportamentului unui agent, care implementeazã acþiunile. Doi agenþi, în condiþii diferite, pot încerca sã execute aceeaºi acþiune, dar comportamentul lor poate fi diferit. În cele ce urmeazã, vom considera caracteristicile unor acþiuni ideale, independente de comportament: infailibilitatea: o acþiune infailibilã (engl. „infallible”) va produce în mod sigur efectele dorite când mediul îi satisface precondiþiile ºi este executatã corect. Infailibilitatea se referã în principal la intenþia de a 14 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
efectua o acþiune ºi nu la probabilitatea de reuºitã. O acþiune nedeterministã poate avea mai multe rezultate când este executatã într-o anumitã stare. O acþiune infailibilã are mulþimea rezultatelor posibile inclusã în mulþimea rezultatelor aºteptate, deci chiar dacã existã mai multe rezultate posibile, efectul acþiunii va fi totdeauna unul aºteptat. Aruncarea unui zar este o acþiune infailibilã, în sensul cã va avea întotdeauna ca rezultat una din cele ºase alterrnative. Încercarea de „a da ºase” este însã failibilã (engl. „fallible”, supusã greºelii), deoarece rezultatul aºteptat nu este posibil de fiecare datã. Dacã acþiunile unui agent sunt failibile, chiar ºi un mediu static trebuie considerat nedeterminist; utilitatea: utilitatea unei acþiuni este datã de utilitatea stãrii în care se ajunge prin acþiunea respectivã. Dacã nu existã nici o modalitate de a decide care acþiune este mai bine sã fie efectuatã dintr-o mulþime posibilã, se spune cã acþiunile au utilitãþi egale. Dacã o asemenea modalitate existã, se spune cã acþiunea cu utilitate maximã este corectã; costul: diferite acþiuni pot necesita diferite resurse pentru a putea fi îndeplinite, cum ar fi consumul de energie electricã, cheltuirea unei sume de bani etc. Costurile pot fi calculate pe loc, înainte de efectuarea unei acþiuni, sau pot fi determinate la un moment de timp ulterior. Într-un mediu nedeterminist, costul unei acþiuni nu poate fi cunoscut cu anticipaþie. O acþiune este optimã dacã este corectã ºi nu existã o altã acþiune corectã cu un cost mai scãzut. Din punctul de vedere al schimbului de informaþii cu mediul, acþiunile pot fi: de percepþie: se referã la capacitatea agentului de a-ºi percepe mediul de execuþie; de miºcare: dacã nici o acþiune posibilã nu poate determina schimbarea perspectivei agentului asupra mediului sãu de execuþie, se spune cã agentul este static. În caz contrar, avem de a face cu un agent mobil. Noþiunea de mobilitate se referã atât la accepþiunea clasicã, unde agentul îºi schimbã percepþiile asupra mediului prin schimbarea poziþiei, cât ºi la deplasarea pe o altã maºinã pentru continuarea execuþiei; de comunicare: comunicarea între agenþi se referã la interacþiunile (schimbul de informaþii) într-un anumit limbaj de comunicare interagent. Dacã într-un mediu existã mai multe tipuri de agenþi, se poate impune comunicarea în mai multe limbaje. 15 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
1.2.4 Proprietãþile scopurilor agenþilor În continuare, ne vom referi la proprietãþile scopurilor unui agent. Nu toþi agenþii posedã o mulþime de scopuri definite explicit, chiar dacã sunt orientaþi spre un scop specific, bine definit. Un exemplu ar fi agenþii care decid acþiunea urmãtoare pe baza unor reguli de decizie aplicate stãrii curente a mediului. Agenþii cu arhitecturi ce permit reprezentarea scopurilor ºi convingerilor vor fi prezentaþi mai detaliat în capitolul 2. Proprietãþile menþionate în continuare (Logan, 1998) se referã la scopurile intrinseci, care nu sunt subscopuri ale unui alt scop deja avut în vedere (Georgeff & Lansky, 1987) ºi care pot fi deci considerate scopuri de nivel înalt: generarea autonomã a scopurilor: capacitatea de a-ºi genera scopuri proprii se încadreazã între caracteristicile definitorii ale unui agent autonom. În general, stabilirea de noi scopuri depinde atât de agent cât ºi de starea curentã a mediului; scopuri de realizare (engl. „achievement”) sau menþinere (engl. „maintenance”): un scop de realizare încearcã atingerea unei anumite stãri în cadrul mediului. Un scop de menþinere încearcã pãstrarea sau conservarea unei anumite stãri. De exemplu, un agent cumpãrãtor care încearcã sã gãseascã preþul cel mai mic al unui produs are un scop de realizare, pe când un termostat are un scop de menþinere; scopuri singulare sau multiple: dacã un agent este capabil sã-ºi reprezinte (implicit sau explicit) mai mult de un scop, se spune cã are scopuri multiple. În caz contrar, are un scop singular; angajamentul (engl. „commitment”) faþã de scopuri: dacã un agent îºi abandoneazã un scop numai când acesta este atins, se spune cã agentul este puternic angajat faþã de scop. Dacã agentul îl va abandona ºi în alte circumstanþe, cum ar fi situaþia în care se demonstreazã cã scopul nu poate fi atins sau necesitã un consum prea mare de resurse, se spune cã agentul este slab angajat faþã de scop; utilitatea scopurilor: este determinatã de recompensa îndeplinirii scopurilor; meta-scopuri: unele condiþii ale îndeplinirii unor scopuri (cum ar fi timpul, resursele, etc.) nu pot fi modelate ca scopuri. Un meta-scop este aºadar o constrângere asupra altui scop sau, mai general, asupra stãrilor interne ale unui agent. 1.2.5 Proprietãþile convingerilor agenþilor Convingerile unui agent semnificã reprezentarea internã a mediului sãu de execuþie. Cu alte cuvinte, convingerile înseamnã ceea ce „crede” 16 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
agentul despre mediu, ºi nu neapãrat ceea ce este mediul în realitate. Agentul îºi poate forma un model simplificat al mediului pentru a prelucra mai uºor informaþiile despre acesta. De asemenea, nu toþi agenþii îºi construiesc o reprezentare explicitã a mediului. ªi pentru convingerile unui agent se pot aminti câteva proprietãþi (Logan, 1998): consistenþa: convingerile unui agent sunt consistente dacã pentru orice propoziþie p, acesta nu crede simultan p ºi p; siguranþa: convingerile unui agent sunt sigure dacã reprezentarea convingerilor nu admite grade de certitudine. Pentru orice propoziþie p, agentul crede p sau p. În caz contrar, agentul este nesigur despre p ºi îºi poate calcula nivelurile de încredere cu o anumitã probabilitate. În acest scop se pot utiliza rezultatele logicii fuzzy, a cãrei problematicã va fi prezentatã în capitolul 4; atitudini propoziþionale imbricate: convingerile unui agent conþin atitudini propoziþionale imbricate dacã acesta îºi poate reprezenta atât propriile scopuri ºi convingeri, cât ºi pe cele ale altor agenþi. 1.2.6 Caracteristicile agenþilor în simularea sistemelor complexe Referindu-ne cu precãdere la simularea sistemelor complexe cu ajutorul agenþilor ºi la sistemele multiagent, care vor fi detaliate în capitolul 3, amintim cercetãrile lui John Holland (1995), care considerã agenþii drept sisteme de intrare-ieºire bazate pe reguli ºi ale cãror reguli se pot adapta în funcþie de mediu. El evidenþiazã ºapte caracteristici de bazã ale agenþilor ºi sistemelor multiagent: agregarea (engl. „aggregation”): agenþii grupeazã obiectele asemãnãtoare ºi ignorã diferenþele; astfel apar modele de organizare la nivel colectiv; etichetarea (engl. „tagging”): agenþii trebuie individualizaþi, ei posedã o identitate; neliniaritatea (engl. „nonlinearity”): comportamentul global al sistemului nu poate fi descompus linear în comportamentele agenþilor individuali; fluenþa (engl. „flows”): agenþii sunt interconectaþi, interacþioneazã ºi transferã informaþii; diversitatea (engl. „diversity”): sistemele multi-agent sunt eterogene, agenþii au diferite roluri ºi comportamente; modelele interne (engl. „internal models”): organizeazã regulile care produc comportamentul agenþilor, astfel încât aceºtia pot anticipa influenþele mediului; 17 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
blocurile constitutive (engl. „building blocks”): agenþii sunt alcãtuiþi din componente simple, prin combinarea cãrora pot rezulta agenþi cu roluri ºi comportamente diferite.
1.3 Clasificãri Clasificãrile propuse pentru agenþi sunt la fel de diverse ca ºi definiþiile prezentate anterior, deoarece aceastã teorie se bucurã în ultimii ani de o tot mai accentuatã popularitate. În funcþie de domeniul de activitate, cercetãtorii aleg diferite criterii de clasificare. 1.3.1 Taxonomia generalã a agenþilor Una dintre cele mai generale clasificãri este cea propusã de Kiel (1989). În analogie cu arborele filogenetic din biologie, se urmãresc categoriile semnificative de agenþi care pot fi mai apoi particularizate:
Figura 1.2. Taxonomia generalã a agenþilor
1.3.2 Clasificarea lui Nwana Agenþii pot fi clasificaþi prin prisma unor caracteristici minimale pe care trebuie sã le manifeste. Nwana (1996) a identificat o listã minimalã cu trei elemente: autonomie, învãþare ºi cooperare. Dupã cum am amintit, autonomia se referã la capacitatea de operare fãrã intervenþie umanã, cu scopul de a-ºi îndeplini scopurile proprii ºi pe cele ale utilizatorilor. Cooperarea este motivul pentru care alegem sã utilizãm mai mulþi agenþi în sisteme multiagent, în situaþii în care un singur agent nu ar putea funcþiona sau nu ar putea funcþiona eficient. De asemenea, pentru a fi considerat inteligent, un agent trebuie sã fie capabil sã înveþe din interacþiunile cu mediul exterior ºi are drept consecinþã o creºte a performanþei în decursul 18 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
timpului. Din combinarea acestor atribute, se pot deduce patru tipuri de agenþi: colaborativi, colaborativi instruibili (engl. „collaborative learning agents”), de interfaþã ºi agenþi inteligenþi.
Figura 1.3. Clasificarea lui Nwana
1.3.3 Tipuri de agenþi din perspectiva mediului computaþional Termenii tehnici ºi cei utilizaþi în marketing (agent Internet, de interfaþã, de cãutare, „wizard” etc.) pot provoca uneori confuzie, deoarece se referã la diferite componente ale agenþilor, cum ar fi mediul lor de execuþie sau arhitectura prin care îºi reprezintã cunoºtinþele. Caglayan ºi Harrison (1997) propun o clasificare în funcþie de mediul computaþional, de zona de execuþie, distingând între agenþi desktop, Internet ºi intranet. Agenþii desktop funcþioneazã pe un PC sau pe o staþie de lucru ºi sunt agenþi software care se executã local în sistemul de operare al unui calculator personal, de exemplu Windows, MacOS sau Unix. În funcþie de task-uri, agenþii desktop pot fi sub-categorizaþi în: agenþi sistem de operare: efectueazã sarcini care necesitã de obicei interacþiunea utilizatorului cu sistemul de operare prin interfaþa graficã (GUI). De exemplu, astfel de agenþi pot monitoriza evenimentele de la nivelul sistemului de operare ºi executa diverse task-uri atunci când utilizatorul nu mai lucreazã pentru o perioadã. De asemenea, agenþii pot iniþia sau finaliza sarcini legate de interfaþa graficã în numele utilizatorului; agenþi de aplicaþie: automatizeazã unele sarcini în cadrul unei aplicaþii; agenþi din suite de aplicaþii (engl. „application suite agents”): pot fi componente software sau suite de aplicaþii care faciliteazã interacþiune utilizatorului cu aplicaþiile respective. Un exemplu în 19 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
acest sens este un „wizard” care rãspunde la întrebãrile utilizatorului în funcþie de context. La mijlocul anilor ’90, s-a estimat cã informaþia disponibilã în general se dubleazã la fiecare 20 de luni (Piatetsky-Shapiro & Frawley, 1991). Desigur, ponderea cea mai mare o are reþeaua World Wide Web. Traficul total pe Internet creºte cu 12% pe lunã, ceea ce corespunde cu o dublare a traficului la fiecare 6 luni (Witten, Moffat & Bell, 1994). Agenþii Internet au apãrut din nevoia prelucrãrii cantitãþii de informaþie în continuã creºtere. În cadrul acestui tip de agenþi, se întâlnesc: agenþi de cãutare: motoarele de cãutare obiºnuite dispun de aºanumiþi roboþi, care exploreazã toate link-urile pornind de la o adresã de bazã ºi catalogheazã informaþiile din fiecare paginã vizitatã; agenþi de filtrare a informaþiei: spre deosebire de agenþii de cãutare, care returneazã utilizatorului adrese, aceºtia adunã informaþii bazate pe conþinut, din diferite surse, le filtreazã prin prisma preferinþelor personale ale utilizatorului ºi propun rezultatul sub forma unei pagini Web actualizate sau a unui mesaj de e-mail; agenþi de notificare: anunþã utilizatorul de anumite schimbãri petrecute, cum ar fi actualizarea unei pagini Web, primirea unui email sau reamintirea unor date de importanþã personalã (ziua de naºtere a cuiva, o întâlnire programatã anterior, etc.). Termenul „intranet” se referã la o reþea internã a unei anumite organizaþii, bazatã pe tehnologia Internet. De obicei, reþeaua poate fi accesatã de angajaþii organizaþiei, de clienþi ºi furnizori, pe baza unei parole. Agenþii intranet sunt agenþi software localizaþi pe un server corporativ, care supravegheazã ºi administreazã desfãºurarea afacerilor în numele utilizatorilor. Într-un asemenea mediu, modelul agenþilor se aplicã uºor, deoarece procesul de afaceri poate fi vãzut el însuºi ca o colecþie de agenþi autonomi care interacþioneazã în cadrul unor sarcini interdependente (Wooldridge & Jennings, 1995). Fiecare categorie de agenþi Internet îºi gãseºte aplicabilitatea ºi pe reþelele intranet. Agenþii intranet includ ºi câteva categorii suplimentare: agenþi colaborativi: se integreazã programelor colaborative, gestionând partajarea informaþiilor de cãtre un grup de utilizatori; agenþi de automatizare a proceselor: automatizeazã fluxul de operaþii în aplicaþiile comerciale, cum ar fi sistemele de prelucrarea a cererilor de date de cãtre clienþi; agenþi de baze de date: acþioneazã ca „front end”-uri pentru bazele de date ale corporaþiilor, precum centralizarea în background a unor date, pentru întocmirea unor rapoarte periodice; 20 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
agenþi mobili: aceºti agenþi se transportã efectiv de pe o maºinã client pe diferite servere din reþea pentru a îndeplini unele sarcini în numele utilizatorului (White, 1996). În contrast cu apelurile de proceduri la distanþã („remote procedure call” - RPC), care se limiteazã la transmiterea datelor cãtre o procedurã de pe server, agenþii mobili transportã atât programul cât ºi datele asupra cãrora acþioneazã.
1.3.4 Tipuri de agenþi în simulãri complexe Modelarea bazatã pe agenþi este adecvatã analizei proceselor dinamice complexe deoarece permite o bogatã reprezentare a caracteristicilor ºi acþiunilor agenþilor, care nu ar putea fi suportate de formalismul ºi rigoarea algoritmilor computaþionali. Cele mai studiate sisteme de acest tip sunt cele din domeniile economic, ecologic ºi social, pentru care gãsirea unui model matematic de evoluþie este foarte dificilã. Însã reprezentarea componentelor sistemului prin agenþi autonomi este mai naturalã iar studiul comportamentului de grup poate indica proprietãþi generale importante, mai ales cã în studiul sistemelor complexe neliniare accentul cade pe modul global de evoluþie, într-un anumit interval de timp. În orice modelare, trebuie determinat raportul dintre fidelitate ºi abstractizare. Fidelitatea presupune integrarea în sistem a unui numãr de detalii realiste, iar abstractizarea ajutã la generalizarea rezultatelor experimentale dintr-un sistem ºi pentru alte sisteme. Agenþii ecologici se referã în general la agenþii utilizaþi în simularea vieþii artificiale. O problemã clasicã este cea a evoluþiei numãrului de indivizi într-un mediu prãdãtori – pradã. Acesta este un sistem oscilant, deoarece creºterea numãrului de indivizi dintr-una din cele douã specii va determina (într-un sistem stabil), în mod indirect, scãderea sa ulterioarã. De exemplu, creºterea numãrului de prãdãtori va implica imediat scãderea prãzii, care va determina mai apoi scãderea prãdãtorilor, care nu vor mai avea suficientã hranã. În mod tradiþional, problema se rezolvã cu un sistem de ecuaþii diferenþiale. Simularea bazatã pe agenþi este însã mai elegantã ºi deseori conduce la rezultate mai apropiate de realitate. În acest domeniu prezintã interes ºi urmãrirea evoluþiei speciilor artificiale, cu ajutorul algoritmilor de selecþie geneticã. De obicei se aplicã operaþia de crossing-over (numit ºi „crossover”) simplificat ºi mutaþiile, ignorându-se celelalte fenomene secundare implicate în transmiterea caracteristicilor ereditare din biologie. 21 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Viaþa artificialã s-a distanþat de inteligenþa artificialã, abordând problematica agenþilor în mod diferit. Aici se întâlnesc de cele mai multe ori ansambluri mari de agenþi simpli, prin interacþiunea cãrora, pe baza unor reguli simple, bazate pe informaþii locale, se urmãreºte apariþia unor modele de comportament globale, neplanificate explicit (de exemplu simularea unor colonii de insecte). În inteligenþa artificialã se preferã ansambluri mici de agenþi complecºi, care posedã proprietãþi ºi reguli de comportament complexe, stabilite anterior. Se urmãresc strategiile de dezvoltare, competiþia sau cooperarea dintre agenþi. O particularizare a tipului anterior o reprezintã agenþii sociali. ªtiinþele sociale, în special psihologia socialã, pot contribui la construirea ºi înþelegerea societãþilor artificiale, a „cyber-organizaþiilor” (Castelfranchi, 2001). Contribuþia principalã a inteligenþei artificiale în acest domeniu este legatã în principal de teoria legãturii dintre planurile micro ºi macro o problemã teoreticã fundamentalã, referitoare la posibilitatea apariþiei unor forme inconºtiente, neplanificate de cooperare, organizare ºi inteligenþã, adicã emergenþa ordinii infosociale spontane (Conte, 2001). ªi aici diferã gradul de complexitate al agenþilor implicaþi. Luis Mateus Rocha (1999) introduce noþiune de agenþi semiotici, suficient de simpli pentru ca ansamblul lor sã genereze comportamente emergente neplanificate, dar în acelaºi timp suficient de complecºi pentru a poseda o reprezentare adecvatã a cunoºtinþelor ºi posibilitatea de a partaja aceste cunoºtinþe, în ideea de a simula o „culturã” comunã simbolicã. Un pas înainte în ceea ce priveºte „umanizarea” agenþilor sociali este adãugarea unor caracteristici de agenþi psihologici (Watt, 1996). Utilitatea acestora s-ar dovedi în construirea unor sisteme hibride în care agenþii ºi oamenii sã interacþioneze din punct de vedere social, deoarece în prezent agenþii nu sunt suficient de flexibli pentru a lucra efectiv în societãþi umane. Agenþii psihologici ar trebui sã poatã descifra în mod euristic (gr. „åõñßóêåéí”, a gãsi, a descoperi, „åýñçêá”, am gãsit) stãrile intenþionale umane ºi sã poatã comunica folosind limbajul natural. În lucrãrile unor cercetãtori precum Sloman (2003) sau Wright (1997) se prezintã un agent emoþional, numit MINDER1, construit cu ajutorul mediului de dezvoltare SIM_AGENT. Trãsãturile emoþionale sunt simulate prin aºa-numitele perturbaþii în procesul normal de acþiune, o pierdere parþialã sau totalã a controlului asupra atenþiei. Asupra arhitecturilor de agenþi vom insista în capitolul 2, însã amintim aici arhitectura specificã CogAff. Aceasta este organizatã pe trei niveluri: primul nivel cuprinde mecanisme reactive, fãrã capacitate de reprezentare, evaluare ºi comparare a acþiunilor posibile. Reacþiile 22 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Introducere în teoria agenþilor
concurente sunt rezolvate într-o manierã non-deliberativã, care nu utilizeazã inferenþe; al doilea nivel este compus din mecanisme deliberative, care pot reprezenta ºi analiza descrieri ale cursurilor de acþiune viitoare bazate pe scenarii ipotetice sau pe explicaþii ale fenomenelor observate anterior; al treilea nivel conþine mecanisme de meta-management, care permit auto-observaþia ºi auto-monitorizarea unei game largi de stãri interne, împreunã cu evaluarea ºi categorizarea acestora. La acest nivel se desfãºoarã procesele de învãþare ºi control al acþiunilor viitoare, care pot de asemenea modifica scopurile curente. Simularea bazatã pe agenþi este aplicabilã ºi în studiul diverselor activitãþi economice. Agenþii economici sunt potriviþi pentru studiul analitic al comerþului electronic deoarece aceºtia fac posibilã modelarea interconexiunilor complexe care caracterizeazã pieþele electronice. Structurile cele mai importante în acest domeniu sunt constrângerile legate de standardele tehnologice, legislaþia comerþului electronic ºi relaþiile comerciale deja existente. O tranzacþie economicã implicã ºase stadii (Taylor, 2003): recunoºterea problemei; cãutarea de informaþii; evaluarea alternativelor; negocierea; decizia de achiziþionare; evaluarea ulterioarã. Tehnologia bazatã pe agenþi poate fi aplicatã în unele din aceste stadii (Moukas, Guttman & Maes, 1998), deoarece piaþa Internet-ului diferã de pieþele tradiþionale. Odatã cu dezvoltarea tehnologiei pentru comerþul electronic, vor apãrea ºi noi modele de tranzacþionare care vor conduce la scãderea costurilor prin intermedierea procesului de vânzare-cumpãrare de cãtre agenþi. 1.4 Concluzii În acest capitol au fost menþionate mai întâi câteva definiþii pentru agenþi în general ºi pentru agenþii inteligenþi în particular, deoarece nu existã o definiþie unanim acceptatã asupra acestor noþiuni. Apoi au fost detaliate proprietãþile pe care se bazeazã în principal agenþii, în special caracteristicile mediului de execuþie, al acþiunilor, scopurilor ºi convingenrilor acestora. În continuare, au fost amintite câteva clasificãri ale agenþilor: o taxonomie 23 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
generalã, care încadreazã agenþii în lumea realã, o clasificare bazatã pe combinarea a trei atribute (autonomia, capacitatea de cooperare ºi de învãþare). S-au prezentat câteva tipuri de agenþi din perspectiva mediului computaþional (agenþi desktop, Internet ºi intranet) ºi din perspectiva simulãrilor complexe (agenþi ecologici, sociali ºi economici).
24 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul II
ARHITECTURI DE AGENÞI INTELIGENÞI 2.1 Arhitectura generalã a unui agent inteligent În capitolul precedent am enunþat unele proprietãþi ale agenþilor din punct de vedere calitativ. În cele ce urmeazã ne vom concentra asupra formalizãrii acestor concepte. Mediul de execuþie al unui agent este caracterizat de o mulþime de stãri: S = {s1, s2, ...}. În orice moment, mediul se gãseºte în una din aceste stãri. Capacitatea efectoricã a agentului este reprezentatã de o mulþime de acþiuni: A = {a1, a2, ...}. În aceste ipoteze, un agent poate fi vãzut ca o funcþie: act : S * A ,
(2.1)
care alege o acþiune de executat în concordanþã cu starea mediului. Un agent modelat de o astfel de funcþie este un agent standard (Wooldridge, 2000). Un agent inteligent poate însã decide acþiunea urmãtoare ºi în funcþie de stãrile mediului pe care le-a traversat pânã la un moment dat, de „experienþa” acumultatã. Prin urmare, ºi comportamentul mediului poate fi modelat printr-o funcþie: env : S A ( S ) ,
(2.2)
unde (S ) semnificã mulþimea pãrþilor lui S (mulþimea de mulþimi care pot fi formate cu elementele lui S). Valoarea funcþiei într-o anumitã stare a mediului, adicã rezultatul acþiunii agentului, reprezintã o mulþime de stãri. Dacã aceste mulþimi sunt singleton, adicã au un singur element, ceea ce înseamnã cã acþiunea rezultã într-o singurã stare posibilã a mediului, acesta este determinist ºi comportamentul sãu poate fi anticipat. În caz contrar, mediul este nedeterminist. O secvenþã: a0 a1 an n 1 h : s0 s1 ... a s n ...
(2.3)
unde si reprezintã stãri ale mediului iar aj – acþiuni, reprezintã o istorie posibilã a agentului în mediu dacã ºi numai dacã: 25 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
n N, an act ( s0 , s1 ,..., sn )
n N : n 0, sn env( sn1 , an1 )
(2.4)
Comportamentul caracteristic al unui agent în mediu este mulþimea tuturor istoriilor care satisfac proprietãþile menþionate. Dacã o anumitã proprietate este caracteristicã tuturor acestor istorii, aceasta este o proprietate invariantã a agentului în mediul sãu. De exemplu, sã considerãm un agent care controleazã temperatura dintr-o camerã. Dacã în nici o istorie posibilã temperatura nu depãºeºte 30˚C sau nu scade sub 10˚C, aceste proprietãþi sunt invariante. Mulþimea istoriilor agentului ag în mediul med se noteazã hist(ag, med). Doi agenþi ag1 ºi ag2 au comportamente echivalente în raport cu un mediu, med, dacã ºi numai dacã hist(ag1, med) = hist(ag2, med). Doi agenþi ag1 ºi ag2 au comportamente echivalente dacã ºi numai dacã au comportamente echivalente în raport cu toate mediile: med, hist(ag1, med) = hist(ag2, med). În general, este interesant studiul agenþilor care, prin prisma autonomiei, nu înceteazã niciodatã interacþiunile cu mediul ºi deci au istorii infinite. Luarea deciziilor de cãtre un agent inteligent se bazeazã pe acestã istorie a interacþiunilor cu mediul. Concret, acest lucru este modelat prin introducerea unor stãri interne. Dupã observarea mediului, agentul îºi actualizeazã starea internã iar acþiunea urmãtoare este selectatã în funcþie de aceastã stare, dupã care întregul ciclu se reia. Un agent este un sistem cibernetic care primeºte informaþii din mediu ºi acþioneazã la rândul sãu asupra acestuia. Analiza unei arhitecturi generale presupune studierea separatã a celor douã componente. În cele ce urmeazã, ne vom referi la funcþiile de percepþie ale unui agent, care trebuie sã-ºi observe mediul pentru a lua deciziile de acþiune. În cazul unui agent care acþioneazã în lumea realã, cum ar fi de exemplu un robot, funcþia de percepþie poate fi implementatã hard (o camerã video sau diverºi alþi senzori). Un agent software trebuie sã dispunã de mecanisme de examinare a mediului – direct, prin accesarea unei variabile sau a unei zone de memorie, sau indirect, prin intermediului unor mesaje. Funcþia de percepþie poate fi definitã astfel: see : S P ,
(2.5)
26 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
unde P este o mulþime de elemente de percepþie (engl. „percepts”). În acest caz, funcþia de acþiune poate fi redefinitã astfel: act : P* A .
(2.6)
Procesul de luare a deciziilor de acþiune în funcþie de percepþia mediului poate fi reprezentat ca în figura urmãtoare:
Figura 2.1. Percepþia ºi acþiunea unui agent
Uneori este posibil ca douã stãri distincte ale mediului sã provoace acelaºi element de percepþie. Sã presupunem cã un agent robotic este înzestrat cu o camerã video pe care o utilizeazã pentru a distinge culoarea obiectelor întâlnite. Dacã este permisã încãlzirea unor obiecte, adicã se mãreºte numãrul stãrilor posibile ale mediului, mulþimea elementelor de percepþie posibile ale agentului va rãmâne aceeaºi, deoarece acesta nu are capacitatea de a detecta temperatura. Dacã pentru aceeaºi poziþie a agentului, acelaºi obiect are în starea s1 a mediului temperatura t1 iar în starea s2 – temperatura t2, atunci s1 s2, însã see(s1) = see(s2). Din punctul de vedere al agentului, stãrile s1 ºi s2 sunt indistinctibile. Dacã:
s1 , s 2 S : s1 s 2 , see( s1 ) see( s 2 ) ,
(2.7)
adicã agentul poate distinge toate stãrile mediului, agentul este omniscient. Putem spune cã un agent este omniscient dacã funcþia sa de percepþie este injectivã. La cealaltã extremã, dacã:
s1 , s 2 S , see( s1 ) see( s2 ) ,
(2.8)
27 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
adicã toate stãrile mediului provoacã acelaºi element de percepþie, agentul nu are capacitate de percepþie. El nu poate distinge nici o stare; pentru el toate stãrile mediului sunt identice. 2.2 Arhitecturi logice Abordarea tradiþionalã în ceea ce priveºte construirea sistemelor artificiale inteligente se referã la înzestrarea acestora cu reprezentãri simbolice ale domeniului în care acestea funcþioneazã. Astfel, agenþii pot avea o descriere a mediului la nivel de formule logice, iar rezultatul acþiunilor asupra sa ar corespunde unei deducþii logice (Wooldridge, 2000). Ideea ca un sistem bazat pe agenþi sã-ºi îndeplineascã obiectivele în forma unei demonstraþii de teoreme este foarte atrãgãtoare ºi a fost aplicatã cu succes în ultimii ani. În mod normal, o problemã de o anumitã complexitate este divizatã progesiv în probleme din ce în ce mai simple, care pot fi rezolvate cu uºurinþã (metoda „divide et impera”). În cazul agenþilor care acþioneazã ca demonstratori de teoreme, acest proces nu are loc; o teoremã este o specificaþie executabilã, care este executatã direct pentru a produce un anumit comportament. Agenþii bazaþi pe logicã au stãrile interne organizate sub forma unei mulþimi de formule predicative de ordinul întâi, de forma: Capacitate(floppy, 1.44) Culoare(taxi, galben) Citeºte(carte)
Fie L mulþimea propoziþiilor predicative de ordinul întâi ºi D (L) baza de date formatã din mulþimea mulþimilor de formule L. Starea internã a unui agent bazat pe logicã este un element Ä al mulþimii D. Luarea unei decizii este determinatã de o mulþime de reguli de inferenþã, ñ. Notãm prin Ä iñ ö faptul cã formula ö poate fi derivatã din Ä numai prin regulile de inferenþã ñ. Algoritmul urmãtor prezintã procesul decizional al unui agent bazat pe logicã (Wooldridge, 2000): function act(Ä: D): A begin foreach a A do if Ä iñ Do(a) then return a end-if end-for
28 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi foreach a A do if Ä 0ñ Do(a) then return a end-if end-for return null end
Pe baza regulilor de inferenþã ºi a formulelor predicative, agentul încearcã sã determine acþiunea urmãtoare a pe care trebuie sã o efectueze: Do(a). În prima buclã for, agentul încearcã sã deriveze o acþiune posibilã din starea internã Ä. Dacã acest lucru este posibil, funcþia va returna acþiunea respectivã ºi agentul o va selecta pentru execuþie. Dacã nu reuºeºte sã gãseascã aºa ceva, agentul cautã o acþiune consistentã cu baza de cunoºtinþe ºi cu regulile de inferenþã, adicã o acþiune care nu este interzisã în mod explicit, astfel încât non(Do(a)) sã nu poatã fi derivatã. În final, dacã nici o acþiune corectã nu poate fi gãsitã, se returneazã acþiunea nulã. 2.3 Arhitecturi reactive (reflexe) Arhitecturile bazate pe logicã, în care luarea deciziilor este un proces de deducþie, sunt arhitecturi elegante ºi clare deoarece comportamentul agenþilor este definit explicit. Însã complexitatea inerentã acestora este un dezavantaj evident, mai ales în cazul mediilor complexe, dinamice. Apar de asemenea ºi probleme de extensibilitate ºi robusteþe iar atingerea scopurilor multiple aflate în competiþie este dificilã. O abordare diferitã este adusã de arhitecturile reactive sau reflexe. În ceea ce priveºte terminologia, în literatura românã de specialitate se întâlneºte denumirea de „agent reflex” pentru traducerea sintagmei „reactive agent” din literatura anglo-saxonã. Deºi sensurile celor douã cuvinte sunt foarte apropiate, am preferat folosirea termenului „reactiv”, deoarece aceeaºi noþiune se referã ºi la proprietatea de „reactivitate” a unui agent, pentru care expresia „reflexivitate” ar fi oarecum improprie. Spre sfârºitul anilor ’80, cercetãtorii au început investigarea unor alternative pentru paradigma simbolicã clasicã a inteligenþei artificiale. Ideea centralã în aceste abordãri este faptul cã acþiunile raþionale inteligente sunt în strânsã legãturã cu mediul în care acestea au loc. Inteligenþa este astfel un produs al influenþelor reciproce dintre agent ºi mediu. Comportamentul inteligent emerge din interacþiunile unor comportamente mai simple (Wooldridge, 2000). 29 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Una dintre cele mai cunoscute arhitecturi reactive este aºa-numita arhitecturã de subsumare (engl. „subsumption architecture”), care îi aparþine lui Rodney Brooks (1986; 1991a; 1991b). Existã douã caracteristici definitorii ale acestei arhitecturi. În primul rând, agentul alege un comportament adecvat dintr-o mulþime de comportamente adecvate îndeplinirii sarcinii. Fiecare comportament poate fi gândit ca o funcþie de acþiune individualã, care preia intrarea perceptivã ºi genereazã o acþiune. În al doilea rând, se considerã cã mai multe comportamente se pot activa (sau „aprinde”) simultan. De aceea, trebuie sã existe un mecanism de selecþie a unei acþiuni unice la un moment dat. Brooks a propus existenþa unei ierarhii, comportamentele fiind aºezate pe diferite niveluri de competenþã. Nivelurile inferioare din ierarhie pot inhiba nivelurile superioare – cu cât un nivel este mai scãzut, cu atât are o prioritate mai mare. Se poate spune cã nivelurile superioare reprezintã comportamente mai abstracte. În arhitecturile reactive existã o strânsã legãturã între funcþia perceptivã ºi cea acþionalã – intrarea senzorialã nu este transformatã sau prelucratã foarte mult ºi nici nu se încearcã transformarea percepþiilor în reprezentãri simbolice. Funcþia de decizie act se realizeazã printr-o mulþime de comportamente posibile împreunã cu o relaþie de inhibiþie între acestea. Un comportament este o relaþie (c, a), unde c P este o mulþime de percepþii numite „condiþii”, iar a A este o acþiune. Un comportament (c, a) se va activa când mediul este în starea s S dacã ºi numai dacã funcþia de percepþie, see( s ) c . Fie Beh mulþimea tuturor astfel de reguli (engl. „behaviour”, comportament):
Beh {(c, a ) c P a A} .
(2.12)
Cu mulþimea de reguli de comportament ale agentului R Beh este asociatã o relaþie de inhibiþie binarã definitã pe mulþimea de comportamente: R R , tranzitivã, nereflexivã ºi antisimetricã: b1 , b2 , b3 R , dacã b1 b2 ºi b2 b3, atunci b1 b3 (2.13)
@ b ∈ R, astfel încât b b
b1 , b2 R , dacã b1 b2 ºi b2 b1, atunci b1 = b2
(2.14) (2.15)
30 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
Dacã pentru douã comportamente b1 ºi b2 avem (b1 , b2 ) , se spune cã „b1 inhibã pe b2” sau „b1 are prioritate faþã de b2” ºi se scrie b1 b2 . Algoritmul de alegere a funcþiei de acþiune este urmãtorul (Wooldridge, 2000): function act(p: P): A var fired: (R) var selected: A begin
fired = { (c,a) | (c,a) R ∧ foreach (c,a) fired do if @(c’,a’) fired
end-if end-for return null end
p c }
such that (c’,a’) (c,a) then return a
Se calculeazã mai întâi toate comportamentele care se pot activa, ºi apoi pentru fiecare comportament se determinã dacã existã un comportament cu prioritate mai mare. Dacã un astfel de comportament nu existã, se returneazã acþiunea a corespunzãtoare comportamentului. Dacã nici un comportament nu se activeazã, se returneazã o acþiune nulã (în momentul urmãtor agentul nu va efectua nici o acþiune). Complexitatea algoritmului este în cazul cel mai defavorabil O(n 2 ) , unde n este maximum dintre numãrul de comportamente ºi numãrul de elemente de percepþie. Arhitectura lui Brooks se adresa în principal agenþilor robotici. În acest caz, nivelurile de competenþã pot avea semnificaþiile din exemplul urmãtor (Bergmann, 1998): Nivelul 0: evitarea coliziunilor cu obiecte statice sau în miºcare; Nivelul 1: miºcarea aleatorie cu evitarea coliziunilor; Nivelul 2: explorarea împrejurimilor ºi marcarea locurilor inaccesibile; Nivelul 3: alcãtuirea unei hãrþi a mediului ºi stabilirea rutelor dintre diverse locaþii; Nivelul 4: recunoaºterea schimbãrilor din mediu; Nivelul 5: recunoaºterea obiectelor ºi sarcinilor aferente acestora; 31 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Nivelul 6: formularea ºi executarea planurilor pentru schimbarea mediului într-o manierã semnificativã; Nivelul 7: conceperea unor modalitãþi de control al obiectelor din mediu ºi reconsiderarea în consecinþã a planurilor existente. Comportamentele amintite pot fi dispuse în ierarhia urmãtoare: Nivelul 0 Nivelul 1 Nivelul 2 Nivelul 3 Nivelul 4 Nivelul 5 Nivelul 6 Nivelul 7
(2.16)
Avantajele principale ale acestei arhitecturi se referã la simplitate, economie în ceea ce priveºte resursele ºi robusteþe în acþiune. Ea are drept model lumea realã, evitând în acest mod pãstrarea unui model intern al mediului. Dificultãþile care þin de dinamica mediului sunt evitate prin înlãturarea oricãror încercãri de predicþie, mai ales cã modelul presupune existenþa unor elemente de percepþie eronate (de exemplu, senzori care se defecteazã) (Laird et al., 1994). Însã existã ºi unele probleme nerezolvate legate de arhitecturile pur reactive. De vreme ce agenþii nu au un model al mediului, ei trebuie sã aibã suficiente date locale pentru selectarea unei acþiuni acceptabile. De asemenea, este dificilã înzestrarea unor agenþi reactivi cu abilitatea de a învãþa ºi de a-ºi îmbunãtãþi performanþele în timp (Wooldridge, 2000). De asemenea, planificarea acþiunilor pentru îndeplinirea unor scopuri complexe este problematicã. Unii cercetãtori au încercat unificarea arhitecturilor raþionalã ºi reactivã (Kowalski & Sadri, 1997). În acest caz, raþionalitatea este dobânditã prin utilizarea definiþiilor pentru reducerea scopurilor la o mulþime de scopuri mai simple. Reactivitatea intervine prin folosirea constrângerilor de integritate pentru simularea regulilor situaþie-acþiune ºi prin formularea procedurilor de demonstrare a teoremelor în aºa fel încât sã poatã fi întrerupte pentru efectuarea de observaþii ºi executarea de acþiuni. 2.4 Arhitecturi BDI În acest tip de arhitecturã, propus de Rao ºi Georgeff (1991), starea agentului este definitã de trei caracteristici: convingeri (engl. „beliefs”), dorinþe (engl. „desires”) ºi intenþii (engl. „intentions”). Modelul încearcã o adaptare în domeniul agenþilor a filosofiei raþionamentului practic, care presupune mai întâi stabilirea scopului, printr-un proces deliberativ, ºi apoi evidenþierea mijloacelor disponibile pentru atingerea acelui scop. Convingerile reprezintã cunoºtinþele pe care le are agentul despre mediu. Acestea îi pot veni agentului direct prin funcþia perceptivã sau 32 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
indirect prin prelucrarea informaþiilor rezultate în urma execuþiei unor acþiuni. Dorinþele corespund scopurilor agentului sau, altfel spus, task-urilor pe care trebuie sã le îndeplineascã acesta. Task-urile îi pot fi atribuite de cãtre utilizator, de cãtre un alt agent sau pot fi generate intern. În general, dorinþele se doresc a fi consistente, adicã realizarea unei dorinþe sã nu împiedice îndeplinirea alteia. Intenþiile pot fi vãzute ca o mulþime de planuri care, executate de obicei într-o ordine bine stabilitã, conduc la îndeplinirea unui scop. Sã considerãm de exemplu un agent care, acþionând în numele unui utilizator uman, doreºte sã gãseascã unele informaþii în diverse baze de date de pe Internet. Sã considerãm cã unele baze de date sunt mai mari ºi mai complete, însã pot fi accesate doar contra cost, iar altele, mai numeroase dar cu mai puþine informaþii, pot fi consultate gratis. Agentul trebuie sã determine opþiunile disponibile, în funcþie de posibilitãþile de acþiune. Dacã utilizatorul nu are destui bani, bazele de date complete nu pot fi utilizate. Rãmâne opþiunea bazelor de date gratuite, care necesitã un efort mai mare de cãutare, deoarece probabilitatea gãsirii informaþiilor este mai redusã. Alegerea acestei alternative semnificã intenþia agentului. În acelaºi timp, trebuie sã existe convingerea cã scopul poate fi atins. Agentul trebuie sã considere cã existã ºanse pentru descoperirea datelor. Dacã probabilitatea ar fi evaluatã la 0, adicã dacã agentul ar avea convingerea cã realizarea scopului în acest mod este imposibilã, urmãrirea în continuare a intenþiei curente ar fi iraþionalã. În continuare, dacã agentul are motive sã-ºi menþinã o anumitã intenþie, trebuie sã facã un efort acceptabil pentru împlinirea acesteia. Dacã o direcþie de acþiune eºueazã, este necesarã reluarea acesteia sau selectarea unei alte direcþii. De exemplu, dacã o bazã de date este inaccesibilã momentan (este închis serverul pe care se aflã ea), agentul poate încerca din nou, mai târziu. Dacã situaþia se repetã, agentul poate trage concluzia cã aceste încercãri sunt inutile, cã este o pistã greºitã ºi în consecinþã va elimina din lista sa baza de date respectivã. El va consulta în continuare celelalte baze de date rãmase. Este important ca, în timp ce se urmãreºte o anumitã intenþie, sã nu se încerce acþiuni care intrã în conflict cu aceasta. În cazul considerat, agentul trebuie sã se concentreze asupra regãsirii datelor utile. Dacã s-ar încerca simultan ºi descãrcarea unor filme sau piese muzicale, acest lucru ar însemna o irosire a resurselor, ceea ce ar determina un timp de rãspuns mult mai mare. 33 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Intenþiile trebuie sã fie persistente. Dacã agentul ar renunþa dupã primul eºec, nu ºi-ar mai îndeplini niciodatã sarcinile complexe. El trebuie sã facã toate eforturile pentru gãsirea posibilitãþilor încununate de succes. Cu toate acestea, dacã devine clar cã scopul nu poate fi atins, agentul trebuie sã poatã renunþa la intenþie. De exemplu, dacã dupã consultarea tuturor bazelor de date, informaþiile nu au fost gãsite, este logic ca agentul sã îl anunþe pe utilizator despre acest lucru, deºi teoretic ar fi posibilã o actualizare ulterioarã a unei baze de date, în care sã fie adãugate informaþiile dorite. De asemenea, dacã dispare motivul care stã la baza unei intenþii, aceasta trebuie abandonatã. Dacã utilizatorul nu mai are nevoie de datele cerute, nu mai are rost ca agentul sã continue cãutarea. Sintetizând, un agent BDI efectueazã urmãtoarele funcþii: Generarea unui liste de opþiuni, mijloacele alternative pentru satisfacerea intenþiilor curente. Noile opþiuni sunt generate pe baza convingerilor ºi dorinþelor agentului; Selectarea unei submulþimi din aceste opþiuni, pe baza convingerilor, dorinþelor ºi intenþiilor curente. Noile intenþii, adicã opþiunile selectate pentru aplicare, sunt adãugate structurii de intenþii; Structura de intenþii are o organizare ierarhicã, pe diferite niveluri de abstracþiune. Agentul BDI îºi rafineazã treptat intenþiile, ajungând la acþiuni primitive care pot fi executate imediat. Dacã existã o asemenea acþiune atomicã în structura de intenþii, ea este executatã; Dacã agentul ºi-a îndeplinit intenþia sau a decis cã intenþia nu poate fi îndeplinitã, aceasta este abandonatã. Se poate spune cã agentul renunþã la o intenþie dacã aceasta nu mai este justificabilã (Cohen & Levesque, 1990); Convingerile agentului sunt actualizate ºi algoritmul se reia. O problemã importantã este planificarea acþiunilor, adicã stabilirea structurii planurilor ºi a ordinii în care acestea pot fi aplicate pentru structurarea unei intenþii. De obicei, agenþii beneficiazã de o bibliotecã predefinitã de planuri, care descrie precondiþiile (adicã starea agentului ºi a mediului în care planul este aplicabil), o serie de acþiuni punctuale (planul propriu-zis) ºi postcondiþiile (adicã modificãrile rezultate în urma efectuãrii planului). Sunt interesante sistemele în care agenþii îºi pot defini propriile planuri, pe baza experienþei cãpãtate în decursul execuþiei. O metodã foarte des utilizatã în planificare este analiza mijloacescopuri. Ideea care stã la baza sa este detectarea diferenþei dintre starea curentã ºi starea scop ºi gãsirea unei operaþii care sã micºoreze aceastã diferenþã. Însã dacã operaþia respectivã nu poate fi aplicatã în starea curentã, 34 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
trebuie gãsitã o nouã stare, potrivitã acestui subscop. Rezultã o subproblemã care trebuie la rândul ei rezolvatã ºi metoda se aplicã recursiv. În acest scop se utilizeazã o tabelã de diferenþe, în care se precizeazã ce operaþie este aplicabilã pentru fiecare stare a problemei. Deseori, agenþii trebuie sã opereze într-un mediu dinamic în care scopuri ce pãreau la un moment dat realizabile se dovedesc imposibil de atins. De aceea, pentru agenþii BDI este important echilibrul dintre situaþiile în care ei trebuie sã-ºi menþinã ºi sã-ºi urmãreascã intenþiile curente, chiar în urma unui eºec, ºi situaþiile în care trebuie sã-ºi reanalizeze ºi eventual sã-ºi abandoneze intenþiile. Un agent care nu se opreºte niciodatã sã-ºi reconsidere acþiunile va continua execuþia chiar ºi atunci când este clar cã încearcã imposibilul. Un agent care încearcã în permanenþã sã-ºi evalueze scopurile ºi intenþiile nu va avea suficient timp sã acþioneze efectiv pentru îndeplinirea lor. Este evident cã în proiectarea unui agent BDI trebuie sã se realizeze un compromis între aceste douã tendinþe. Kinny ºi Georgeff (1991) au efectuat un numãr de experimente întrun cadru de agenþi BDI numit dMARS. Ei au analizat modul în care se comportã agenþii îndrãzneþi (engl. „bold”) ºi cei prudenþi (engl. „cautious”) în medii cu rata schimbãrilor ã variabilã. S-a constatat cã atunci când rata ã era micã (mediul nu se schimba prea repede), agenþii îndrãzneþi au avut evoluþii superioare, deoarece nu pierdeau timpul reanalizându-ºi mereu obiectivele. Când ã era mare (mediul se schimba des), agenþii prudenþi se comportau mai bine, pentru cã se puteau adapta modificãrilor frecvente. Concluzia este cã în mediile statice sunt mai potriviþi agenþii cu un comportament proactiv, orientat spre scop, în timp ce mediile dinamice necesitã un comportament reactiv, care sã modifice permanent intenþiile curente în funcþie de situaþie. Pentru a formaliza componentele unei arhitecturi BDI, fie Bel mulþimea tuturor convingerilor, Des mulþimea tuturor dorinþelor iar Int mulþimea tuturor intenþiilor posibile. În general, aceste mulþimi sunt compuse din formule logice de ordinul întâi. Starea unui agent BDI, la un moment dat, este o tripletã (B, D, I ), unde B Bel , D Des ºi I Int . În figura 2.6 se prezintã schematic modul de selecþie a unei acþiuni (Wooldridge, 2000). Funcþia de revizuire a convingerilor (belrev) are rolul de a actualiza mulþimea convingerilor pe baza elementelor de percepþie ºi convingerilor curente: belrev :( Bel ) P ( Bel ) .
(2.18)
35 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Funcþia de generare a opþiunilor (optgen) are rolul de a decide cum vor fi atinse obiectivele: optgen :( Bel ) ( Int ) ( Des ) .
(2.19)
Aceastã funcþie trebuie sã recunoascã oportunitãþile apãrute în mediul de execuþie ºi sã ofere agentului noi modalitãþi de a-ºi îndeplini intenþiile sau posibilitatea de a atinge obiective care nu puteau fi atinse anterior.
Figura 2.6. Diagrama unei arhitecturi BDI
Procesul deliberativ al agentului este modelat de o funcþie filtru (filter), care actualizeazã mulþimea intenþiilor pe baza intenþiilor prealabile ºi a convingerilor ºi dorinþelor curente: filter :( Bel ) ( Des ) ( Int ) ( Int ) .
(2.20)
Aceastã funcþie trebuie sã asigure: abandonarea intenþiilor irealizabile sau pentru care costul de realizare este mai mare decât beneficiul asociat cu îndeplinirea lor; menþinerea intenþiilor nerealizate încã, dar despre care se presupune cã pot aduce un câºtig; 36
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
adoptarea de noi intenþii, pentru realizarea intenþiilor existente sau pentru exploatarea noilor circumstanþe favorabile apãrute. Filtrul nu poate introduce de la sine noi intenþii. Acestea sunt ori intenþii anterioare, ori opþiuni nou adoptate: B ( Bel ), D ( Des ), I ( Int ), filter ( B, D, I ) I D .(2.21)
Funcþia de execuþie (exec) returneazã o intenþie atomicã executabilã: exec :( Int ) A .
(2.22)
Funcþia de selecþie a acþiunii urmãtoare este de forma: act : P A
(2.23)
ºi rezultã pe baza algoritmul urmãtor (Wooldridge, 2000): function act(p: P): A begin B = belrev(B, p) D = optgen(D, I) I = filter(B, D, I) return exec(I) end
În practicã, reprezentarea intenþiilor printr-o mulþime nestructuratã este prea simplistã. De aceea, se poate asocia fiecãrei intenþii o anumitã prioritate, care sã indice importanþa sa relativã. De asemenea, intenþiile pot fi implementate sub forma unei stive. Când este adoptatã o intenþie, aceasta este introdusã în stivã. Când este îndeplinitã, este extrasã din stivã. Intenþiile mai concrete se vor gãsi mai aproape de vârful stivei, iar cele mai abstracte în partea inferioarã a acesteia. Arhitectura BDI este un model intuitiv de simbolizare a procesului de decizie, oferind ºi o descompunere funcþionalã clarã a problemei pe care trebuie sã o rezolve agentul. Modelul este interesant ºi datoritã efortului susþinut de formalizare a sa. Astfel, Rao ºi Georgeff (1992) au dezvoltat o serie de logici BDI, pentru definirea unor proprietãþi axiomatice ale agenþilor raþionali.
37 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
2.5 Arhitecturi stratificate Pe parcursul lucrãrii au fost menþionate comportamentele de tip reactiv ºi proactiv de care trebuie sã dispunã un agent inteligent. Acestea pot fi asigurate prin descompunerea tipurilor amintite în subsisteme separate, care sã propunã acþiuni specifice. Ideea care stã la baza acestui tip de arhitecturã este existenþa mai multor straturi care interacþioneazã, fiecare cu un anumit caracter. În funcþie de modul în care se realizeazã controlul ºi transmiterea informaþiilor, putem deosebi douã mari categorii de arhitecturi stratificate: Stratificare orizontalã: Nivelurile sunt conectate direct cu senzorii ºi efectorii ºi acþioneazã în paralel. Fiecare nivel acþioneazã ca un agent, prezentând propriile sugestii în ceea ce priveºte urmãtoarea acþiune care trebuie executatã; Stratificare verticalã: Senzorii ºi efectorii sunt administraþi de cel mult un nivel fiecare. Avantajul principal al stratificãrii orizontale este simplitatea conceptualã: dacã un agent trebuie sã manifeste n tipuri de comportament, atunci vor fi implementate n straturi. Totuºi, deoarece straturile concureazã pentru generarea de sugestii privind acþiunile, trebuie asiguratã coerenþa comportamentalã pe ansamblu (Wooldridge, 2000). De regulã, se introduce o funcþie de mediere, care decide ce strat deþine controlul la un moment dat. Însã proiectarea acestei funcþii poate fi foarte dificilã – pentru n straturi care pot propune fiecare m acþiuni, funcþia trebuie sã fie capabilã sã trateze m n variante posibile.
Figura 2.7. Stratificare orizontalã
Aceste probleme sunt atenuate într-o stratificare verticalã. Acest tip de arhitecturã poate fi divizat în douã subcategorii, din punctul de vedere al modului de control (Wooldridge, 2000): Control cu trecere simplã (engl. „one pass control”): Controlul parcurge secvenþial nivelurile, pânã când ultimul nivel genereazã o acþiune; Control cu trecere dublã (engl. „two pass control”): Primul pas constã în trimiterea informaþiilor spre nivelurile superioare, iar al 38 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Arhitecturi de agenþi inteligenþi
doilea pas reprezintã trimiterea deciziei de acþiune înapoi spre straturile inferioare. Acest tip de control se aseamãnã cu procesul luãrii deciziilor într-o organizaþie cu o ierarhie bine definitã. În ambele cazuri, complexitatea interacþiunilor dintre straturi este mai redusã în comparaþie cu arhitecturile stratificate orizontal. Dacã fiecare strat poate sugera m acþiuni ºi existã n-1 interfeþe între cele n niveluri, numãrul maxim posibil de interacþiuni este m 2 (n 1) . Dezavantajul acestei abordãri constã în reducerea flexibilitãþii – informaþiile ºi deciziile trebuie sã parcurgã toate straturile. O eroare la un anumit nivel se va propaga, afectând performanþele agentului.
Figura 2.8. Stratificare verticalã
2.6 Concluzii În acest capitol au fost prezentate câteva arhitecturi de agenþi inteligenþi. Mai întâi au fost formalizate unele noþiuni menþionate în primul capitol: mediu, acþiune, percepþie, comportament. Au fost caracterizate arhitecturile logice, simbolice, pentru care mediul ºi stãrile agenþilor sunt mulþimi de formule logice, în special predicate de ordinul întâi. S-a demonstrat cã acest tip de arhitecturã aduce claritate în formularea comportamentului, dar are ca dezavantaj complexitatea reprezentãrilor. Arhitecturile reactive sunt mai apropiate de modelele lumii reale deoarece specificã mai multe niveluri ierarhizate de comportament, din care se va alege cel mai potrivit condiþiilor curente din mediu. Arhitecturile BDI (convingeri-dorinþe-intenþii) definesc agenþii raþionali, care îºi stabilesc modul de acþiune pe baza unui raþionament practic. În final, au fost amintite arhitecturile stratificate, care au la bazã ideea separãrii comportamentelor 39 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
reactive de cele proactive, rezultând mai multe straturi care interacþioneazã pentru determinarea unei acþiuni.
40 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul III
SISTEME MULTIAGENT 3.1 Utilitatea sistemelor multiagent Deºi existã situaþii în care este preferabilã folosirea unui singur agent pentru realizarea unui anumit scop (când problema presupune un punct de vedere global sau o abordare distribuitã este dificilã), în unele cazuri acest lucru este practic imposibil. De exemplu, sã presupunem modelarea interacþiunilor dintre persoane sau organizaþii cu obiective diferite ºi posibil conflictuale. Ar fi inacceptabilã ideea unui singur agent care sã deþinã toate informaþiile necesare. De aceea, se impune implicarea mai multor agenþi, care sã reprezinte individual interesele ºi prioritãþile fiecãrei pãrþi. Într-un sistem multiagent, se considerã de obicei cã fiecare agent are informaþii incomplete despre problemã ºi mediu. Orice agent considerat individual are o capacitate limitatã de calcul, în general insuficientã pentru a rezolva singur problema. Sistemele multiagent îºi pot gãsi utilitatea ºi în domeniul rezolvãrii distribuite a problemelor. Dacã domeniul unei probleme poate fi divizat în mai multe subprobleme de complexitate mai redusã, acestea pot fi uºor atribuite unor agenþi care sã le rezolve separat, în paralel, pentru ca apoi rezultatele parþiale sã fie combinate pentru a forma soluþia finalã. În cazul când problema are o naturã distribuitã, aceastã abordare este mai comodã ºi strategia de rezolvare este mai uºor de înþeles ºi implementat. Din punctul de vedere al programatorului, pentru subproblemele rezultate pot fi propuºi algoritmi eficienþi, în timp ce un algoritm centralizat ar fi prea complex sau chiar ar putea sã nu existe. Un alt avantaj al sistemelor multiagent este robusteþea. Dacã informaþiile sau sarcinile de control sunt partajate de mai mulþi agenþi, cãderea unora nu conduce la cãderea sistemului. Aceastã proprietate mai este numitã degradare graþioasã (engl. „graceful degradation”) ºi este importantã mai ales în cazurile în care sistemul trebuie sã-ºi continue funcþionarea în condiþii adverse, despre care se ºtie cã îi vor afecta performanþele. De asemenea, sistemele multiagent se bucurã de scalabilitate. Fiind modulare prin definiþie, noi agenþi pot fi adãugaþi pentru creºterea randamentului. Acest lucru este în general mai uºor de realizat decât adãugarea de noi funcþii la un program monolitic. 41 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Nu în ultimul rând, este interesantã aprecierea lui Gerhard Weiß, care considerã cã „inteligenþa este profund ºi inevitabil legatã de interacþiune” (Weiß, 1996). Ideea se bazeazã pe o teorie socio-biologicã în care se presupune cã inteligenþa a apãrut datoritã nevoii de dezvoltare a interacþiunilor sociale. În consecinþã, sistemele multiagent ar deþine în mod implicit potenþialul unui comportament inteligent, pe baza interacþiunilor dintre componente. Deºi mulþi programatori considerã rezolvarea centralizatã mai intuitivã, simplitatea abordãrii distribuite prezintã o mare atracþie ºi explicã dezvoltarea calculului distribuit din ultimii ani. 3.2 Caracteristici ale sistemelor multiagent ªi pentru sistemele multiagent au fost propuse numeroase taxonomii. Keith Decker (1987) considerã importante patru dimensiuni ale inteligenþei artificiale distribuite: granularitatea agenþilor: poate fi mare sau finã; eterogenitatea cunoºtinþelor agenþilor: cunoºtinþele din sistem pot fi redundante, atunci când mai mulþi agenþi deþin aceleaºi informaþii sau specializate, dacã agenþii deþin cunoºtinþe distincte. Redundanþa informaþiilor asigurã, dupã cum am menþionat, robusteþea sistemului; metodele de control distribuit: agenþii pot coopera sau pot fi în competiþie. Organizarea lor poate fi ierarhicã sau orice formã de control centralizat poate fi evitatã, agenþii intrând în componenþa unor echipe. De asemenea, rolul jucat de agenþi (adicã funcþia îndeplinitã, mulþimea atribuþiilor) poate fi constant, static, sau aceºtia îºi pot schimba rolurile în funcþie de necesitãþi; posibilitãþile de comunicare: comunicarea se poate realiza prin intermediul mesajelor transmise direct de la un agent la altul sau prin intermediul unei memorii comune (sisteme blackboard). De asemenea, comunicaþiile pot fi categorizate dupã nivelul de abstracþiune al conþinutului: de nivel înalt sau scãzut. Pe baza granularitãþii ºi a comunicãrii, sistemele multiagent au granularitate mare ºi comunicaþii de nivel înalt. Din celelalte puncte de vedere, caracteristicile lor pot varia foarte mult. Sistemele multiagent mai pot fi clasificate din perspectiva realizãrii de aplicaþii (Van Dyke Parunak, 1996). Sunt importante aici: funcþia sistemului; arhitectura agenþilor: de exemplu gradul de eterogenitate sau modalitatea de selecþie a acþiunilor (reactivã sau deliberativã); 42 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
arhitectura sistemului: infrastructura de comunicaþii, protocoalele, implicarea oamenilor. Taxonomia lui Stone (Stone & Veloso, 1997) se bazeazã pe combinarea a douã caracteristici esenþiale ale sistemelor multiagent: eterogenitatea ºi comunicarea, evidenþiind astfel: sisteme omogene necomunicative; sisteme eterogene necomunicative; sisteme comunicative. 3.2.1 Sistemele multiagent omogene necomunicative Acesta este cel mai simplu scenariu, în care toþi agenþii au aceeaºi structurã internã, inclusiv scopurile, cunoºtinþele despre domeniu, acþiunile posibile ºi procedurile de selecþie a acþiunilor. Singurele diferenþe sunt percepþiile ºi acþiunile efective pe care le îndeplinesc, deoarece agenþii sunt situaþi diferit în mediul de execuþie. Se presupune cã aceºtia nu comunicã direct. Din aceastã cauzã, proiectanþii sistemului trebuie sã decidã în ce mod poate un agent sã îi influenþeze pe ceilalþi. O primã posibilitate este influenþa activã – un agent provoacã un element de percepþie pentru un altul sau îi modificã starea prin acþiune directã, de exemplu prin împingere. În mod indirect, agenþii se pot influenþa prin douã tipuri de stigmergie (Holland, 1996). Stigmergia activã are loc atunci când un agent modificã mediul astfel încât sã influenþeze intrãrile senzoriale ale altuia, de exemplu un agent robotic poate lãsa în urmã niºte semne pe care alþii sã le detecteze. Acest comportament este deseori întâlnit în lumea insectelor; ele lasã urme de substanþe chimice care sunt detectate ºi interpretate de celelalte insecte din colonie. Stigmergia pasivã presupune modificarea mediului astfel încât sã se schimbe efectele acþiunilor altui agent. De exemplu, dacã un agent închide apa într-o clãdire, el va afecta rezultatul acþiunii unui alt agent, care deschide robinetul în bucãtãria unei locuinþe (Stone & Veloso, 1997). Holland (1996) ilustreazã conceptul de stigmergie pasivã prin modelarea comportamentului unei colonii de furnici, confruntatã cu existenþa unui mare numãr de furnici moarte în jurul muºuroiului. O furnicã din colonie ridicã o furnicã moartã, o carã o distanþã scurtã sau pânã gãseºte o altã furnicã moartã ºi îi dã drumul. Deºi comportamentul pare aleatoriu, dupã câteva ore, furnicile moarte sunt adunate într-un numãr mic de grãmezi. În timp, se formeazã din ce în ce mai puþine grãmezi, pânã când toate furnicile moarte sunt depozitate într-o singurã grãmadã. Furnicile au 43 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
un comportament omogen ºi, deºi nu existã nici o dovadã cã ar comunica explicit, ele reuºesc sã coopereze pentru atingerea obiectivului. 3.2.2 Sistemele multiagent eterogene necomunicative Existenþa agenþilor eterogeni într-un sistem implicã o putere mai mare de acþiune, dar ºi o complexitate mai ridicatã. Eterogenitatea se poate manifesta prin diferenþe în ceea ce priveºte scopurile, cunoºtinþele sau tipurile de acþiuni. În aceste sisteme, este important de analizat dacã agenþii sunt cooperanþi sau concurenþi. Chiar dacã au scopuri diferite, agenþii se pot ajuta reciproc pentru obþinerea lor. Pe de altã parte, agenþii îºi pot urma numai propriile obiective. Aceastã stare poate fi dusã la extrem într-o situaþie cu câºtig de sumã zero, în care un agent câºtigã numai dacã alt agent pierde. Unii cercetãtori considerã cã agenþii „egoiºti” sunt mai eficienþi ºi mai apropiaþi de modelul biologic (Korf, 1992). Dacã aceºtia coopereazã, este pentru cã au interesul direct sã o facã. Alþii, dimpotrivã, încearcã sã demonstreze existenþa altruismului natural, cu forma sa cea mai înaltã, cooperarea din societãþile umane (Ridley, 1997). O altã chestiune legatã de acest scenariu multiagent este modul în care agenþii îºi reprezintã scopurile, cunoºtinþele sau acþiunile celorlalþi. De vreme ce nu existã comunicare, acest lucru este posibil numai pe baza observaþiilor. Agenþii trebuie sã deducã planurile altora pe baza comportamentului exterior al acestora. Dacã un grup de agenþi au scopuri similare, ei pot fi organizaþi ca o echipã, în care fiecare dintre ei va îndeplini un anumit rol. Aceste roluri pot fi statice, în cazul agenþilor specializaþi într-un domeniu, sau dinamice, în cazul în care un agent poate îndeplini funcþii diferite. Avantajul schimbãrii rolurilor este cã asigurã sistemului o mai mare flexibilitate. 3.2.3 Sistemele multiagent comunicative Adevãrata putere a sistemelor multiagent este relevatã de capacitatea de comunicare între agenþi. Comunicarea poate fi vãzutã ca parte a interacþiunii cu mediul însã, datoritã importanþei acestei caracteristici, de cele mai multe ori aceasta se analizeazã separat. În cadrul acestui scenariu, accentul este mutat pe comunicare ºi în consecinþã natura agenþilor poate fi atât omogenã cât ºi eterogenã. Modalitãþile în care se realizeazã practic comunicarea sunt numeroase: informaþiile pot fi trimise într-o manierã unu-la-unu între doi agenþi, difuzate tuturor agenþilor (broadcast) sau plasate într-o zonã de memorie comunã (blackboard). 44 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
În toate sistemele multiagent ºi în special în cele cu agenþi construiþi de proiectanþi diferiþi, este foarte important sã existe un protocol ºi un limbaj de comunicare comun, pentru ca participanþii sã se poatã înþelege. Protocoalele se referã mai ales la formatul mesajului, conþinutul sãu ºi coordonarea dintre agenþi. Cele mai utilizate limbaje proiectate pentru acoperirea acestor aspecte sunt KQML, KIF, respectiv COOL, care vor fi detaliate în paragraful 3.3. Datoritã capacitãþii de a comunica, agenþii pot decide sã coopereze în atingerea unui scop comun, pentru o anumitã perioadã de timp. Se spune cã aceºtia îºi iau un angajament (engl. „commitment”). Castelfranchi (1995) deosebeºte trei tipuri de angajament: intern, când un agent hotãrãºte el însuºi sã facã ceva, social, când se angajeazã faþã de alt agent ºi colectiv, când consimte la îndeplinirea unui anumit rol. În acest sens, agenþii trebuie sã fie capabili sã-ºi reprezinte scopurile altor agenþi. O arhitecturã potrivitã acestei cerinþe este arhitectura BDI, descrisã în capitolul 2. 3.3 Limbaje de comunicare interagent Dupã cum am menþionat, agenþii dintr-un sistem, chiar diferiþi, trebuie sã dispunã de un protocol de comunicare. În acest sens, ideea de bazã este separarea semanticii protocolului de comunicare, care trebuie sã fie independent de domeniu, de semantica mesajului conþinut, care poate depinde de domeniu (Huhns & Stephens, 2000). O simplã analogie poate fi fãcutã cu persoane vorbitoare de limbi diferite. Sã presupunem cã un român vorbeºte unor persoane de alte naþionalitãþi. Dacã în auditoriu existã câþiva oameni care cunosc limba românã, aceºtia vor înþelege mesajul. Ceilalþi, chiar dacã nu ºtiu limba, îºi dau seama cã este vorba de o comunicare într-un limbaj uman, natural pe care la nevoie îl pot învãþa. Sau pot reþine mecanic un mesaj pe care chiar dacã nu îl înþeleg, îl pot transmite unor persoane pentru care sã aibã o semnificaþie. 3.3.1 Teoria actelor de vorbire Teoria actelor de vorbire (engl. “speech act theory”) este în general asociatã cu Wittgenstein, Austin ºi Searle, deºi rãdãcinile sale ideologice ºi metodologice pot fi datate încã în filosofia presocraticã ºi a vechiului testament, rãmânând o forþã puternicã, deºi marginalã, alãturi de tradiþia platonicianã-creºtinã-ºtiinþificã dominantã (Groden & Kreiswirth, 1997). Formularea lui Austin (1962) a teoriei actelor de vorbire precizeazã distincþia dintre ceea ce el numeºte „constatative” (enunþuri utilizate pentru a afirma unele lucruri, pentru a transmite informaþii) ºi „performative” (enunþuri utilizate pentru a face unele lucruri, pentru a efectua acþiuni). 45 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Fraze precum „Vã declar soþ ºi soþie”, „Promit sã vin” nu transmit informaþii ºi deci nu sunt nici adevãrate nici false; ele efectueazã acþiunile la care se referã enunþurile prin rostirea lor. Conform lui Searle (1969), pentru a înþelege un limbaj trebuie sã înþelegem intenþia vorbitorului. Deoarece limbajul este un comportament intenþional, el trebuie tratat ca o formã de acþiune. Actul de vorbire este unitatea de bazã a limbajului folositã pentru a exprima un înþeles, un enunþ care exprimã o intenþie. De obicei, actul de vorbire este o propoziþie, dar poate fi ºi un cuvânt sau o frazã atâta timp cât respectã regulile necesare pentru a îndeplini o intenþie. Când cineva vorbeºte, efectueazã o acþiune. Existã patru tipuri de acte de vorbire: acte de rostire (engl. “utterance acts”): cuvintele propriu-zise; acte locuþionare (engl. “locutionary acts”): enunþuri care se referã la alte lucruri; acte ilocuþionare (engl. “illocutionary acts”): enunþuri care exprimã intenþia de a interacþiona; acte perlocuþionare (engl. “perlocutionary acts”): enunþuri care exprimã intenþia de a provoca un anumit rãspuns comportamental la ascultãtor. Relaþia dintre aceste tipuri de acte de vorbire este reprezentatã în figura 3.1 (Tell, 2002).
Figura 3.1. Tipuri de acte de vorbire
De exemplu, sã presupunem cã un barman rosteºte cuvintele „Barul se va închide în cinci minute” (Bach, 2004). Actul de rostire este exprimat prin citare directã. Actul locuþionar este cel de a spune cã barul la care 46 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
serverºte el se va închide în cinci minute de la momentul în care se rosteºte enunþul ºi este exprimat prin citare indirectã, deoarece nu este determinat complet de cuvintele rostite, care nu conþin referinþe despre ce bar este vorba ºi despre timpul rostirii. Actul ilocuþionar este de a informa clienþii despre închiderea barului. Actul perlocuþionar este de a determina clienþii sã îºi termine bãuturile. Barmanul efectueazã toate aceste acte, la toate nivelurile, doar prin rostirea unor anumite cuvinte. 3.3.2 Knowledge Query and Manipulation Language (KQML) Pentru a interacþiona, agenþii trebuie sã se punã de acord asupra câtorva aspecte, la diferite niveluri de abstracþiune: transportul: cum primesc sau trimit mesajele; limbajul: cum interpreteazã semnificaþia mesajelor; politica: cum structureazã conversaþiile; arhitectura: cum sã fie conectate sistemele în conformitate cu protocoalele constitutive. Limbajul KQML este un protocol destinat schimbului de informaþii ºi cunoºtinþe, care permite programelor de aplicaþii sã interacþioneze cu sistemele inteligente. Acest limbaj, dezvoltat iniþial în cadrul iniþiativei DARPA de partajare a cunoºtinþelor (engl. „Knowledge Sharing Effort”), a devenit un standard de facto pentru comunicaþiile interagent (Finin, McKay & Fritzson, 1992). Un mesaj KQML constã dintr-o aºa numitã performativã (engl. „perform” – a îndeplini, efectua, executa, întrucât prin trimiterea mesajului se presupune cã se va îndeplini o acþiune), informaþii despre expeditor ºi destinatar, conþinutul propriu-zis ºi un set de argumente opþionale. Structura fundamentalã a unui mesaj este urmãtoarea: ( < performativã > :sender :receiver :language :ontology :content ... )
< < < < <
cuvânt > cuvânt > cuvânt > cuvânt > expresie >
Performativa se referã la tipul de acþiune cerut prin mesaj. În continuare vor fi date câteva exemple pentru ilustrarea acestui concept. Lista completã poate fi gãsitã în documentul specificaþiilor limbajului (DARPA, 47 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
1993). Presupunem cã S este expeditorul (engl. „sender”) ºi R – destinatarul (engl. „receiver”): advertise: S este în mod special potrivit pentru acþiune; ask-about: S vrea toate propoziþiile relevante din baza virtualã de cunoºtinþe (BVC) a lui R; ask-one: S vrea un rãspuns de la R la o întrebare; delete: S vrea ca R sã îºi ºteargã o propoziþie din BVC; deny: performativa din mesaj nu (mai) este relevantã pentru S; forward: S vrea ca R sã trasmitã mai departe un mesaj; insert: S îi cere lui R sã îºi adauge în BVC conþinutul mesajului; sorry: S nu poate furniza un rãspuns mai adecvat; tell: propoziþia este în BVC a lui S; untell: propoziþia nu este în BVC a lui S. Cuvântul cheie language semnificã limbajul folosit, deoarece conþinutul (precedat de content) poate fi exprimat în orice limbaj, de exemplu SQL, KIF, CLIPS etc. Ontologia înseamnã aici „vocabularul” cuvintelor din mesaj. Într-un sens mai larg, ea se referã la categoriile utilizate în conþinutul mesajului: obiecte, concepte ºi relaþii din domeniul respectiv. Ontologia conferã semnificaþie simbolurilor ºi expresiilor utilizate pentru a descrie domeniul. Un agent poate înþelege un mesaj numai când cunoaºte limbajul ºi ontologia acestuia. Pentru a exemplifica, sã considerãm modul în care se exprimã în CLIPS relaþia de prietenie dintre douã persoane: (deffacts (persoana Ion) (persoana Maria) (prieteni Ion Maria))
Un agent îi va comunica altuia aceste fapte prin mesajul: (tell
:sender :receiver :language :ontology :content
Agent1 Agent2 CLIPS relatii (deffacts (persoana Ion) (persoana Maria) (prieteni Ion Maria)))
48 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
De asemenea, dacã Agent1 vrea sã-i trimitã aceste cunoºtinþe lui Agent3 prin intermediul lui Agent2, mesajul va avea forma: (forward Agent1 :sender :receiver Agent2 Agent1 :from Agent3 :to :language KQML :ontology kqml-ontology (tell :content :sender Agent1 :receiver Agent3 :language CLIPS :ontology relatii :content (deffacts (persoana Ion) (persoana Maria) (prieteni Ion Maria))))
În acest caz, agentul sender vrea ca agentul to sã prelucreze performativa din content ca ºi cum ar fi venit direct de la agentul from. Rãspunsul va fi de obicei trimis tot printr-un forward, de vreme ce agentul îi rãspunde agentului solicitant, însã este posibil ca sã îi rãspundã ºi direct agentului care a iniþiat procesul. Protocolul KQML acþioneazã într-o infrastructurã de comunicaþii care trebuie sã permitã agenþilor sã se localizeze unul pe celãlalt. Infrastructura propriu-zisã nu este precizatã în specificaþiile KQML ºi implementarea sa cade în responsabilitatea proiectantului sistemului. 3.3.3 Knowledge Interchange Format (KIF) Conþinutul mesajului se referã în general la descrierea unor fapte care sã fie înglobate în baza virtualã de cunoºtinþe a unui agent. Un instrument matematic pentru reprezentarea cunoºtinþelor este logica simbolicã. S-a observat cã predicatele de ordinul întâi pot descrie cu suficientã acurateþe majoritatea informaþiilor de interes, precum fapte, definiþii, abstracþiuni, reguli de inferenþã, constrângeri ºi chiar metacunoºtinþe (cunoºtinþe despre cunoºtinþe) (Huhns & Stephens, 2000). Caracteristicile urmãtoare sunt esenþiale pentru acest limbaj (Genesereth & Fikes, 1992; Genesereth, 2001): KIF are o semanticã declarativã, iar înþelesul expresiilor poate fi înþeles fãrã ajutorul unui interpretor care sã le prelucreze; 49 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
este comprehensiv din punct de vedere logic, permiþând exprimarea de propoziþii logice arbitrare; permite reprezentarea metacunoºtinþelor, astfel încât utilizatorul poate descrie explicit reprezentarea cunoºtinþelor ºi poate de asemenea introduce noi modalitãþi de reprezentare a acestora. În acelaºi timp, limbajul poate fi extins pentru asigurarea: translatabilitãþii (engl. „translatability”): o necesitate operaþionalã este posibilitatea de a traduce bazele de cunoºtinþe declarative în ºi din diverse limbaje de reprezentare a cunoºtinþelor; lizibilitãþii (engl. „readability”): deºi KIF nu este proiectat special pentru interacþiunea cu oamenii, lizibilitatea faciliteazã utilizarea sa pentru descrierea semanticii limbajelor de reprezentare, pentru publicarea exemplificãrilor cu baze de cunoºtinþe sau pentru asistarea operatorilor umani în probleme de translatare a bazelor de cunoºtinþe; utilizabilitãþii (engl. „useability”): deºi KIF nu este proiectat ca un limbaj de reprezentare sau comunicare în cadrul aplicaþiilor, limbajul poate fi utilizat ºi în acest scop. KIF a fost propus ca un standard pentru descrierea cunoºtinþelor din sistemele expert, baze de date, agenþi inteligenþi etc. Acest limbaj este o versiune prefixatã a calculului predicativ de ordinul întâi, cu extensii care suportã raþionamente non-monotone ºi definiþii (Finin, Labrou & Mayfield, 2003). De exemplu, dacã dorim sã descriem un automobil, o putem face printr-o tripletã – numãr, culoare, marcã: (masina IS-01-GHA albastru Cielo) (masina B-12-PXB rosu Dacia) (masina PH-02-TPN galben Matiz)
Prin combinarea mai multor termeni se pot obþine informaþii mai complexe. Dacã vrem sã reprezentãm faptul cã o piramidã are volumul mai mare decât alta, vom scrie: ( >
scrie:
(/ (* (arie_baza p1) (inaltime p1)) 3) (/ (* (arie_baza p1) (inaltime p1)) 3))
Deducþia cã, dacã a, b, c R, a < b ºi b < c implicã a < c, se poate
50 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent ( =>
and ( (< (real ?a) (real ?b)) (< (real ?b) (real ?c))) (< ?a ?c))
Cu ajutorul operatorilor apostrof ( ' ) ºi virgulã ( , ) KIF poate coda metacunoºtinþe. Dacã un agent A este interesat de informaþiile privind o maºinã, desemnate prin tripleta sugeratã anterior, acest fapt va fi desemnat prin: (interesat A '(masina, ?n, ?c, ?m))
Folosirea virgulei indicã faptul cã variabilele nu trebuie luate literal. Fãrã virgule, semnificaþia ar fi cã agentul este interesat de propoziþia „(masina ?n ?c ?m)” în sine ºi nu de instanþele ei. În KIF se mai pot descrie proceduri, adicã se pot scrie programe sau scripturi pe care agenþii le pot executa. De exemplu, afiºarea unui mesaj în CLIPS, este transmisã în formã KIF astfel: (scrie_clips (printout t "Scrie un mesaj" crlf))
Când sisteme diferite comunicã, ele pot avea capacitãþi de înþelegere diferite. În acest caz, dacã un agent primeºte un mesaj pe care nu-l poate procesa, îl poate ignora, chiar dacã înþelege anumite porþiuni. Dacã i se cere însã un rãspuns, destinatarul va putea raporta o eroare expeditorului. 3.3.4 COOrdination Language (COOL) În medii cu resurse limitate, agenþii trebuie sã-ºi coordoneze activitãþile pentru promovarea propriilor interese ºi îndeplinirea scopurilor de grup. Acþiunile agenþilor trebuie coordonate deoarece acestea sunt interdependente ºi nici un agent nu are competenþa, resursele sau cunoºtinþele necesare atingerii de unul singur a scopurilor sistemului. De exemplu, coordonarea se poate referi la trimiterea promptã de informaþii altor agenþi, sincronizarea acþiunilor agenþilor sau evitarea rezolvãrii redundante de probleme. Dacã KQML se adreseazã nivelului intenþional al interacþiunii dintre agenþi, iar KIF – conþinutului informaþional, limbajul COOL trateazã nivelul de coordonare ºi este utilizat în principal pentru a proiecta, reprezenta ºi valida mecanismele ºi protocoalele de coordonare în sistemele multiagent. Activitatea de coordonare este modelatã ca o conversaþie între doi sau mai 51 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
mulþi agenþi, specificatã cu ajutorul unui automat cu stãri finite (Barbuceanu & Fox, 1995): Stãrile automatului reprezintã stãrile în care se poate gãsi conversaþia. Existã o stare iniþialã distinctã în care începe orice conversaþie ºi câteva stãri finale care semnalizeazã terminarea conversaþiei; Mesajele schimbate sunt reprezentate de performative ale limbajului de comunicare interagent. Nivelul conþinutului performativelor nu aparþine protocolului de negociere, dar determinã cursul unei negocieri individuale ºi este utilizat în procesul de luare a deciziilor de cãtre agenþi; Mulþimea de reguli de conversaþie specificã modul cum un agent aflat într-o stare primeºte mesaje de un anumit tip, executã acþiuni locale, trimite mesaje ºi trece într-o altã stare; Mulþimea de reguli pentru refacere în caz de eroare specificã modul în care sunt tratate incompatibilitãþile dintre starea curentã a conversaþiei ºi mesajele primite; Mulþimea de reguli de continuare specificã modul cum agenþii acceptã cererile pentru noi conversaþii sau selecteazã continuarea unei conversaþii; Clasele de conversaþie indicã stãrile, regulile de conversaþie ºi regulile de eroare specifice unui tip de conversaþie. Un agent dispune de câteva clase de conversaþie pe care le poate utiliza când comunicã cu alþi agenþi; Conversaþiile efective instanþiazã clasele de conversaþie ºi sunt create oricând agenþii se angajeazã într-un proces de comunicare. Performativelor standard KQML le-au fost adãugate câteva noi, de nivel mai înalt: propose: propune unui agent atingerea unui subscop; counter-propose: o contra-propunere este un alt subscop care satisface parþial scopul iniþial al unei propuneri; accept, reject: semnaleazã acceptarea sau respingerea unei propuneri sau contra-propuneri; satisfy, fail: anunþã succesului sau eºecului îndeplinirii unui scop. Furnizarea unui anumit produs industrial prin intermediul unui agent poate fi cerutã prin regula de conversaþie prezentatã în exemplul urmãtor (Barbuceanu & Fox, 1995). Dacã este posibilã satisfacerea criteriului cantitativ (numãrul de bucãþi) însã nu în intervalul de timp solicitat, se 52 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
transmite o contra-propunere, cu un termen limitã care poate fi respectat de producãtor: (def-conversation-rule r1 :current-state 2 :received (propose :sender ?initiator :content (produce (?what ?amount)(time ?date))) :such-that (and (achievable (produce ?what ?amount)) (not-achievable (time ?date)) (possible-alternative (time ?date) (time ?date1))) :next-state 3 :transmit (counter-propose :content (produce (?what ?amount)(time ?date1))))
Coordonarea este în strânsã legãturã cu angajamentele agenþilor ºi convenþiile dintre aceºtia: angajamentele asigurã organizarea necesarã pentru interacþiuni predictibile iar convenþiile sociale asigurã gradul dorit de ajutor reciproc. 3.4 Tipuri de interacþiuni în sistemele multiagent În orice sistem multi-agent, fiecare agent îºi alege comportamentul cel mai potrivit pentru a-ºi atinge scopul. Într-un sistem multiagent, este normal ca scopurile agenþilor sã nu fie întotdeauna în concordanþã. Uneori, agenþii pot avea scopuri incompatibile (satisfacerea unui scop conduce la eºecul altuia). 3.4.1 Cooperare ºi concurenþã Un prim criteriu de clasificare a situaþiilor de interacþiune este acela al compatibilitãþii scopurilor. Situaþia de interacþiune este o situaþie de cooperare sau de indiferenþã dacã scopurile sunt compatibile ºi o situaþie de competiþie, în cazul unor scopuri incompatibile. Ferber (1995) propune o clasificare a situaþiilor de interacþiune, prezentatã în tabelul 3.1. Situaþiile de indiferenþã nu pun probleme deosebite, dar sunt rar întîlnite în realitate. Situaþiile de cooperare necesitã diverse strategii de realocare a resurselor, a task-urilor pentru a evita situaþiile antagoniste conflictuale (individuale sau colective). Pentru a evita situaþiile de blocaj, trebuie aplicate strategii de negociere, pentru a ajunge la scopuri cel puþin parþial compatibile. În cazul cînd apar conflicte din cauza resurselor sau a 53 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
competenþelor insuficiente, se aplicã aceleaºi strategii de reditribuire a acestora. Tabelul 3.1. Clasificarea situaþiilor de interacþiune în sisteme multiagent Scopuri Resurse Competenþe Situaþii Catgorie compatibile suficiente suficiente independenþã indiferenþã compatibile suficiente insuficiente colaborare simplã cooperare compatibile insuficiente suficiente blocaj compatibile insuficiente insuficiente colaborare coordonatã incompatibile suficiente suficiente competiþie individualã incompatibile suficiente insuficiente competiþie colectivã incompatibile insuficiente suficiente conflicte individuale concurenþã conflicte colective incompatibile insuficiente insuficiente datorate resurselor
3.4.2 Protocoale de cooperare. Negocierea O strategie fundamentalã pentru rezolvarea problemelor complexe este descompunerea acestora în task-uri mai simple, distribuite. Aceastã abordare divide et impera reduce complexitatea problemei, deoarece subtask-urile necesitã agenþi cu mai puþine competenþe ºi mai puþine resurse. Totuºi, descompunerea problemei trebuie sã þinã seama de resursele ºi capacitãþile agenþilor, precum ºi de evitarea interacþiunilor nedorite ºi a conflictelor între aceºtia. Descompunerea problemei poate fi fãcutã de proiectant, în etapa de implementare, sau dinamic, de cãtre agenþi, în timpul execuþiei. Odatã create, subtask-urile pot fi distribuite în conformitate cu urmãtoarele criterii (Durfee, Lesser & Corkill, 1987): evitarea supraîncãrcãrii resurselor critice; atribuirea sarcinilor cãtre agenþi cu abilitãþi potrivite; selectarea unui agent cu o perspectivã mai largã, care sã împartã sarcini celorlalþi agenþi; atribuirea agenþilor de responsabilitãþi care se suprapun, pentru atingerea coerenþei; atribuirea de sarcini interdependente agenþilor în proximitate spaþialã sau semanticã, pentru a minimiza costurile de comunicare ºi sincronizare; reatribuirea sarcinilor atunci când acest lucru este necesar pentru terminarea task-urilor urgente. În unele situaþii, distribuirea subtask-urilor nu poate fi realizatã eficient decât în timpul execuþiei. Agenþii trebuie sã decidã singuri ce sarcini vor îndeplini, în funcþie de propriile scopuri, interese ºi capacitãþi. O formã 54 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
frecventã de interacþiune care apare între agenþii cu scopuri diferite este negocierea, procesul prin care este luatã o decizie comunã de cãtre doi sau mai mulþi agenþi care încearcã fiecare îndeplinirea unui scop individual (Huhns & Stephens, 2000). Mecanismul de negociere trebuie sã demonstreze, în mod ideal, o serie de proprietãþi: eficienþã: agenþii nu trebuie sã iroseascã resurse pentru a ajunge la un acord; stabilitate: nici un agent nu trebuie sã fie tentat sã nu respecte o strategie convenitã; simplitate: mecanismul de negociere trebuie sã aibã costuri computaþionale mici ºi sã se realizeze cu comunicaþii minimale; distribuire: mecanismul nu trebuie sã necesite un proces decizional centralizat; simetrie: mecanismul trebuie sã fie imparþial faþã de toþi agenþii implicaþi. 3.4.3 Modalitãþi de comunicare. Sisteme blackboard Infrastructura de comunicaþie într-un sistem multiagent poate lua mai multe forme. O primã strategie este transmiterea de mesaje între agenþi, punct-la-punct sau broadcast. Este posibil ca un agent sã se comporte ca un client care sã cearã sau sã transmitã informaþii cãtre altul, cu rol de server. Comunicaþiile în aceastã manierã pot fi sincrone, când un rãspuns este aºteptat pentru fiecare cerere, sau asincrone, când rãspunsurile serverului vin la intervale neregulate de timp. Alte alternative includ tehnologii de sisteme distribuite, precum RPC (Remote Procedure Call), RMI (Remote Method Invocation) sau CORBA (Common Object Request Broker Architecture). Mulþi agenþi sunt implementaþi în limbajul Java, deoarece codul poate fi executat pe orice platformã care suportã o aºa numitã maºinã virtualã, farã a fi necesarã recompilarea iar acest limbaj are numeroase facilitãþi pentru comunicarea în reþele de calculatoare. O altã abordare este utilizarea unei memorii comune, la care sã aibã acces toþi agenþii ºi prin intermediul cãreia sã poatã comunica. Acestea sunt sistemele blackboard (engl. „blackboard” – tablã), în care rezolvarea unei probleme este prezentatã deseori cu ajutorul urmãtoarei metafore (Huhns & Stephens, 2000): „Sã ne imaginãm un grup de specialiºti aºezaþi lângã o tablã mare. Ei lucreazã împreunã pentru rezolvarea unei probleme, scriind pe tablã pentru a dezvolta soluþia. Mai întâi, sunt inscripþionate problema ºi datele iniþiale. Specialiºtii urmãresc tabla, cãutând o ocazie pentru a-ºi pune în valoare cunoºtinþele. Când un specialist capãtã suficiente informaþii 55 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
pentru a-ºi aduce aportul, el îºi înregistreazã contribuþia pe tablã. Aceste informaþii suplimentare vor permite altor specialiºti sã-ºi aplice cunoºtinþele. Procesul adãugãrii de informaþii pe tablã continuã pânã când problema este rezolvatã.” Metafora evidenþiazã o serie de caracteristici importante ale sistemelor blackboard: independenþa cunoºtinþelor: Specialiºtii (numiþi ºi surse de cunoaºtere, SC) nu sunt instruiþi sã lucreze exclusiv într-un anumit grup. Fiecare este expert în unele aspecte ale problemei ºi poate contribui la soluþie independent de ceilalþi specialiºti; diversitatea tehnicilor de rezolvare: reprezentarea internã ºi mecanismele de inferenþã utilizate de SC sunt ascunse; reprezentarea flexibilã a informaþiilor: nu existã restricþii apriori asupra informaþiilor care vor fi plasate pe tablã; limbajul comun de interacþiune: specialiºtii trebuie sã interpreteze corect informaþiile înregistrate pe tablã. În practicã, existã un compromis între expresivitatea de reprezentare specializatã accesibilã numai unui numãr mic de SC ºi o reprezentare mai generalã, înþeleasã de toate SC; activarea bazatã pe evenimente: SC sunt activate de evenimente legate de tablã – adãugarea de noi informaþii, schimbãrile în informaþiile existente sau ºtergerea unor informaþii; necesitatea controlului: o componentã de control, separatã de SC, este responsabilã pentru administrarea desfãºurãrii rezolvãrii problemei. Când contribuþia curentã a unui specialist se terminã, componenta de control selecteazã SC cea mai potrivitã pentru activare. Componenta de control trebuie sã estimeze calitatea ºi costul participãrii fiecãrei SC. Acestea o pot informa de fiecare datã asupra acestor date, fãrã a lucra efectiv la rezolvarea problemei în starea respectivã. În funcþie de estimãri, componenta de control decide acþiunea urmãtoare; generarea incrementalã a soluþiei: specialiºtii contribuie la soluþie uneori rafinând, alteori contrazicând informaþiile existente sau iniþiind o nouã linie de raþionament. 3.5 Organizaþii de agenþi În mod tradiþional, cercetãrile de inteligenþã artificialã s-au ocupat de modul în care poate fi construit un agent care sã funcþioneze inteligent, cu un loc intern unic de raþionament ºi controlat într-o arhitecturã von 56 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme multiagent
Neumann. Însã sistemele inteligente nu funcþioneazã în izolare, ci sunt integrate în medii din care mai fac parte ºi alte sisteme inteligente. Un grup de agenþi poate forma o micã organizaþie în care joacã diverse roluri. Grupul defineºte rolurile, iar acestea definesc angajamentele asociate. Când un nou agent intrã într-un anumit grup, o face pe un anumit rol. El se alãturã în mod autonom organizaþiei, dar trebuie sã accepte constrângerile rezultate din angajamentele rolului respectiv. Grupurile definesc astfel contextul social în care interacþioneazã agenþii. Tehnicile de administrare a organizaþiilor de agenþi autonomi sunt utile nu numai în medii informaþionale deschise, de mari dimensiuni, ci ºi în cazul mediilor fizice. De exemplu, aceste tehnici îºi pot demonstra utilitatea în logistica de apãrare, prin considerarea fiecãrui material drept o entitate inteligentã al cãrei scop este atingerea unei destinaþii. Noþiunea de agenþie (organizaþie multiagent) socialã se bazeazã pe abstracþiuni din sociologie ºi teoria organizaþiilor. De vreme ce agenþii sunt priviþi în contextul social, studiul agenþiei în ansamblu este important. Deºi primitivele inspirate din psihologie (precum convingerile, dorinþele sau intenþiile) sunt potrivite unui numãr de situaþii, ele nu sunt suficiente pentru înþelegerea tuturor aspectelor interacþiunilor sociale. Angajamentele sociale sunt angajamentele unui agent faþã de altul. Ele reprezintã o modalitate flexibilã de constrângere a comportamentului autonom. În strânsã legãturã cu acestea se aflã un concept important, cel de dependenþã socialã, definit astfel (Huhns & Stephens, 2000): (DependenþãSocialã x y a p) (Scop x p) (PoateExecuta x a) (PoateExecuta y a) ((ExecutatãDe y a) (Atingere p)).
(3.1)
Agentul x depinde de agentul y în ceea ce priveºte acþiunea a pentru atingerea scopului p, pe care x nu îl poate realiza, în timp ce y poate. Dependenþele sociale pot fi compuse; pot exista dependenþe reciproce când x ºi y depind unul de celãlalt pentru realizarea unui scop comun p iar acesta poate fi atins prin cel puþin douã acþiuni diferite: x depinde de y în ceea ce priveºte acþiunea ay iar y depinde de x în ceea ce priveºte acþiunea ax: p ((DependenþãSocialã x y ay p) (DependenþãSocialã y x ax p)).
(3.2)
57 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Cooperarea este o formã de dependenþã reciprocã – atunci când x ºi y depind unul de celãlalt pentru realizarea de scopuri diferite: px pentru x ºi py pentru y: px py ((DependenþãSocialã x y ay px) (DependenþãSocialã y x ax py)).
(3.3)
Schimburile sociale sunt o formã de cooperare. Dincolo de acestea, comportamentul unui numãr mare de agenþi dintr-o organizaþie este guvernat de legi sociale. 3.6 Concluzii În acest capitol au fost precizate câteva domenii în care îºi gãsesc utilitatea sistemele multiagent. Abordarea distribuitã a rezolvãrii de probleme este în general mai simplã decât abordarea centralizatã ºi se bazeazã pe o serie de trãsãturi ale sistemelor multiagent, precum robusteþea, degradarea graþioasã sau scalabilitatea. Din punctul de vedere al comunicãrii ºi eterogenitãþii, aceste sisteme pot fi clasificate în: sisteme omogene necomunicative, cele mai simple, sisteme eterogene necomunicative, cu o diversitate de scopuri, cunoºtinþe sau tipuri de acþiuni accesibile agenþilor, ºi sisteme comunicative, care dezvãluie adevãrata putere a sistemelor multiagent. Comunicarea se realizeazã cu diverse protocoale, pe niveluri specifice. Pentru formatului mesajului se utilizeazã în general limbajul KQML, pentru reprezentarea conþinutului informaþional – limbajul KIF, iar pentru coordonarea agenþilor s-a propus limbajul COOL. Sistemele blackboard sunt o infrastructurã de comunicaþii cu memorie comunã, în care agenþii contribuie succesiv, pe mãsura competenþelor, la rezolvarea unei anumite probleme complexe. Domeniul organizaþiilor de agenþi aduce în discuþie contextul social, în care agenþii colaboreazã pe diferite roluri, autonomia fiind constrânsã pe baza angajamentelor luate în cadrul grupului. Studiul interacþiunilor sociale pune în evidenþã comportamente globale, care nu pot fi identificate exclusiv prin analiza capacitãþilor individuale ale agenþilor.
58 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul IV
TEORIA SISTEMELOR FUZZY 4.1 Noþiuni fundamentale Logica clasicã considera valoarea de adevãr a propoziþiilor în termeni de adevãrat sau fals. Legea terþului exclus a lui Aristotel fãcea imposibilã o altã variantã. În viaþa de zi cu zi, ne confruntãm totuºi cu foarte multe situaþii în care o astfel de abordare este nerealistã. Sã considerãm afirmaþia „cerul este albastru”. Uneori cerul este într-adevãr albastru, când afarã este senin. Dar dacã sunt nori? Dar noaptea? Este clar cã o manierã strictã de evaluare a valorii de adevãr a propoziþiilor nu coincide cu modul mult mai flexibil în care gândesc oamenii, în condiþii de incompletitudine. Incompletitudinea unei informaþii se exprimã pe douã scãri: scara incertitudinii se referã la încrederea care i se acordã informaþiei (dacã sursa de informaþie, instrumentul de mãsurã sau expertul sunt complet siguri, demni de încredere, informaþia este certã); scara impreciziei se referã la conþinutul informaþional (informaþia este precisã dacã mulþimea valorilor specificate în enunþul corespunzãtor este singleton, adicã are o valoare unicã). Un suport teoretic valoros care trateazã incompletitudinea este teoria mulþimilor fuzzy. Un tip incipient de logicã fuzzy a apãrut încã din 1920, propus de matematicianul polonez Jan £ukasiewicz (inventatorul notaþiei poloneze). Sistemul sãu permitea extinderea valorii de adevãr a unei propoziþii la toate numerele reale din intervalul [0,1]. Un numãr din acest interval era interpretat drept posibilitatea ca propoziþia consideratã sã fie adevãratã sau falsã. Aceste cercetãri au dus la apariþia teoriei posibilitãþii, o tehnicã de raþionament în condiþii de inexactitate. Lotfi Zadeh (1965) a extins teoria posibilitãþii într-un sistem formal de logicã matematicã. De asemenea, a adus în discuþie modalitãþile de lucru cu termeni nuanþaþi ai limbajului natural. Acest instrument de reprezentare ºi manipulare a termenilor nuanþaþi se numeºte logica fuzzy. Logica tradiþionalã considerã cã un obiect poate aparþine sau nu unei mulþimi. Logica fuzzy permite o interpretare mai flexibilã a noþiunii de apartenenþã. Astfel, mai multe obiecte pot aparþine unei mulþimi în grade diferite. De exemplu, dacã avem în vedere mulþimea oamenilor tineri. Un copil de 10 ani e cu siguranþã tânãr, în timp ce o persoanã de 60 de ani cu siguranþã nu. 59 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Dar un om de 30 de ani? Sau de 40? În acest caz, putem afirma cã persoana de 30 de ani aparþine mulþimii respective într-o mãsurã mai mare decât cea de 40. Fie X universul discursului, cu elemente notate x. O mulþime fuzzy A a universului de discurs X este caracterizatã de o funcþie de apartenenþã A (x) care asociazã fiecãrui element x un grad de apartenenþã la mulþimea A:
A ( x) : X [0,1]
(4.1)
Pentru a reprezenta o mulþime fuzzy, trebuie sã-i definim mai întâi funcþia de apartenenþã. În acest caz, o mulþime fuzzy A este complet definitã de mulþimea tuplelor: A {( x, A ( x)) | x X }
(4.2)
Dacã X este o mulþime finitã X = {x1, ... , xn}, atunci se foloseºte de multe ori notaþia: A 1 / x1 ... n / xn i / xi n
i 1
(4.3)
Dacã universul X este continuu, atunci scriem: A( x) a / x
(4.4)
x
Pe un univers de discurs pot fi definite mai multe submulþimi fuzzy. De exemplu, pentru universul vârstelor unor persoane, putem defini submulþimile oamenilor tineri, bãtrâni sau de vârstã mijlocie. Aceste submulþimi se pot intersecta (este chiar recomandat acest fapt). Aceeaºi persoanã va aparþine submulþimii oamenilor tineri cu un grad de 70%, submulþimii oamenilor de vârstã mijlocie cu un grad de 90% ºi submulþimii oamenilor bãtrâni cu un grad de 30%. Fie A o submulþime fuzzy a universului de discurs X. Se numeºte suportul lui A submulþimea lui X ale cãrei elemente au grade de apartenenþã nenule în A:
60 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
supp(A) = {x X | A ( x) 0} .
(4.5)
Înãlþimea lui A se defineºte drept cea mai mare valoare a funcþiei de apartenenþã: h(A) = sup A ( x) . xX
(4.6)
O submulþime fuzzy A a lui X este normalã dacã h(A) = 1, adicã x X astfel încât A ( x) 1 . În caz contrar, A este subnormalã. Se numeºte nucleul lui A submulþimea lui X ale cãrei elemente au grade de apartenenþã unitare în A: n(A) = {x X | A ( x) 1} .
(4.7)
Fie A ºi B submulþimi fuzzy ale lui X. Spunem cã A este o submulþime a lui B dacã:
A ( x) B ( x), x X .
(4.8)
Figura 4.1. Submulþime fuzzy
Fie A ºi B submulþimi fuzzy ale lui X. Spunem cã A ºi B sunt egale dacã A B ºi B A : A B A ( x) B ( x), x X .
(4.9)
Fie A o submulþime fuzzy a lui X ºi [0,1] . Se numeºte tãieturã-á (engl. á-cut) a lui A mulþimea: [ ] {x X | A }
(4.10)
61 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 4.2. Tãietura-á a funcþiei de apartenenþã
4.2 Tipuri de funcþii de apartenenþã De multe ori, oamenii nu pot caracteriza precis informaþiile numerice, folosind formulãri precum „aproape 0”, „în jur de 100” etc. În teoria mulþimilor fuzzy, aceste numere pot fi reprezentate ca submulþimi fuzzy ale mulþimii numerelor reale. Un numãr fuzzy este o mulþime fuzzy pe universul de discurs al mulþimii numerelor reale, cu o funcþie de apartenenþã convexã ºi continuã ºi suport mãrginit. Unii autori (Dubois & Prade, 1987) considerã cã un numãr fuzzy trebuie sã îndeplineascã urmãtoarele condiþii: unic x0 R astfel încât A ( x0 ) 1 ; x, y R. O mulþime fuzzy A se numeºte numãr fuzzy triunghiular cu centrul c, lãþimea la stânga 0 ºi lãþimea la dreapta 0 dacã funcþia sa de apartenenþã are forma: cx 1 , c x c xc A ( x , c, , ) 1 ,c xc 0, altfel
(4.11)
c x c x A ( x, c, , ) max min , , 0
(4.12)
62 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
Figura 4.3. Funcþie de apartenenþã triunghiularã
Este evident cã supp(A) (c , c ) . Semnificaþia unui numãr fuzzy triunghiular cu centrul c este „x este aproximativ egal cu c”. Un cvasi-numãr fuzzy este o mulþime fuzzy A pe universul de discurs al mulþimii numerelor reale, cu o funcþie de apartenenþã convexã ºi continuã care satisface condiþia: lim A ( x) 0 . x
O mulþime fuzzy A este un cvasi-numãr fuzzy gaussian cu centrul (media) c ºi deviaþia standard ó dacã funcþia sa de apartenenþã are forma:
A ( x , c, ) e
1 xc 2
2
(4.13)
Figura 4.4. Funcþie de apartenenþã gaussianã
Generalizând conceptul de numãr fuzzy, definim un interval fuzzy ca fiind o mulþime fuzzy A pe universul de discurs al mulþimii numerelor reale, cu o funcþie de apartenenþã care satisface condiþia: x0 , y0 R , x0 y0 astfel încât A ( x) 1, x [ x0 , y0 ] ºi
A ( x) 1, x [ x0 , y0 ] . O mulþime fuzzy A se numeºte interval fuzzy trapezoidal cu intervalul de toleranþã [c,d], lãþimea la stânga 0 ºi lãþimea la dreapta 0 dacã funcþia sa de apartenenþã are forma: 63
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
cx 1 , c x c 1, c x d A ( x , c, d , , ) xd ,d xd 1 0, altfel
(4.14)
c x d x A ( x, c, d , , ) max min , 1, , 0
(4.15)
Figura 4.5. Funcþie de apartenenþã trapezoidalã
Aici supp(A) (c , d ) . Semnificaþia unui interval fuzzy trapezoidal cu intervalul de toleranþã [c,d] este „x este aproximativ între c ºi d ”. O altã funcþie de apartenenþã foarte utilizatã este funcþia Bell generalizatã. Pentru un cvasi-numãr fuzzy A cu centrul c. Fie a [ A ] 0,5 ºi q X astfel încât A ( q ) 0,5 . Dacã panta lui A în q este m b 2a 0 , atunci:
A ( x , c, a , b )
A ( x, c, a, m)
1
xc 1 a
2b
(4.16)
4 ma
(4.17)
1
xc 1 a
64 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
Figura 4.6. Funcþie de apartenenþã Bell generalizatã
În general, „laturile” crescãtoare ºi descrescãtoare ale unui (cvasi-) numãr sau interval fuzzy pot fi determinate de funcþii diferite. Fie L, R : [0, ) R douã funcþii strict descrescãtoare, cu L(0) R (0) 1 . O mulþime fuzzy A pe universul de discurs al mulþimii numerelor reale se numeºte interval fuzzy de tip L-R dacã M 1 , M 2 , l , r R cu M 1 M 2 , l > 0 ºi r > 0, astfel încât: M1 x L l , x M 1 x M2 A R , x M 2 r 1, M 1 x M 2
(4.18)
O funcþie de apartenenþã monoton crescãtoare des întâlnitã este cea sigmoidã. Fie c X astfel încât A (c) 0,5 ºi panta lui A în c este m a 4 . Atunci:
A ( x, c, a ) A ( x, c , m )
1 e 1 e
1
a( x c)
1
4m( x c)
(4.19)
(4.20)
65 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 4.7. Funcþie de apartenenþã sigmoidã
4.3 Restrictori Dupã cum am menþionat, mulþimile fuzzy pot reprezenta în mod cantitativ termeni lingvistici vagi. În vorbirea curentã, oamenii folosesc o serie de adverbe pentru nuanþarea acestora, precum „foarte”, „aproape”, „oarecum” etc. Teoria mulþimilor fuzzy face posibilã reprezentarea lor cu ajutorul unor restrictori (engl. „hedge”, gard viu, restricþie în general), care modificã matematic funcþia de apartenenþã a mulþimii fuzzy consideratã. Concentrarea („foarte”) are ca efect reducerea valorilor de apartenenþã ale elementelor cu grad de apartenenþã mici: CON ( A) ( x) ( A ( x)) 2 .
Figura 4.8. Concentrare
Puterea („foarte CON ( A ) ( x) ( A ( x ))n .
foarte”)
este
o
extensie
a
concentraþiei:
Figura 4.9. Putere
66 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
Dilatarea („oarecum”) dilatã elementele fuzzy prin mãrirea valorilor de apartenenþã ale elementelor cu grade de apartenenþã mici: DIL ( A) ( x) A ( x) .
Figura 4.10. Dilatare
Intensificarea („într-adevãr”) are ca efect mãrirea gradelor de apartenenþã de peste 0,5 ºi micºorarea celor sub 0,5: 2( A ( x)) 2 , A ( x) 0,5 INT ( A) . 2 1 2(1 A ( x)) , A ( x) 0,5
Figura 4.11. Intensificare
4.4 Operaþii cu mulþimi fuzzy Operaþiile cu mulþimile fuzzy sunt o extindere a celor din logica clasicã. Dacã mulþimile fuzzy implicate au grade de apartenenþã 0 ºi 1, semnificaþia operaþiilor este aceeaºi ca în teoria clasicã a mulþimilor, de aceea ºi simbolurile utilizate sunt aceleaºi. Fie A ºi B submulþimi fuzzy ale universului de discurs X. Intersecþia lor se defineºte astfel:
A B ( x) min( A ( x), B ( x)) A ( x) B ( x), x X
(4.21)
67 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 4.12. Intersecþia a douã mulþimi fuzzy
Fie A ºi B submulþimi fuzzy ale universului de discurs X. Reuniunea lor se defineºte astfel:
A B ( x) max( A ( x), B ( x)) A ( x ) B ( x), x X
(4.22)
Figura 4.13. Reuniunea a douã mulþimi fuzzy
Fie A o submulþime fuzzy a universului de discurs X. Complementul lui A este:
A ( x) 1 A ( x), x X C
(4.23)
În general, aceste operaþii pot fi definite cu ajutorul unor funcþii numite norme triunghiulare sau t-norme. O funcþie T : [0,1]2 [0,1] se numeºte t-normã dacã respectã: x u , y v T ( x, y ) T (u , v) (monotonia); T ( x, y ) T ( y , x ) (comutativitatea); T (T ( x, y ), z ) T ( x, T ( y, z )) (asociativitatea); T (0, 0) 0, T ( x,1) x (condiþiile de limitã).
68 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
O funcþie S : [0,1]2 [0,1] se numeºte t-conormã dacã ºi numai dacã este comutativã, asociativã, monoton nedescrescãtoare în raport cu ambele argumente ºi satisface condiþiile de limitã S ( x, 0) x, S (1,1) 1 . Funcþia S ( x, y ) 1 T (1 x, 1 y ) se numeºte t-conorma dualã a lui T. Trebuie precizat cã funcþiile T ºi S satisfac extinderea în cazul mulþimilor fuzzy a legilor lui De Morgan: A B A B ºi A B A B , deoarece condiþiile impuse definesc intersecþia, respectiv reuniunea mulþimilor fuzzy:
A B ( x) T ( A ( x), B ( x)), x X A B ( x) S ( A ( x), B ( x)), x X .
(4.24)
Funcþiile T ºi S pot avea diverse forme, însã t-normele cele mai utilizate în aplicaþii sunt urmãtoarele: Tmin ( x, y ) min( x, y ) ,__ S min ( x, y ) max( x, y ) Tprodus ( x, y ) x y ,__ S produs ( x, y ) x y x y
TLukasiewicz ( x, y ) max(0, a b 1) ,__ S Lukasiewicz ( x, y ) min(a b, 1)
(4.25) (4.26) (4.27)
Se poate demonstra cã aceste t-norme sunt membri ai familiei fundamentale de norme Frank: (x 1)( y 1) , (0, ) {1} T ( x, y ) log 1 1 S ( x, y ) 1 T (1 x, 1 y )
(4.28)
Particularizând, pentru ë = 0 se obþin t-normele min, pentru ë = 1 se obþin t-normele produs iar pentru se obþin t-normele £ukasiewicz. O altã familie interesantã de norme este familia Weber: x y 1 xy T ( x, y ) max , 0 , (1, ) 1 xy S ( x, y ) min x y , 1 1
(4.29)
69 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Particularizând, pentru ë = 0 se obþin t-normele £ukasiewicz, pentru se obþin t-normele produs iar pentru 1 se obþin t-normele drastice (produs drastic, respectiv sumã drasticã): x, y 1 x, y 0 T1 ( x, y ) y, x 1 ,__ S 1 ( x, y ) y, x 0 0, altfel 1, altfel
(4.30)
4.5 Procesul de inferenþã fuzzy În logica fuzzy ºi raþionamentul aproximativ, cea mai importantã regulã de inferenþã este Modus Ponens generalizat. În logica clasicã, aceastã regulã de inferenþã era de forma ( p ( p q )) q , adicã: premisã: fapt: consecinþã:
dacã p, atunci q p q
4.5.1 Tipul de inferenþã Mamdani În logica fuzzy, regula de inferenþã corespunzãtoare sugeratã de Mamdani (1977) este urmãtoarea: premisã: fapt: consecinþã:
dacã x este A, atunci y este B x este A' y este B', unde B ' A'( A B )
(4.31)
De exemplu: „Premisã: Dacã presiunea este mare, atunci volumul este mic. Fapt: Presiunea este foarte mare. Consecinþã: Volumul este foarte mic.”. „Presiunea” ºi „volumul” sunt variabile lingvistice, iar „mare” ºi „mic” sunt valori lingvistice, caracterizate de funcþii de apartenenþã. Dacã A' = A ºi B' = B, regula se reduce la Modus Ponens clasic. Matricea A B deseori se noteazã cu M ºi se numeºte memorie asociativã fuzzy (Kosko, 1992). Procesul de inferenþã fuzzy este vãzut ca o mapare a unei mulþimi fuzzy într-o altã mulþime fuzzy. M are semnificaþia unei matrici de posibilitãþi condiþionate ale elementelor din A ºi B:
70 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
M B| A
a1 b1 a2 b1 ...
a1 b2 ... ...
(4.32)
Pentru operaþia de implicaþie pot fi utilizate diferite funcþii de evaluare: £ukasiewicz: A B min(1 A B , 1) ; Kleene-Dienes: A B max(1 A , B ) ; Zadeh: A B max(1 A , min( A , B )) ;
1, A B Gödel: A B ; B , A B 1, A 0 Goguen: A B ; min(1, B ), A 0 A Reichenbach: A B 1 A A B . De cele mai multe ori, se preferã pentru implicaþie operatorul minim, adicã: mij min( ai , b j ) sau produs: mij ai b j . În primul caz, submulþimea indusã în B, B' se calculeazã astfel: b j max(min(ai' , mij )) . Avem de-a face aici cu regula max-min, din care
i
rezultã o mulþime ce reprezintã o variantã „retezatã” a lui B, la înãlþimea fixatã de A'.
Figura 4.14. Inferenþã Mamdani prin regula max-min
În cel de-al doilea caz, regula max-produs, B' se calculeazã cu: b j max(ai' mij ) , rezultând o mulþime care este o variantã scalatã a lui B. i
71 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 4.15. Inferenþã Mamdani prin regula max-produs
De multe ori în practicã apar situaþii în care o concluzie trebuie extrasã din premise multiple, cum ar fi „Dacã A ºi B, atunci C”. Dacã ºtim A' ºi B', mulþimile induse de acestea în C se calculeazã mai întâi independent, prin max-min sau max-produs, ºi apoi se combinã: C A' ' A' M AC
C B' ' B' M BC
C ' C A' ' C B' '
(4.33)
Dupã ce am determinat mulþimea fuzzy indusã de o regulã de inferenþã, în unele aplicaþii trebuie obþinutã o valoare singularã, strictã, pe baza acestei mulþimi. Procesul se numeºte defuzzyficare. Cea mai utilizatã tehnicã de defuzzyficare este metoda centroidului:
x (x ) y (x ) i
A
i
i
A
(4.34)
i
i
Dacã universul de discurs este continuu, atunci:
y
x ( x) dx ( x) dx A
(4.35)
A
Figura 4.16. Defuzzyficare
72 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Teoria sistemelor fuzzy
4.5.2 Tipul de inferenþã Takagi-Sugeno O altã abordare a procesului de inferenþã fuzzy a fost conceputã de Takagi ºi Sugeno (1985). În acest caz, regula generalã de inferenþã are urmãtoarea formã: dacã x1 este A1 ºi x2 este A2 ºi ... ºi xn este An atunci y f r ( x1 , x2 ,..., xn ) ,
unde f r : X 1 X 2 ... X n Y sunt în general funcþii liniare: f r ( x1 , x2 ,..., xn ) a1( r ) x1 ... a n( r ) xn a ( r ) , r 1,..., k
(4.36)
Rezultatul inferenþei (ca valoare strictã) se obþine ca o medie ponderatã a rezultatelor parþiale ale regulilor considerate individual:
w k
y
r 1
r
f r ( x1 ,..., xn )
w k
r 1
(4.37)
r
De exemplu, sã considerãm o inferenþã pe baza a douã reguli: dacã x este A1 ºi y este B1, atunci Z p1 x q1 y r1 . dacã x este A2 ºi y este B2, atunci Z p 2 x q 2 y r2 . (4.38)
Figura 4.17. Inferenþã Takagi-Sugeno
73 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Vom avea: z1 p1 x q1 y r1 z2 p2 x q2 y r2
(4.39)
Rezultatul strict va fi: z
w1 z1 w2 z 2 . w1 w2
(4.40)
4.6 Concluzii Teoria mulþimilor fuzzy este cea mai generalã teorie a incompletitudinii formulatã pânã în prezent. Logica fuzzy oferã posibilitatea de a reprezenta ºi raþiona cu cunoºtinþe comune, formulate în mod obiºnuit ºi de aceea ºi-a gãsit aplicabilitatea în numeroase domenii. Termenii ºi regulile vagi pot fi reprezentate ºi manipulate cu ajutorul calculatorului, caracteristicã foarte valoroasã în domeniul ingineriei bazelor de cunoºtinþe, unde cunoºtinþele experþilor sunt formulate de obicei în limbaj obiºnuit. Logica fuzzy are o valoare deosebitã ºi în aplicaþiile de control automat unde este dificil sau imposibil de dezvoltat un sistem de control tradiþional. În acest capitol, s-au prezentat cele mai importante mãrimi care caracterizeazã mulþimile fuzzy, diferite tipuri de funcþii de apartenenþã (triunghiularã, gaussianã, trapezoidalã, Bell generalizatã, respectiv sigmoidã), a cãror alegere depinde de aplicaþiile în care sunt utilizate. S-au amintit câþiva restrictori, modificatori matematici ai funcþiilor de apartenenþã pentru termeni lingvistici. S-au precizat operaþiile efectuabile asupra mulþimilor fuzzy, insistându-se asupra conceptului de normã triunghiularã. Comparând tipurile de inferenþã propuse de Mamdani ºi Sugeno, se poate considera în general cã metoda Mamdani este mai intuitivã ºi deci mai potrivitã pentru aplicaþiile în care oamenii trebuie sã introducã date direct. Un alt avantaj al sãu constã în larga rãspândire ºi acceptare de care se bucurã. Pe de altã parte, metoda Sugeno este mai eficientã din punct de vedere computaþional, se preteazã la tehnicile adaptive ºi de optimizare ºi este deci mai potrivitã pentru analiza bazatã pe tehnici matematice.
74 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul V
REÞELE NEURONALE 5.1 Introducere. Modelul biologic Preocuparea pentru reþelele neuronale artificiale, denumite în mod curent „reþele neuronale”, a fost motivatã de recunoaºterea faptului cã modul în care calculeazã creierul fiinþelor vii este complet diferit de cel al calculatoarelor numerice convenþionale. Spre deosebire de maºinile von Neumann, unde existã o unitate de procesare care executã instrucþiunile stocate în memorie în mod serial, numai o instrucþiune la un moment dat, reþelele neuronale utilizeazã în mod masiv paralelismul. Fiind modele simplificate ale creierului uman, ele deþin capacitatea de a învãþa, spre deosebire de calculatoarele convenþionale, care rãmân totuºi mai eficiente pentru sarcinile bazate pe operaþii aritmetice precise ºi rapide. Reþelele neuronale nu dispun de unitãþi de procesare puternice, dimpotrivã, acestea sunt caracterizate printr-o simplitate extremã, însã interacþiunile lor pe ansamblu produc rezultate complexe datoritã numãrului mare de conexiuni. Pentru a înþelege mai bine aceastã abordare, trebuie precizat modul de funcþionare al sistemului nervos. Constituienþii structurali ai creierului sunt neuronii, conectaþi prin sinapse (gr. „óýíáøç”, punct de legãturã). Se estimeazã cã în cortexul uman existã circa 10 miliarde de neuroni ºi 60 de trilioane de sinapse. Trebuie precizat însã cã neuronii nu sunt cele mai numeroase celule din creier. Celulele gliale sunt de 10 ori mai multe. În mod tradiþional, se considera cã acestea au numai funcþii de nutriþie ºi protecþie, însã în ultimul timp au demarat cercetãri privitoare la influenþa lor potenþialã asupra activitãþii de procesare a neuronilor. Neuronul constã în principal din trei componente: corpul celulei, soma (gr. „óþìá”, corp), dendrite ºi axon. Dendritele (numite astfel datoritã asemãnãrii cu un copac, gr. „äÝíäñï”) sunt „intrãrile” neuronului, fibre scurte ramificate, de câþiva milimetri, care primesc impulsuri. Axonul (gr. „Üîïíáò”, axã), „ieºirea”, este o fibrã mai lungã, de câþiva centimetri, putând ajunge însã la 1-1,5 metri. Fiecare neuron are un singur axon ºi mai multe (10-20) de dendrite. O schiþã a unui neuron este prezentatã în figura urmãtoare (Ascoli, 2001):
75 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 5.1. Schiþa unui neuron biologic
Neuronii nu se ating în mod direct, ci sunt separaþi prin spaþii numite sinapse. Acestea sunt unitãþi structurale ºi funcþionale elementare care mediazã interacþiunile dintre neuroni. Tipul cel mai rãspândit de sinapsã este sinapsa chimicã, ce opereazã astfel: un proces presinaptic elibereazã o substanþã transmiþãtoare, care difuzeazã peste joncþiunea sinapticã dintre neuroni ºi apoi acþioneazã asupra unui proces postsinaptic. Astfel o sinapsã converteºte un semnal electric presinaptic într-un semnal chimic (ioni de sodiu ºi potasiu) ºi apoi din nou într-un semnal electric postsinaptic. În descrierile tradiþionale ale organizãrii neuronale, se considerã cã o sinapsã este o conexiune simplã care poate impune excitare sau inhibare, dar nu ambele, neuronului receptor. Ambele efecte sunt locale; ele se propagã pe o distanþã micã în corpul celulei ºi sunt însumate la nivelul axonului. Dacã suma potenþialelor de excitare depãºeºte un anumit prag, atunci neuronul este activat ºi transmite un impuls mai departe. Cea mai importantã trãsãturã a reþelei neuronale biologice este plasticitatea. Ca rãspuns la stimulãrile primite, la nivelul conexiunilor se produc schimbãri pe termen lung, astfel încât conexiunile care ajutã la obþinerea de rezultate pozitive sunt întãrite, iar cele care determinã rezultate nedorite sunt slãbite. De asemenea, neuronii pot forma în timp noi conexiuni cu alþi neuroni. Aceste mecanisme stau la baza capacitãþii de adaptare a creierului la stimulii primiþi, pe care o numim în mod convenþional învãþare. În mod analog funcþioneazã ºi o reþea neuronalã artificialã. În cea mai general formã a sa, o reþea neuronalã este o maºinã proiectatã pentru a modela felul în care creierul rezolvã o anumitã problemã sau executã o 76 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
funcþie cu un anumit scop; reþeaua este de obicei implementatã folosindu-se componente electronice sau simulatã printr-un program. Simon Haykin (1994) considerã cã o reþea neuronalã este un procesor masiv paralel, distribuit, care are o tendinþã naturalã de a înmagazina cunoºtinþe experimentale ºi de a le face disponibile pentru utilizare. Ea se aseamãnã cu creierul în douã privinþe: Cunoºtinþele sunt cãpãtate de reþea printr-un proces de învãþare; Cunoºtinþele sunt depozitate nu în unitãþile de procesare (neuroni), ci în conexiunile interneuronale, cunoscute drept ponderi sinaptice. Procedura folositã pentru a executa procesul de învãþare se numeºte algoritm de învãþare, funcþia cãruia este de a modifica ponderile sinaptice ale reþelei într-un stil sistematic pentru a atinge obiectivul dorit de proiectare. Printre numeroasele proprietaþi interesante ale unei reþele neuronale, cea mai semnificativã este abilitatea acesteia de a învãþa prin intermediul mediului înconjurãtor, ºi prin aceasta sã-ºi îmbunãtãþeascã performanþele; creºterea performanþelor are loc în timp ºi conform cu unele reguli prestabilite. O reþea neuronalã îºi învaþã mediul printr-un proces iterativ de ajustãri aplicate conexiunilor ºi pragurilor sale sinaptice. În mod ideal, reþeaua devine mai inteligentã dupã fiecare iteraþie a procesului de învãþare. În contextul reþelelor neuronale vom defini astfel învãþarea: un proces prin care parametrii variabili ai unei reþele neuronale se adapteazã printr-un proces continuu de stimulare din partea mediului în care este inclusã. Tipul de învãþare este determinat de modul în care au loc schimbãrile parametrilor. Aºadar, învãþarea în contextul unei reþele neuronale se caracterizeazã prin urmãtoarele elemente: Reþeaua neuronalã este stimulatã de un mediu; Reþeaua neuronalã suferã schimbãri datoritã acestor stimulãri; Reþeaua neuronalã rãspunde în mod diferit mediului datoritã schimbãrilor care au apãrut în structura sa internã. Cu toate cã asemãnarea între sistemul nervos biologic ºi reþelele neuronale artificiale este relativ micã, reþelele neuronale artificiale prezintã un numãr surprinzãtor de caracteristici ale creierului. De exemplu, acestea pot învãþa din experienþã, generaliza din anumite exemple altele noi ºi sintetiza caracteristicile esenþiale din intrãri ce conþin si date irelevante. Un mare avantaj al reþelelor neuronale este cã pot descrie o problemã ºi sã o rezolve în acelaºi timp, prin auto-organizarea lor ºi nu prin program. Acest proces de auto-organizare are loc pe parcursul unui proces de învãþare obþinut prin cooperarea unei topologii iniþiale, a unor reguli de învãþare ºi a 77 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
unui numãr mare de antrenamente. Caracteristicile cele mai importante ale reþelelor neuronale sunt: Capacitatea de a învãþa: Reþelele neuronale artificiale nu necesitã programe puternice, ci sunt mai degrabã rezultatul unor antrenamente asupra unui set de date. Reþelele neuronale artificiale au un algoritm de învãþare, dupã care ponderile conexiunilor sunt ajustate pe baza unor modele prezentate. Cu alte cuvinte, reþelele neuronale învaþã din exemple, precum copii învaþã sã recunoascã un obiect pe baza unor instanþe ale acelui tip de obiect; Capacitatea de generalizare: Dacã au fost instruite corespunzãtor, reþelele sunt capabile sã dea rãspunsuri corecte ºi pentru intrãri diferite faþã de cele cu care au fost antrenate; Capacitatea de sintezã: Reþelele neuronale artificiale pot lua decizii sau trage concluzii când sunt confruntate cu informaþii afectate de zgomote sau cu informaþii irelevante sau parþiale. Datoritã acestor trãsãturi ale prelucrãrii informaþiei reþelele neuronale pot rezolva probleme complexe care sunt dificil de abordat prin metode clasice. Cu toate acestea, cercetãtorii recunosc cã mai au un drum lung de parcurs pânã vor ajunge sã construiascã un calculator care sã imite creierul omenesc. „Inteligenþa” la care au ajuns în prezent cele mai sofisticate reþele neuronale este sub nivelul unui copil de câþiva ani. Cu toate acestea nu trebuie minimizatã sau ignoratã importanþa reþelelor neuronale artificiale ºi este posibil ca pe viitor, cu ajutorul lor sã ajungem la o cunoaºtere mai aprofundatã a fenomenelor ce au loc in creierul uman. Ceea ce recomandã reþelele neuronale artificiale este raportul favorabil performanþã-complexitate, aflat într-o continuã creºtere ºi care este superior sistemelor de inteligenþã artificialã implementate prin alte tehnologii. 5.2 Reþele cu un singur strat Începutul reþelelor neuronale artificiale este legat de problema clasificãrii unor obiecte definite de o serie de atribute. Cel mai simplu model era funcþia ªI logic între anumite atribute (prezente sau absente), care sã determine o anumitã clasã. Totuºi, unele clase pot avea atribute comune, iar unele valori, în cazul în care provin dintr-un mecanism perceptual, pot fi afectate de zgomot. Soluþia s-a bazat pe faptul de bun simþ cã unele atribute sunt mai importante decât altele pentru determinarea unei anumite clase. O clasã era determinatã dacã sumarea valorilor ponderate depãºea un anumit prag, în bunã concordanþã cu legea biologicã „totul sau nimic” (dacã un impuls nu depãºeºte un prag minim, el nu produce nici un rãspuns). 78 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
Warren McCulloch ºi Walter Pitts (1943) au propus un astfel de model, care rãmâne pânã în prezent fundamentul structural pentru majoritatea reþelelor neuronale.
Figura 5.2. Modelul unui neuron
Fiecãrei conexiuni îi corespunde o valoare realã, numitã pondere sinapticã, care determinã efectul intrãrii respective asupra nivelului de activare a neuronului. Suma ponderatã a intrãrilor poartã denumirea de intrare netã (engl. „net input”). În figura 5.2, xi reprezintã intrãrile, wi ponderile sinaptice, f o funcþie de activare, è valoarea prag iar y ieºirea, care se calculeazã dupã formula: n y f wi xi i 1 –1 ºi 1:
(5.1)
McCulloch ºi Pitts foloseau o funcþie de activare signum, cu valorile 1, s 0 f (s) 1, s 0
(5.2)
Se punea acum problema determinãrii automate a acestor ponderi, în cazul în care neuronului îi erau prezentate mai multe obiecte, împreunã cu clasa cãreia aparþineau acestea. Rezolvarea a fost adusã de Frank Rosenblatt (1960), care a imaginat un algoritm de învãþare pentru aºa-numitul perceptron, o „reþea” cu un singur neuron, la fel ca aceea din figura 5.2. Ideea principalã este de a face mici ajustãri ale ponderilor pentru a reduce diferenþa dintre ieºirea realã a perceptronului ºi ieºirea doritã (Negnevitsky, 2002). Ponderile iniþiale sunt iniþializate aleatoriu (în general în intervalul 79 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
[-0.5, 0.5]) ºi apoi actualizate treptat astfel încât ieºirea sã se apropie de valorile dorite. Exemplele de antrenare sunt prezentate succesiv, în orice ordine. Dacã în pasul p ieºirea realã este y(p) iar ieºirea doritã este yd(p), atunci eroarea este: e(p) = yd(p) – y(p)
(5.3)
Dacã eroarea e este pozitivã, trebuie sã mãrim y ; dacã este negativã, y trebuie micºorat. Având în vedere cã fiecare intrare are contribuþia xi wi , atunci dacã xi este pozitivã, o creºtere a ponderii wi va avea ca efect o creºtere a ieºirii perceptronului. Invers, dacã xi este negativã, creºterea ponderii wi va determina scãderea ieºirii y. De aici poate fi stabilitã regula de învãþare a perceptronului: wi ( p 1) wi ( p ) e( p ) xi ( p) ,
(5.4)
unde (0, 1) este numitã rata de învãþare. Cu ajutorul perceptronului pot fi învãþate de exemplu funcþii binare elementare, precum ªI, SAU etc. (figura 5.3). Pe abscisã ºi ordonatã sunt reprezentate valorile celor douã intrãri, iar culoarea cercurilor reprezintã rezultatul operaþiei (alb = 0, negru = 1). Perceptronul împarte planul în douã regiuni de decizie (datoritã pragului funcþiei de activare). În cazul ndimensional, spaþiul soluþiilor va fi divizat tot în douã regiuni de un hiperplan. Acestea sunt probleme liniar separabile. Aici poate fi observatã ºi utilitatea pragului: în lipsa acestuia, hiperplanul separator ar trece întotdeauna prin origine, ceea ce nu este de dorit în orice situaþie.
Figura 5.3. Probleme liniar separabile: ªI, SAU
80 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
Algoritmul de antrenare garanteazã clasificarea corectã a douã clase pe baza setului de antrenare, cu condiþia ca acele clase sã fie liniar separabile. Scopul iniþial al perceptronului a fost recunoaºterea opticã a caracterelor. Rosenblatt a reuºit sã construiascã în 1968 un sistem bazat pe implementarea sa hardware, Mark I Perceptron, care e considerat primul neurocomputer funcþional. Foarte multe probleme sunt însã liniar neseparabile. De exemplu funcþia XOR (figura 5.4) nu poate fi învãþatã de un perceptron simplu. Minsky ºi Papert (1969) au demonstrat limitãrile serioase ale reþelelor de tip perceptron în aceste situaþii ºi cã sunt imposibile generalizãrile globale pe baza exemplelor învãþate local. De asemenea, ei au studiat posibilitatea utilizãrii perceptronilor pentru calculul predicatelor, demonstrându-le limitele în comparaþie cu maºina Turing. Concluzia cãrþii lor a fost cã ºi reþelele multistrat vor prezenta aceleaºi impedimente, ceea ce a determinat practic pierderea interesului pentru cercetãrile în domeniul reþelelor neuronale pentru aproape 20 de ani, când a fost gãsitã o soluþie fezabilã pentru problemele neseparabile liniar. Trebuie totuºi menþionat faptul cã XOR-ul multidimensional (suma modulo 2 a argumentelor) continuã sã fie o funcþie greu de învãþat ºi pentru reþelele neuronale actuale.
Figura 5.4. Problemã liniar neseparabilã: XOR
O altã arhitecturã de mare importanþã istoricã este adaline („adaptive linear element”) (Widrow, 1962), prezentatã doar la câteva luni dupã publicarea algoritmului lui Rosenblatt. Spre deosebire de perceptron, ieºirea nu este discretã, ci continuã, deoarece foloseºte funcþia de activare liniarã: f(s) = s. De asemenea, algoritmul de antrenare este diferit, bazându-se pe metoda celor mai mici pãtrate, sau regula delta. Scopul este minimizarea erorii pãtratice medii dintre ieºirea realã ºi cea doritã cu ajutorul unei metode de tip gradient descendent numitã coborârea cea mai abruptã (engl. „steepest descent”). Deºi metodologia de lucru este diferitã, actualizarea 81 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
ponderilor se face dupã aceeaºi formulã ca la perceptron (5.4), cu precizarea cã eroarea e are acum valori reale. Din punctul de vedere al comportamentului, spre deosebire de perceptron, adaline converge repede ºi învãþarea e în general stabilã chiar în probleme de clasificare neseparabile liniar. Dezavantajul sãu principal este faptul cã nu poate garanta separarea celor douã clase, chiar dacã acestea sunt liniar separabile. Widrow (1962) a generalizat modelul la o arhitecturã cu mai multe straturi numitã madaline („many adalines”). Aceasta constã dintr-un strat de neuroni adalini care pot fi antrenaþi ºi ale cãror ieºiri sunt conectate într-un al doilea strat, stratul de ieºire, format din neuroni care funcþioneazã ca porþi logice: ªI, SAU sau vot majoritar. Ponderile neuronilor din acest strat de ieºire nu sunt antrenabile, ci fixate, ceea ce conduce la clasificarea arhitecturii madaline tot ca o reþea cu un singur strat. 5.3 Perceptronul multistrat Încercãrile de rezolvare a problemelor neseparabile liniar au condus la diverse variante privind numãrul de straturi de neuroni ºi funcþiile de activare utilizate. Perceptronul multistrat (engl. „multilayer perceptron”, MLP) este tipul de reþea neuronalã cel mai cunoscut ºi mai des folosit. De cele mai multe ori, semnalele se transmit în interiorul reþelei într-o singurã direcþie: de la intrare spre ieºire. Nu existã bucle, ieºirea fiecãrui neuron neafectând neuronul respectiv. Aceastã arhitecturã se numeºte cu propagare înainte (engl. „feed-forward”) (figura 5.5). Straturile care nu sunt conectate direct la mediu se numesc ascunse. Existã în literatura de specialitate o controversã privind considerarea primului strat (de intrare) ca strat propriuzis în reþea, de vreme ce singura sa funcþie este transmiterea semnalelor de intrare spre straturile superioare, fãrã a face vreo prelucrare asupra intrãrilor. În cele ce urmeazã, vom numãra numai straturile formate din neuroni propriu-ziºi, însã vom spune cã intrãrile sunt grupate în stratul de intrare. Existã ºi reþele recurente (engl. „feed-back”), în care impulsurile se pot transmite în ambele direcþii, datoritã unor conexiuni de reacþie în reþea. Aceste tipuri de reþele sunt foarte puternice ºi pot fi extrem de complicate. Sunt dinamice, starea lor schimbându-se permanent, pânã când reþeaua ajunge la un punct de echilibru iar cãutarea unui nou echilibru are loc la fiecare schimbare a intrãrii. Introducerea mai multor straturi a fost determinatã de necesitatea creºterii complexitãþii regiunilor de decizie. Dupã cum am arãtat în paragraful anterior, un perceptron cu un singur strat ºi o ieºire genereazã regiuni de decizie de forma unor semiplane. Adãugând încã un strat, fiecare 82 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
neuron se comportã ca un perceptron standard asupra ieºirii neuronilor din stratul anterior ºi astfel ieºirea reþelei poate aproxima regiuni de decizie convexe, rezultate din intersecþia semiplanelor generate de neuroni. La rândul sãu, un perceptron cu trei straturi poate genera zone de decizie arbitrare (figura 5.6).
Figura 5.5. Reþea neuronalã feed-forward multistrat
Din punctul de vedere al funcþiei de activare a neuronilor, s-a constatat cã reþelele multistrat nu asigurã o creºtere a puterii de calcul în raport cu reþelele cu un singur strat dacã funcþiile de activare rãmân liniare, deoarece o funcþie liniarã de funcþii liniare este tot o funcþie liniarã. Puterea perceptronului multistrat provine tocmai din funcþiile de activare neliniare. Aproape orice funcþie neliniarã poate fi folositã în acest scop, cu excepþia funcþiilor polinomiale. În prezent, funcþiile cele mai des utilizate în prezent sunt sigmoida unipolarã (sau logisticã), afiºatã în figura 5.7: f ( s)
1 1 e s
(5.5)
ºi sigmoida bipolarã (tangenta hiperbolicã), afiºatã în figura 5.8 pentru a = 2: f ( s)
1 e a s . 1 e a s
(5.6)
83 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 5.6. Regiunile de decizie ale perceptronilor multistrat
1
0.5
0 -6
0
6
Figura 5.7. Funcþia de activare sigmoidã unipolarã
84 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
1
0
-1 -6
0
6
Figura 5.8. Funcþia de activare sigmoidã bipolarã
Se poate constata cã funcþiile sigmoide se comportã aproximativ liniar pentru valori absolute mici ale argumentului ºi se satureazã, preluând oarecum rolul de prag, pentru valori absolute mari ale argumentului. Funahashi (1989) a demonstrat cã o reþea (posibil infinitã) cu un singur strat ascuns este capabilã sã aproximeze orice funcþie continuã. Astfel se justificã proprietatea perceptronului multistrat de aproximator universal. De asemenea, aplicând teorema Stone-Weierstrass în domeniul reþelelor neuronale, s-a demonstrat cã acestea pot calcula anumite expresii polinomiale: dacã existã douã reþele care calculeazã exact douã funcþii f1, respectiv f2, atunci existã o reþea mai mare care calculeazã exact o expresie polinomialã de f1 ºi f2. 5.3.1 Algoritmul backpropagation Algoritmul backpropagation este cel mai cunoscut ºi utilizat algoritm de învãþare supervizatã. Numit ºi algoritmul delta generalizat deoarece extinde modalitatea de antrenare a reþelei adaline (regula delta), el se bazeazã pe minimizarea diferenþei dintre ieºirea doritã ºi ieºirea realã, tot prin metoda gradientului descendent (gradientul ne spune cum variazã o funcþie în diferite direcþii). Metoda a fost propusã pentru prima datã de Bryson ºi Ho (1969), dar la momentul respectiv a fost practic ignoratã, deoarece presupunea un volum de calcule prea mare pentru vremea respectivã. A fost redescoperitã apoi de Werbos (1974), însã abia la mijlocul anilor ’80 a fost lansatã de Rumelhart, Hinton ºi Williams (1986) ca instrument general acceptat de antrenare a perceptronului multistrat. Ideea
85 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
de bazã este gãsirea minimului funcþiei de eroare e(w) în raport cu ponderile conexiunilor. Algoritmul pentru un perceptron multistrat cu un strat ascuns este urmãtorul (Negnevitsky, 2002): Pasul 1: Iniþializarea Toate ponderile ºi pragurile reþelei sunt iniþializate cu valori aleatorii 2.4 2.4 , , nenule, distribuite uniform într-un mic interval, de exemplu Fi Fi unde Fi este numãrul total de intrãri ale neuronului i (Haykin, 1994). Dacã valorile acestea sunt 0, gradienþii care vor fi calculaþi pe parcursul antrenãrii vor fi tot 0 (dacã nu existã o legãturã directã între intrare ºi ieºire) ºi reþeaua nu va învãþa. Este chiar indicatã încercarea mai multor antrenãri, cu ponderi iniþiale diferite, pentru gãsirea celei mai bune valori pentru funcþia cost (minimul erorii). Dimpotrivã, dacã valorile iniþiale sunt mari, ele tind sã satureze unitãþile respective. În acest caz, derivata funcþiei sigmoide este foarte micã. Ea acþioneazã ca un factor de multiplicare în timpul învãþãrii ºi deci unitãþile saturate vor fi aproape blocate, ceea ce face învãþarea foarte lentã. Pasul 2: O nouã epocã de antrenare O epocã reprezintã prezentarea tuturor exemplelor din setul de antrenare. În majoritatea cazurilor, antrenarea reþelei presupune mai multe epoci de antrenare. Pentru a pãstra rigoarea matematicã, ponderile vor fi ajustate numai dupã ce toþi vectorii de test vor fi aplicaþi reþelei. În acest scop, gradienþii ponderilor trebuie memoraþi ºi ajustaþi dupã fiecare model din setul de antrenare, iar la sfârºitul unei epoci de antrenare, se vor modifica ponderile o singurã datã (existã ºi varianta „on-line”, mai simplã, în care ponderile sunt actualizate direct; în acest caz, poate conta ordinea în care sunt prezentaþi reþelei vectorii de test). Se iniþializeazã toþi gradienþii ponderilor ºi eroarea curentã cu 0: wij 0 , E = 0. Pasul 3: Propagarea semnalului înainte 3.1. La intrãrile reþelei se aplicã un exemplu din setul de antrenare. 3.2. Se calculeazã ieºirile neuronilor din stratul ascuns:
86 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
n y j ( p ) f xi ( p ) wij ( p ) j , i 1
(5.7)
unde n este numãrul de intrãri ale neuronului j din stratul ascuns, iar f este funcþia de activare sigmoidã. 3.3. Se calculeazã ieºirile reale ale reþelei: m y k ( p ) f x jk ( p ) w jk ( p) k , i 1
(5.8)
unde m este numãrul de intrãri ale neuronului k din stratul de ieºire. 3.4. Se actualizeazã eroarea pe epocã: EE
ek ( p) 2 2
.
(5.9)
Pasul 4: Propagarea erorilor înapoi ºi ajustarea ponderilor 4.1. Se calculeazã gradienþii erorilor pentru neuronii din stratul de ieºire:
k ( p ) f ' ek ( p ) ,
(5.10)
unde f' este derivata funcþiei de activare iar eroarea ek ( p ) y d , k ( p ) y k ( p ) . Dacã folosim sigmoida unipolarã (ecuaþia 5.5), derivata acesteia este: f ' ( x)
ex
1 e
x 2
f ( x) 1 f ( x) .
(5.11)
Dacã folosim sigmoida bipolarã (ecuaþia 5.6), derivata acesteia este: f ' ( x)
2 a e a x
1 e
ax 2
a 1 f ( x) 1 f ( x) . 2
(5.12)
87 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
În continuare, sã presupunem cã funcþia utilizatã este sigmoida unipolarã. Atunci relaþia (5.10) devine:
k ( p ) y k ( p ) 1 y k ( p ) ek ( p ) .
(5.13)
4.2. Se actualizeazã gradienþii ponderilor dintre stratul ascuns ºi stratul de ieºire: w jk ( p ) w jk ( p ) y j ( p) k ( p ) ,
(5.14)
4.3. Se calculeazã gradienþii erorilor pentru neuronii din stratul ascuns:
j ( p ) y j ( p ) 1 y j ( p ) k ( p ) w jk ( p ) , l
k 1
(5.15)
unde l este numãrul de ieºiri ale reþelei. 4.4. Se actualizeazã gradienþii ponderilor dintre stratul de intrare ºi stratul ascuns: wij ( p ) wij ( p) xi ( p) j ( p ) .
(5.16)
Pasul 5. O nouã iteraþie Dacã mai sunt vectori de test în epoca de antrenare curentã, se trece la pasul 3. Dacã nu, se actualizeazã ponderile tuturor conexiunilor pe baza gradienþilor ponderilor: wij wij wij ,
(5.17)
unde este rata de învãþare. Dacã s-a încheiat o epocã, se testeazã dacã s-a îndeplinit criteriul de terminare ( E Emax ) sau s-a atins un numãr maxim de epoci de antrenare). Dacã nu, se trece la pasul 2. Dacã da, algoritmul se terminã. 5.3.2 Metode de accelerare a învãþãrii Antrenarea unui perceptron multistrat este deseori destul de lentã, necesitând mii sau zeci de mii de epoci pentru probleme complexe. Cele mai 88 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
cunoscute metode de accelerare a învãþãrii sunt: metoda momentului ºi aplicarea unei rate de învãþare variabile. Metoda momentului Metoda momentului (engl. „momentum”) (Rumelhart, Hinton & Williams, 1986) propune adãugarea unui termen la ajustarea ponderilor. Acest termen este proporþional cu ultima modificare a ponderii, adicã valorile cu care se ajusteazã ponderile sunt memorate ºi influenþeazã în mod direct toate ajustãrile ulterioare:
wij ( p ) wij ( p ) wij ( p 1) ,
(5.18)
Adãugarea noului termen se face dupã actualizarea gradienþilor ponderilor din relaþiile 5.14 ºi 5.16. Metoda ratei de învãþare variabile Aceastã metodã este o tehnicã simplã de accelerare a învãþãrii (Silva & Almeida, 1990) ºi constã în utilizarea unei rate de învãþare individuale pentru fiecare pondere ºi adaptarea acestor parametri în fiecare iteraþie, în funcþie de semnele succesive ale gradienþilor: u ij ( p 1), sgn( wij ( p)) sgn( wij ( p 1)) ij ( p ) d ij ( p 1), sgn( wij ( p )) sgn( wij ( p 1))
(5.19)
Dacã pe parcursul antrenãrii eroarea începe sã creascã, în loc sã scadã, ratele de învãþare se reseteazã la valorile iniþiale ºi apoi se continuã procesul. 5.3.3 Considerente practice În implementarea algoritmului apar o serie de probleme practice, legate în special de alegerea parametrilor antrenãrii ºi a configuraþiei reþelei. În primul rând, o ratã de învãþare micã determinã o convergenþã lentã a algoritmului, pe când una prea mare poate cauza eºecul (algoritmul va „sãri” peste soluþie). Pentru probleme relativ simple o ratã de învãþare = 0.7 este acceptabilã, însã în general se recomandã rate de învãþare în jur de 0.2. Pentru accelerarea prin metoda momentului, o valoare satisfãcãtoare pentru á este 0.9. În cazul ratei de învãþare variabile, valori tipice care funcþioneazã bine în cele mai multe situaþii sunt: u = 1.2 ºi d = 0.8. 89 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Alegerea funcþiei de activare pentru stratul de ieºire al reþelei depinde de natura problemei care trebuie rezolvatã. Pentru neuronii din straturile ascunse, se preferã funcþii sigmoide, deoarece au avantajul atât al neliniaritãþii cât ºi al diferenþiabilitãþii (condiþie necesarã pentru aplicarea algoritmului backpropagation). Influenþa cea mai mare a unei sigmoide asupra performanþelor algoritmului se pare cã o are simetria faþã de origine (Almeida, 1997). Sigmoida bipolarã este simetricã faþã de origine, în timp ce sigmoida unipolarã este simetricã faþã de punctul (0, 0.5), ceea ce scade viteza de convergenþã. Pentru neuronii de ieºire se recomandã funcþii de activare adaptate distribuþiei datelor de ieºire. Astfel, pentru probleme de categorizare binarã (0/1), este potrivitã sigmoida unipolarã. Pentru categorizare cu n clase, fiecare corespunzând unei ieºiri binare a reþelei (de exemplu, într-o aplicaþie de recunoaºtere opticã a caracterelor), se poate folosi extensia softmax a sigmoidei unipolare: yk '
e yk
e
(5.20)
n
yi
i 1
Pentru valori continue se poate realiza o preprocesare ºi o postprocesare a datelor, astfel încât reþeaua sã opereze cu valori scalate, de exemplu în intervalul [-0.9, 0.9] pentru tangenta hiperbolicã. De asemenea, pentru valori continue funcþia de activare a neuronilor de ieºire poate fi liniarã, mai ales dacã nu existã limite cunoscute pentru intervalul în care se pot gãsi acestea. O altã problemã caracteristicã acestui mod de antrenare este datã de minimele locale. Într-un minim local, gradienþii erorii devin 0 ºi învãþarea nu mai continuã. O soluþie este încercarea mai multor antrenãri independente, cu ponderi iniþializate diferit la început, ceea ce creºte probabilitatea gãsirii minimului global. Pentru probleme mari, acest lucru poate fi greu de realizat ºi atunci pot fi acceptate ºi minime locale, cu condiþia ca erorile sã fie suficient de mici. De asemenea, se pot încerca diferite configuraþii ale reþelei, cu un numãr mai mare de neuroni în stratul ascuns sau cu mai multe straturi ascunse, care în general conduc la minime locale mai mici. Totuºi, deºi minimele locale sunt într-adevãr o problemã, în practicã nu reprezintã dificultãþi de nesoluþionat. O chestiune importantã este alegerea unei configuraþii cât mai bune pentru reþea din punctul de vedere al numãrului de neuroni în straturile 90 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
ascunse. În majoritatea situaþiilor, un singur strat ascuns este suficient. Nu existã niºte reguli precise de alegere a numãrului de neuroni. În general, reþeaua poate fi vãzutã ca un sistem în care numãrul vectorilor de test înmulþit cu numãrul de ieºiri reprezintã numãrul de ecuaþii iar numãrul ponderilor reprezintã numãrul necunoscutelor. Ecuaþiile sistemului sunt în general neliniare ºi foarte complexe ºi deci este foarte dificilã rezolvarea lor exactã prin mijloace convenþionale. Algoritmul de antrenare urmãreºte tocmai gãsirea unor soluþii aproximative care sã minimizeze erorile. O reþea neuronalã trebuie sã fie capabilã de generalizare. Dacã reþeaua aproximeazã bine setul de antrenare, aceasta nu este o garanþie cã va gãsi soluþii la fel de bune ºi pentru datele din alt set, cel de test. Generalizarea presupune existenþa în date a unor regularitãþi, a unui model care poate fi învãþat. În analogie cu sistemele liniare clasice, aceasta ar însemna niºte ecuaþii redundante. Astfel, dacã numãrul de ponderi este mai mic decât numãrul de vectori de test, pentru o aproximare corectã reþeaua trebuie sã se bazeze pe modelele intrinseci din date, modele care se vor regãsi ºi în datele de test. O regulã euristicã (Almeida, 1997) afirmã cã numãrul de ponderi trebuie sã fie în jur sau sub o zecime din produsul dintre numãrul de vectori de antrenare ºi numãrul de ieºiri. În unele situaþii însã (de exemplu, dacã datele de antrenare sunt relativ puþine), numãrul de ponderi poate fi chiar jumãtate din produs. Pentru un perceptron multistrat se considerã cã numãrul de neuroni dintr-un strat trebuie sã fie suficient de mare pentru ca acest strat sã furnizeze trei sau mai multe laturi pentru fiecare regiune convexã identificatã de stratul urmãtor (Dumitrescu, 1999). Deci numãrul de neuroni dintr-un strat trebuie sã fie de peste trei ori mai mare decât cel din stratul urmãtor. Dupã cum am menþionat, un numãr insuficient de ponderi conduce la „sub-potrivire” (engl. „under-fitting”), în timp ce un numãr prea mare de ponderi conduce la „supra-potrivire” (engl. „over-fitting”), fenomene prezentate în figura 5.9. Acelaºi lucru apare dacã numãrul de epoci de antrenare este prea mic sau prea mare. O metodã de rezolvare a acestei probleme este oprirea antrenãrii în momentul în care se atinge cea mai bunã generalizare. Pentru o reþea suficient de mare, s-a verificat experimental faptul cã eroarea de antrenare scade în mod continuu pe mãsurã ce creºte numãrul epocilor de antrenare. Totuºi, pentru date diferite de cele din setul de antrenare, se constatã cã eroarea scade la început pânã la un punct în care începe din nou sã creascã. De aceea, oprirea antrenãrii trebuie fãcutã în momentul când eroarea pentru setul de validare este minimã. Acest lucru se face împãrþind datele de 91 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
antrenare în douã: în jur de 90% din date vor fi utilizate pentru antrenarea propriu-zisã iar restul, numit set de validare încruciºatã (engl. crossvalidation) este folosit pentru mãsurarea erorii. Antrenarea se opreºte atunci când începe sã creascã eroarea pentru setul de validare încruciºatã, moment numit „punct de maximã generalizare”.
Figura 5.9. Capacitatea de aproximare a unei reþele neuronale în funcþie de numãrul de ponderi
În funcþie de performanþele reþelei în acest moment, se pot încerca apoi diferite configuraþii, crescând sau micºorând numãrul de neuroni din stratul (sau straturile) intermediar(e). 5.4 Reþele bazate pe funcþii radiale În cadrul problemelor de clasificare, o reþea bazatã pe neuroni cu funcþiii de activare din cele prezentate anterior împarte spaþiul de decizie în hiperplane. În acest paragraf vom considera un tip diferit de reþele, în care neuronii au funcþii de activare radiale, ceea ce le permite împãrþirea spaþiului de decizie în hipervolume (sau hipersfere, dacã se utilizezã metrica euclidianã). La fel ca ºi perceptronul multistrat, reþelele bazate pe funcþii radiale (engl. „radial basis function”, RBF) pot fi utilizate atât în probleme de clasificare, cât ºi de aproximãri funcþionale. Acest tip de reþele a fost introdus de Broomhead ºi Lowe (1988) ºi de Moody ºi Darken (1989). Topologia unei reþele RBF (figura 5.10) este foarte simplã; ea constã dintr-un strat de intrare care retransmite intrarea fãrã nici o prelucrare, un strat de neuroni RBF ºi un strat de ieºire format din neuroni prevãzuþi cu funcþii de activare liniare. Numãrul N2 de neuroni RBF se poate considera în primã instanþã egal cu numãrul N de exemple de antrenare. Vectorul de ponderi dintre 92 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
vectorul de intrare ºi neuronul RBF cu indicele j este egal cu vectorul de intrare al vectorului de antrenare cu indicele j: w j x j .
Figura 5.10. Reþea neuronalã RBF
Ieºirea neuronului j este atunci:
yi ( x) wij x x j N
j 1
,
(5.21)
unde : R+ R este o funcþie continuã monoton descrescãtoare, este o normã de distanþã, x este vectorul de intrare iar x j sunt exemplele de antrenare (Jutten, 1997). În timpul antrenãrii se ajusteazã ponderile wij dintre neuronii RBF ºi neuronii din stratul de ieºire. De obicei, pentru se foloseºte funcþia gaussianã, astfel încât relaþia 5.21 devine: yi ( x) wij e N
j 1
1
2 2j
x x j
2
.
(5.22)
Centrele gaussienelor sunt exemplele x j iar deviaþiile standard j. În general, pentru se considerã distanþa euclidianã: 93 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
xxj
x
k
xkj
k
2
.
(5.23)
Antrenarea se realizeazã prin ajustarea ponderilor wij ºi a deviaþiilor standard j. De asemenea, întrucât N este uneori foarte mare, ceea ce genereazã o reþea de complexitate excesivã, numãrul de neuroni RBF poate fi redus prin metode supervizate sau nesupervizate, rezultând o reþea neuronalã cu funcþii de bazã radialã generalizatã. Reþelele neuronale cu funcþii de bazã elipticã (engl. “elliptical basis function”, EBF) sunt o extensie a reþelelor RBF (Girosi, 1992; Mak & Kung, 2000). Utilizând distanþa Mahalanobis (Fisher, 2002), funcþia de ieºire a unui neuron este în acest caz: yi ( x) wij e N
1 xx j 2
x x T
1 j
j 1
j
,
(5.24)
unde j este matricea de covarianþã (Weisstein, 2004) corespunzãtoare unui centru j, în care un element este definit ca: kp xk k x p p .
(5.25)
În capitolele urmãtoare, pentru a facilita interpretarea lingvisticã a rezultatelor algoritmului de învãþare inductivã, se vor utiliza funcþii de bazã elipticã paralelã cu axele (engl. “axis-parallel elliptical basis functions”), în care matricea de covarianþã are elemente nenule numai pe diagonalã: k2 , kp 0,
kp . kp
(5.26)
5.4.1 Echivalenþa funcþionalã dintre reþelele RBF ºi sistemele fuzzy Jang ºi Sun (1993) au demonstrat cã reþelele cu funcþii de bazã radialã sunt echivalente din punct de vedere funcþional cu sistemele de inferenþã fuzzy. Existã câteva restricþii minore care trebuie respectate pentru aceasta: numãrul unitãþilor câmpului receptor din reþeaua RBF trebuie sã fie egal cu numãrul de reguli fuzzy; 94 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
inferenþele fuzzy sunt de tip Takagi-Sugeno iar ieºirea fiecãrei reguli fuzzy este compusã dintr-o constantã; funcþiile de apartenenþã din fiecare regulã fuzzy sunt funcþii 1 xc 2
2
gaussiene cu aceeaºi deviaþie standard: A ( x, c, ) e ; operatorul utilizat pentru a calcula puterea de aprindere a fiecãrei reguli este cel de multiplicare; atât reþeaua RBF cât ºi sistemul de inferenþã fuzzy folosesc aceeaºi metodã (sumã ponderatã sau medie ponderatã) pentru a-ºi deriva ieºirile generale. Datoritã acestui rezultat, este posibilã extragerea de reguli interpretabile fuzzy din reþele cu funcþii de bazã radialã (Jin & Sendhoff, 2003). În mod analog, reþelele neuronale cu funcþii de bazã elipticã paralele cu axele generalizate sunt echivalente cu numerele fuzzy gaussiene multidimensionale, cu deviaþii standard diferite pe dimensiuni diferite. 5.5 Învãþarea hebbianã Învãþarea nesupervizatã are ca scop clusterizarea datelor de intrare, adicã gruparea obiectelor similare ºi separarea celor diferite, în lipsa unor informaþii a priori în acest sens. De cele mai multe ori, reþelele neuronale care utilizeazã aceastã paradigmã de învãþare sunt foarte simple, cu un singur strat. Neexistând un instructor, reþeaua trebuie sã se auto-organizeze în conformitate cu unele reguli interne ca rãspuns la stimulii din mediul extern. Una din cele mai plauzibile legi de învãþare din punct de vedere biologic poartã numele de învãþare hebbianã, dupã numele neurofiziologului Donald Hebb (1949). Ideea de bazã este modificarea ponderii unei conexiuni proporþional cu produsul intrãrii ºi ieºirii conexiunii respective: wi y xi ,
(5.27)
unde ç este rata de învãþare, y reprezintã ieºirea conexiunii iar xi este o intrare a acesteia. Una din problemele învãþãrii hebbiene este faptul cã ponderile pot creºte nelimitat dacã intrarea nu este normalizatã corespunzãtor, iar învãþarea nu se terminã niciodatã. O normalizare foarte eficientã a regulii lui Hebb a fost propusã de E. Oja (1982): 95 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
wi y ( xi y wi ) .
(5.28)
Regula lui Oja produce un sistem optim, care maximizeazã semnalele utile în raport cu zgomotul ºi care poate fi folosit pentru extragerea de trãsãturi. Reþeaua poate fi extinsã pentru M unitãþi de ieºire: wij yi x j yi wkj , k
(5.29)
yi wij x j , i = 1, …, M
(5.30)
unde:
j
5.6 Harta de auto-organizare a lui Kohonen Algoritmul (Kohonen, 1995) trateazã mulþimea celor m vectori ai ponderilor ca variabile care trebuie învãþate. Este necesarã normalizarea acestora. Acest tip de învãþare se mai numeºte ºi „învingãtorul ia tot”, deoarece la un moment dat este actualizat numai vectorul ponderilor cel mai similar cu o intrare. Este selectat vectorul wr pentru care x wr min x wi . Indexul r desemneazã neuronul „învingãtor”, ale i 1,...,m
cãrui ponderi sunt cele mai bune aproximãri ale intrãrii curente x. Algoritmul poate fi sintetizat în urmãtorii paºi: Pasul 1: wr wr ( x wr ) , unde rata de învãþare ç se alege de obicei între 0.1 ºi 0.7 iar ieºirea or 1 w Pasul 2: Se normalizeazã vectorii: wr r wr
Pasul 3: Neuronii necâºtigãtori rãmân neschimbaþi: wi = wi, oi = 0, pentru i r La sfârºitul procesului, vectorii ponderilor indicã centrele de greutate ale claselor descoperite:
96 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Reþele neuronale
Figura 5.11. Clusterizare
Reþeaua poate fi antrenatã numai dacã clasele sunt liniar separabile de hiperplane care trec prin origine. Pentru a asigura separabilitatea acestora, învãþarea se poate face cu un numãr excesiv de mare de neuroni. În timpul antrenãrii, unii neuroni nu-ºi vor dezvolta ponderile sau acestea vor evolua în mod haotic. Ei nu vor fi luaþi în consideraþie la final. Ponderile celorlalþi neuroni se vor stabiliza la valorile care indicã clusterele. 5.7 Concluzii Reþelele neuronale îºi dovedesc în principal utilitatea în rezolvarea unor probleme dificile, cum sunt cele de estimare, identificare ºi predicþie sau de optimizare complexã. Datoritã independenþei efectuãrii operaþiilor din interiorul componentelor faþã de celelalte componente din sistem, modelele conexioniste au un potenþial mare de paralelism. Modul de memorare ºi procesare a datelor diferenþiazã reþelele neuronale artificiale de programele clasice, care urmeazã instrucþiunile întro ordine secvenþialã predefinitã, iar informaþia este memoratã în zone bine definite. Datoritã capacitãþii lor de a rezolva probleme complexe pe baza unei mulþimi consistente de exemple, sistemele conexioniste au un spectru larg de aplicabilitate: de la sisteme de recunoaºtere de forme (caractere, semnãturi, etc.) sau de semnale sonore, pânã la sisteme pentru controlul unor procese complexe, cum ar fi sistemele de auto-reglare sau piloþii automaþi. În acest capitol au fost prezentate caracteristicile principale ale unei reþele neuronale artificiale. Mai întâi au fost precizate asemãnãrile ºi deosebirile dintre reþelele neuronale ºi un sistem nervos biologic, insistânduse asupra capacitãþii unei reþele neuronale de a învãþa ºi înmagazina cunoºtinþe, pe baza unui proces de ajustãri ale ponderilor conexiunilor dintre neuroni. Apoi au fost amintite diverse tipuri de neuroni, cu anumite funcþii 97 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
de activare, precum ºi arhitecturile cele mai cunoscute de reþele. De asemenea, au fost descriºi unii algoritmi de antrenare de învãþare supervizatã ºi nesupervizatã.
98 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul VI
SISTEME HIBRIDE NEURO-FUZZY 6.1 Soft Computing Termenul Soft Computing a fost introdus de Lotfi Zadeh, cu scopul de a „exploata toleranþa la imprecizie, incertitudine ºi adevãr parþial pentru a dobândi flexibilitate, robusteþe, costuri scãzute ale soluþiilor ºi o legãturã mai bunã cu realitatea” (Zadeh, 1995). Aceastã caracteristicã îl face sã difere fundamental de computing-ul convenþional (hard), caracterizat tocmai de lipsa impreciziei ºi a adevãrurilor parþiale. Þinta finalã ar fi de fapt egalarea ºi chiar depãºirea performanþelor minþii umane. Soft computing-ul se caracterizeazã printr-un parteneriat al mai multor domenii, dintre care cele mai importante sunt reþelele neuronale, algoritmii genetici, logica fuzzy ºi raþionamentele probabilistice. Relaþiile dintre aceste componente sunt prezentate în figura 6.1.
Figura 6.1. Domeniul Soft Computing
Având la bazã modelul gândirii umane, soft computing-ul grupeazã aceste domenii, aflate nu într-o relaþie de tip concurenþial ci una de complementaritate, în care fiecare partener contribuie cu avantajele ºi tehnicile proprii la soluþionarea unor probleme imposibil de rezolvat în alt mod. Astfel, reþelele neuronale au capacitatea de a învãþa ºi de a se adapta, logica fuzzy oferã posibilitatea aproximãrii, în timp ce algoritmii genetici pot realiza o cãutare sistematizatã a soluþiei optime. Situat între sistemele de inteligenþã artificialã ºi computing-ul convenþional, soft computing-ul reprezintã problema de rezolvat de o aºa 99 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
manierã încât starea curentã a sistemului poate fi mãsuratã ºi comparatã cu starea ce se doreºte a fi obþinutã. Starea sistemului stã la baza adaptãrii parametrilor, care încetul cu încetul converg cãtre soluþia optimã. 6.2 Utilitatea sistemelor hibride neuro-fuzzy Fiecare tehnicã inteligentã are unele proprietãþi computaþionale tipice (de exemplu, capacitatea de a învãþa, explicarea deciziilor) care îi conferã aplicabilitatea pentru anumite probleme ºi prezintã dezavantaje în rezolvarea altora. De exemplu, reþelele neuronale au avantajul recunoaºterii modelelor, însã nu pot explica satisfãcãtor modul în care au ajuns la o concluzie. Dimpotrivã, sistemele fuzzy pot raþiona cu informaþii imprecise ºi îºi pot explica raþionamentul, dar nu pot achiziþiona automat regulile pe care le utilizeazã pentru luarea deciziilor. Aceste limitãri au fost principalul motiv pentru care s-a încercat crearea de sisteme inteligente hibride, în care douã sau mai multe tehnici pot fi combinate pentru a depãºi dezavantajele tehnicilor individuale. Modelarea cu reguli fuzzy, de tip dacã-atunci, este în general potrivitã pentru modelarea calitativã. Totuºi, în multe situaþii, datoritã incompletitudinii cunoaºterii, inerente unor situaþii reale, aceastã abordare se dovedeºte insuficientã. De aceea se face apel la unele metode conexioniste, cum ar fi reþelele neuronale. Sistemele neuro-fuzzy sunt astfel capabile sã înveþe din exemple, sã generalizeze pe baza cunoºtinþelor acumulate ºi, pe baza datelor primite, sã sintetizeze cunoºtinþe în forma regulilor fuzzy. În ultimii ani, sistemele neuronale hibride au suscitat un deosebit interes. Aceastã abordare s-a dovedit încununatã de succes în diferite domenii, precum diagnoza echipamentelor industriale, robotica sau controlul proceselor dinamice. Motivul principal al studierii sistemelor neuronale hibride este crearea de sisteme de reprezentare subsimbolicã, în special a reþelelor neuro-fuzzy. Din punctul de vedere al ºtiinþelor cognitive, reprezentarea neuronalã oferã avantajul omogenitãþii, a capacitãþii de învãþare prin exemple ºi a generalizãrii, precum ºi efectuarea de sarcini distribuite, în medii cu date incomplete sau afectate de zgomote. Din punctul de vedere al sistemelor bazate pe cunoºtinþe, reprezentãrile simbolice au avantajul interpretãrii umane, al controlului explicit ºi al abstractizãrii cunoaºterii. În inteligenþa artificialã, procedeul tradiþional este prelucrarea simbolicã. În modelele conexioniste însã, accentul cade pe posibilitãþile de învãþare. Combinarea celor douã abordãri este subiectul de cercetare în sistemele hibride, cum ar fi sistemele neuro-fuzzy. Modelele conexioniste 100 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
sunt instrumente puternice de prelucrare a cunoºtinþelor, eficiente mai ales în situaþii în care percepþia ºi reacþia sunt fundamentale ºi unde regulile explicite nu pot fi aplicate în mod natural sau direct. Totuºi, învãþarea prin exemple nu este o soluþie generalã, în multe situaþii entitãþile inteligente se bazeazã pe reguli formulate anterior de experþi. Cele douã abordãri pot fi utilizate în mod complementar. Aceasta este premisa creãrii de sisteme hibride inteligente, care combinã trãsãturi conexioniste (neuronale) ºi simbolice (fuzzy). În astfel de sisteme, mai întâi se introduc informaþii simbolice în reþeaua neuronalã, apoi se folosesc exemplele de instruire pentru rafinarea cunoºtinþelor iniþiale. În final, se proceseazã rezultatul pentru un set de intrãri ºi, prin metode specifice, se extrag informaþii simbolice din reþeaua antrenatã. Din momentul în care sistemele fuzzy au fost puse în practicã în aplicaþiile industriale, proiectanþii ºi-au dat seama de dificultãþile care surveneau în mod inerent. Problema gãsirii funcþiilor membre potrivite este de multe ori o chestiune de generare de valori ºi îndepãrtarea celor eronate. Aceste soluþii sunt greu de gãsit, mai ales într-un proces industrial dinamic. De aceea s-a ivit ideea aplicãrii algoritmilor de învãþare sistemelor fuzzy, ceea ce a determinat apariþia controllerelor fuzzy adaptabile sau cu autoorganizare. Sarcinile de lucru complexe pot da naºtere la minime locale, de aceea paradigma învãþãrii prin exemple se poate folosi mai mult pentru probleme simple. O rezolvare este împãrþirea problemei în subprobleme, rezolvate de diferite module neuro-fuzzy. În timp ce logica fuzzy asigurã mecanismele de inferenþã în cazul incertitudinii cognitive, reþelele neuronale oferã avantajele învãþãrii, adaptabilitãþii, toleranþei la defecte, paralelismului ºi generalizãrii. Sistemele neuro-fuzzy moderne au caracteristici care le fac adecvate controlului unor procese industriale: sunt sisteme fuzzy instruite printr-un algoritm de învãþare euristic, derivat în general din reþele neuronale, pot fi reprezentate printr-o arhitecturã de reþea neuronalã feed-forward multistrat ºi pot fi interpretate în termeni de reguli dacã-atunci. Totuºi, într-un sistem real, pot exista zeci de semnale de intrare. Un numãr excesiv de intrãri poate deteriora transparenþa modelului considerat ºi creºte complexitatea calculelor. De aceea, este necesarã selectarea intrãrilor relevante ºi considerarea de prioritãþi. Din punct de vedere teoretic, sistemele fuzzy ºi reþelele neuronale sunt echivalente, deoarece sunt inter-convertibile. Hayashi ºi Buckley (1994) au demonstrat cã: 101 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
orice sistem fuzzy bazat pe reguli poate fi aproximat de o reþea neuronalã; orice reþea neuronalã (feed-forward multistrat) poate fi aproximatã de un sistem fuzzy bazat pe reguli. În practicã însã, fiecare are avantajele ºi dezavantajele sale (Abraham, 2001; Nauck, 1999): Tabelul 6.1. Comparaþie între sistemele fuzzy ºi reþelele neuronale Sisteme fuzzy
Reþele neuronale avantaje Încorporeazã cunoºtinþe predefinite Pot învãþa fãrã nici o informaþie iniþialã bazate pe reguli Existã mai multe paradigme de Sunt interpretabile (reguli dacã-atunci) învãþare, potrivite diverselor situaþii Oferã o implementare simplã Existã o multitudine de algoritmi de învãþare disponibili în literatura de Cunoºtinþele sunt disponibile în orice specialitate moment dezavantaje Nu pot învãþa Sunt „cutii negre” sub-simbolice Trebuie sã dispunã de reguli stabilite a- Nu pot utiliza cunoºtinþe a-priori priori Necesitã algoritmi de învãþare Nu existã metode formale pentru complecºi ajustarea regulilor Nu existã garanþia cã învãþarea converge spre soluþie Prezintã dificultãþi în extragerea cunoºtinþelor structurale
Sistemele fuzzy prezintã în principal avantajul explicãrii comportamentului pe baza unor reguli ºi deci performanþele lor pot fi ajustate prin modificarea acestora. Totuºi, achiziþionarea cunoºtinþelor este dificilã iar universul de discurs al fiecãrei variabile de intrare trebuie divizat în mai multe intervale ºi de aceea, aplicaþiile sistemelor fuzzy sunt restrânse la domeniile în care sunt disponibile cunoºtinþele experþilor iar numãrul variabilelor de intrare este relativ mic. Pentru reþelele neuronale, cunoºtinþele sunt achiziþionate automat printr-un algoritm (de exemplu, back-propagation), dar procesul de învãþare este relativ lent iar analiza reþelei antrenate este dificilã (o reþea neuronalã este deseori consideratã o „cutie neagrã”, în care avem acces numai la intrãri ºi la ieºiri, fãrã a ºti precis ce se întâmplã în interior). Nu este posibilã nici extragerea cunoºtinþelor structurale (reguli) din reþeaua antrenatã, nici integrarea de informaþii speciale despre problemã, pentru a simplifica procedura de învãþare. 102 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
Utilizarea sistemelor hibride neuro-fuzzy minimizeazã dezavantajele ºi maximizeazã avantajele celor douã tehnici. Reþelele neuronale sunt folosite pentru adaptarea funcþiilor de apartenenþã ale sistemelor fuzzy în aplicaþiile de control automat al proceselor dinamice. Deºi logica fuzzy permite codarea cunoºtinþelor de tip expert prin termeni lingvistici, de obicei proiectarea ºi reglarea funcþiilor de apartenenþã care definesc cantitativ aceºti termeni este un demers greoi. Tehnicile de învãþare ale reþelelor neuronale pot automatiza procesul ºi deci pot reduce substanþial costul ºi timpul de dezvoltare a aplicaþiilor, conducând ºi la creºterea performanþelor. Pentru a depãºi problema achiziþiei cunoºtinþelor, reþelele neuronale pot fi proiectate sã extragã automat reguli fuzzy din date numerice. Alte abordãri presupun folosirea reþelelor neuronale pentru optimizarea unor anumiþi parametri ai sistemelor fuzzy sau pentru preprocesarea datelor de intrare în sistemele fuzzy (Fullér, 1995). 6.3 Tipuri de hibridizãri neuro-fuzzy În funcþie de modul de combinare a modulului simbolic fuzzy cu modulul conexionist subsimbolic, existã mai multe tipuri de hibridizãri, care vor fi detaliate în continuare. 6.3.1 Reþele neuronale fuzzy O reþea neuronalã fuzzy (engl. „fuzzy neural network”, FNN) reprezintã o reþea neuronalã care dispune de capacitatea de a prelucra informaþii fuzzy. Într-o astfel de reþea, semnalele de intrare ºi/sau ponderile conexiunilor ºi/sau ieºirile sunt submulþimi fuzzy sau mulþimi de valori de apartenenþã la mulþimi fuzzy. De obicei, se utilizeazã ca modele termeni lingvistici precum „mic”, „mediu”, „mare”, numere sau intervale fuzzy (Mitra & Hayashi, 2000). Structura acestui tip de sistem este urmãtoarea (MacRae & Pickering, 1998): Se observã cã modulele conexioniste implementeazã aici funcþiile unui sistem fuzzy. O reþea efectueazã fuzzyficarea datelor stricte de intrare, regulile fuzzy sunt realizate pe baza unei alte reþele, iar operaþia de defuzzyficare este îndeplinitã de o a treia reþea, pentru a furniza datele stricte de ieºire (Azvine, Azarmi & Tsui, 1996). Reþelele neuronale cu neuroni fuzzy intrã de asemenea în aceastã categorie deoarece sunt capabile sã prelucreze informaþii fuzzy. Aceste tipuri de reþele sunt utile în aplicaþii de regresie fuzzy (descoperirea de relaþii funcþionale între date fuzzy), control, rezolvarea ecuaþiilor matriceale fuzzy (folosite în economie) sau clasificare fuzzy. 103 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 6.2. Reþea neuronalã fuzzy
6.3.2 Perceptronul fuzzy În literatura de specialitate existã o multitudine de abordãri cu privire la implementarea unei reþele neuronale fuzzy, chiar într-o formã foarte simplã, cea a perceptronului multistrat. Detlef Nauck (1994) a încercat o sistematizare a acestor propuneri, rezultând o arhitecturã genericã de perceptron fuzzy, pe care apoi a utilizat-o în sistemul NEFCON (NEural Fuzzy CONtrol). Ideea centralã este identificarea unui model care poate fi iniþializat pe baza unor cunoºtinþe a-priori ºi care poate fi antrenat cu metode specifice reþelelor neuronale. Perceptronul fuzzy are arhitectura unui perceptron multistrat obiºnuit, însã ponderile sunt modelate sub forma unor mulþimi fuzzy. Funcþiile de activare, ieºire ºi propagare sunt modificate în consecinþã. Astfel, perceptronul fuzzy cu 3 straturi este definit ca o reþea neuronalã feed-forward cu 3 straturi (U, W, NET, A, O, ex) cu urmãtoarele specificaþii: U U i este o mulþime nevidã de unitãþi. U i , i, j {1,2,3} i{1, 2 , 3}
ºi U i U j pentru i j . U 1 se numeºte strat de intrare, U 2 –
strat de reguli (ascuns) iar U 3 – strat de ieºire; Structura reþelei (conexiunile) este definitã ca: W : U U F(R), astfel încât existã numai conexiuni W (u , v) cu u U i ºi v U i 1 (i {1,2}) . F(R) este mulþimea tuturor submulþimilor fuzzy din R; A defineºte o funcþie de activare Au pentru fiecare u U :
au Au (net u ) ; O defineºte o funcþie de ieºire Ou pentru fiecare u U :
o pentru unitãþile de intrare ºi ascunse: u U 1 U 2 , Au : R R, au Au (net u ) o pentru unitãþile de ieºire: u U 3 , Au : F(R) F(R),
104 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
o pentru unitãþile de intrare ºi ascunse: u U 1 U 2 , Ou : R R, ou Ou (au ) o pentru unitãþile de ieºire: u U 3 , Ou : F(R) R, ou Ou (au ) DEFUZZ u (au ) , unde DEFUZZ u este o funcþie potrivitã de defuzzyficare; NET defineºte o funcþie de propagare NETu pentru fiecare u U , care calculeazã intrarea netã netu : o pentru unitãþile de intrare: u U 1 , NETu : R R, netu exu o pentru unitãþile ascunse existã relaþiile: u U 2 , NETu : (R×F(R)) U 1 [0,1] , netu T (W (u ' , u ), ou ' ) , unde T este o u 'U1
t-normã o pentru unitãþile de ieºire existã relaþiile: u U 3 , NETu : ([0,
1]×F(R)) U 2 F(R), netu ( x) S (T (ou ' , W (u ' , u )), x) , unde u 'U 2
S este o t-conormã; ex :U1 R defineºte pentru fiecare unitate de intrare u U1 ieºirea externã ex(u ) exu . Scopul perceptronului fuzzy nu este fuzzyficarea integralã a unei reþele neuronale de tip perceptron ºi nici modelarea unui sistem de inferenþã bazat pe logica fuzzy. Se observã cã numai ponderile, intrãrile nete ºi funcþiile de activare ale unitãþilor de ieºire sunt reprezentate ca mulþimi fuzzy. Perceptronul fuzzy prezentat mai sus este asemãnãtor cu perceptronul clasic, utilizat pentru aproximãri de funcþii. Avantajul sãu este posibilitatea de a asocia termeni lingvistici cu ponderile sale fuzzy ºi astfel, reþeaua poate fi creatã parþial sau integral pe baza unor reguli fuzzy de tip dacã-atunci. Gãsirea unui algoritm de antrenare (supervizatã) pentru perceptronul fuzzy este mai dificilã decât în cazul perceptronului clasic neuronal deoarece funcþiile de activare ale unitãþilor sunt definite sub forma unor tnorme ºi t-conorme care în general nu sunt diferenþiabile ºi deci metoda gradientului descendent nu poate fi utilizatã. Nauck propune urmãtorul algoritm de retro-propagare fuzzy a erorii (fuzzy back-propagation). Presupunem cã ponderile antecedente (dintre stratul de intrare ºi cel ascuns) i , j W (ui , u j ), ui U1 , u j U 2 ºi ponderile concluzive (dintre stratul ascuns ºi cel de ieºire) j , k W (u j , uk ), u j U 2 , uk U 3 sunt modelate sub forma unor numere
105 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
fuzzy triunghiulare (conform relaþiei 1.11). Setul de antrenare conþine modele de forma p (i ( p ) , t ( p ) ) [0,1]n [0,1]m , unde i desemneazã intrãrile în reþeaua neuronalã fuzzy iar t – ieºirile dorite. Se iniþializeazã eroarea E = 0. Pasul 1: Se alege un model p din setul de antrenare care nu a mai fost ales în cadrul epocii curente de antrenare. Se propagã vectorul de intrare i ( p ) ; Pasul 2: Se calculeazã diferenþele u pentru toate unitãþile u U 2 U 3 :
( p) u
sgn(t u( p ) ou( p ) ) Eu( p ) , u U 3 a ( p ) ( p ) , u U v 2 vU 3 u tu( p ) ou( p ) ( p) ( p) max ou min ou u u
Eroarea fuzzy Eu( p ) 1 e scalare. Se actualizeazã eroarea totalã: E
2
, unde ã este un factor de
E
p uU 3
( p) u
;
Pasul 3: Se determinã parametrii care vor fi ajustaþi pentru ponderile fuzzy. Sã presupunem cã ponderile antecedente sunt definite de funcþii de apartenenþã cu centrul c, limita la stânga l c ºi limita la dreapta r c . Dacã aceºti parametri pot fi modificaþi cu rate de învãþare diferite: l , c , r R pentru j , k ºi cu l ,c ,r R pentru i, j , atunci:
( p ) l j ,k l uk (c j ,k l j ,k )
( p ) c j ,k c uk (r j ,k l j ,k )
( p ) r j ,k r u k (r j ,k c j ,k ) ( p ) li , j l u j (c j ,k li , j )
( p ) ci , j c u j (aui ci , j ) ( p ) ri , j r u j ( ri , j c j ,k )
Pasul 4: Dacã E EMAX , E = 0 ºi se începe o nouã epocã de antrenare la Pasul 1. Ideea care stã la baza algoritmului este reglarea parametrilor care definesc mulþimile fuzzy corespunzãtoare ponderilor. În unele cazuri, suportul unei mulþimi trebuie deplasat la dreapta sau la stânga pentru ca
106 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
centrul sã aproximeze mai bine o anumitã valoare, în altele suportul trebuie mãrit pentru a include cât mai multe valori. Ratele de învãþare diferite permit schimbãri de mãrimi diferite ale parametrilor. De exemplu, acestea pot fi utilizate dacã se doresc numai deplasãri mici ale suportului unei mulþimi faþã de poziþia sa iniþialã, iar învãþarea trebuie sã se facã în principal prin lãrgirea sau strâmtarea suportului. Aceastã arhitecturã poate fi folositã pentru aproximaþii funcþionale pe baza unor eºantioane de date, iar sistemul antrenat poate servi pentru probleme de clasificare, control, etc. 6.3.3 Sisteme fuzzy neuronale Un sistem fuzzy neuronal (engl. „neural fuzzy system”, NFS) este un sistem fuzzy prevãzut cu o reþea neuronalã pentru dezvoltarea unor caracteristici precum flexibilitate, vitezã ºi adaptabilitate. Schema bloc funcþionalã a unui astfel de sistem este prezentatã în figura 6.3.
Figura 6.3. Sistem fuzzy neuronal
Cunoaºterea de tip expert este convertitã mai întâi într-o formã simbolicã (1) ºi apoi utilizatã pentru iniþializarea reþelei neuronale (2). În continuare, reþeaua este antrenatã pe baza intrãrilor ºi ieºirilor unui sistem real (3). Cunoºtinþele obþinute din reþeaua neuronalã (4) sunt prelucrate apoi într-o manierã fuzzy pentru determinarea unor reguli de inferenþã fuzzy, comunicate în final expertului (5). Pentru a înþelege mai bine funcþionarea sa, vom considera un exemplu. Sistemul poate fi vãzut ca un doctor cãruia i se predau mai întâi noþiuni medicale teoretice în sala de curs. El va folosi aceste cunoºtinþe generale pentru a înþelege mai apoi ce se întâmplã când i se prezintã cazuri ºi operaþii reale. În final, va fi el însuºi capabil sã punã în practicã cele învãþate. 107 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Aceste sisteme sunt potrivite în special pentru achiziþia de cunoºtinþe ºi învãþare. Ele pot realiza procesul de inferenþã fuzzy cu ajutorul ponderilor conexiunilor reþelei care corespund parametrilor raþionamentului. Folosind algoritmi de învãþare cum ar fi back-propagation, aceste sisteme pot identifica reguli fuzzy, pentru ca apoi sã înveþe funcþiile de apartenenþã ale inferenþelor. Un sistem fuzzy neuronal ar trebui, teoretic, sã poatã învãþa ºi reguli lingvistice sau sã optimizeze regulile deja existente. Existã aici trei posibilitãþi (Nauck, Klawonn & Kruse, 1997): Sistemul nu dispune iniþial de nici o regulã. El trebui sã creeze noi reguli pânã când problema de învãþare este rezolvatã. Crearea unei reguli noi este determinatã de un model de antrenare care nu este acoperit suficient de baza curentã de reguli; Sistemul porneºte cu toate regulile care pot fi create prin partiþionarea variabilelor. Pe parcursul antrenãrii, el eliminã regulile inutile din baza de reguli prin evaluarea perfomanþelor acestora; Sistemul are iniþial un numãr fix de reguli. În timpul învãþãrii, acestea sunt modificate sau înlocuite printr-un proces de optimizare. 6.3.4 Sisteme hibride neuro-fuzzy Acestea sunt cele mai studiate sisteme hibride la ora actualã. Sistemele hibride neuro-fuzzy sunt o combinaþie de reþele neuronale ºi logicã fuzzy în care ambele tehnici joacã un rol cheie: logica fuzzy asigurã structura în care poate fi exploatatã capacitatea de învãþare a reþelelor neuronale. Unii autori (Nauck & Kruse, 1998) considerã cã un sistem neurofuzzy este definit de urmãtoarele caracteristici: este un sistem fuzzy antrenat printr-un algoritm de învãþare (euristic), derivat din tehnicile specifice reþelelor neuronale; poate fi reprezentat printr-o arhitecturã de reþea neuronalã feedforward; poate fi oricând interpretat în termenii regulilor fuzzy dacã-atunci; procedura de antrenare ia în calcul semantica modelului fuzzy pentru a conserva interpretabilitatea sa lingvisticã; poate realiza (cazuri speciale) de aproximare funcþionalã. În acest domeniu au fost propuse mai multe modalitãþi de combinare a celor douã tehnici (Azvine, Azarmi & Tsui, 1996). În primul rând, reþelele neuronale pot fi utilizate pentru generarea ºi reglarea funcþiilor de apartenenþã a sistemului fuzzy (figura 6.4). Sistemele neuro-fuzzy pot avea arhitecturi de tip serie sau paralel. În figura 6.5 se prezintã un sistem neuro108 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
fuzzy în care reþeaua neuronalã joacã rolul de preprocesare.
Figura 6.4. Reglarea neuronalã a funcþiilor de apartenenþã a unui sistem fuzzy
Figura 6.5. Arhitecturã de sistem neuro-fuzzy de tip serie
Utilitatea acestui tip de sistem se evidenþiazã în situaþiile în care intrarea în sistemul fuzzy nu poate fi legatã direct la o ieºire a unui senzor. Apare deci necesitatea ca ieºirea senzorului sã fie preprocesatã de reþeaua neuronalã ºi apoi ieºirea reþelei sã constituie intrarea pentru sistemul fuzzy. Existã de asemenea ºi sisteme de postprocesare, atunci când ieºirea sistemului fuzzy nu poate fi conectatã direct cu echipamente externe. În acest caz, reþeaua neuronalã se constituie într-o interfaþã care realizeazã o mapare care ar fi mai greu realizabilã prin tehnici analitice. În figura urmãtoare este schiþat un sistem neuro-fuzzy cu o arhitecturã de tip paralel, cu scopul ajustãrii ieºirii (figura 6.6). Reþeaua neuronalã regleazã ieºirea sistemului fuzzy pe baza a ceea ce a învãþat despre preferinþele personale ale utilizatorului din ajustãrile anterioare pe care acesta le-a efectuat. Sistemele neuro-fuzzy se bucurã de apreciere în mai multe domenii. Un exemplu notabil este cel al controlului automat, în special aplicaþiile aeronautice ºi aerospaþiale, în care pilotul automat trebuie sã simuleze capacitatea umanã de a raþiona în diverse situaþii (Noor, 1996). Alt exemplu este cel al recunoaºterii trãsãturilor faciale (Lee, Ham & Park, 1996). Trãsãturile sunt identificate ºi fuzzyficate pentru a le scãdea sensibilitatea faþã de variaþiile inerente care apar chiar în cazul aceleiaºi persoane. Aceste 109 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
caracteristici fuzzyficate sunt apoi introduse într-o reþea neuronalã care implementeazã procesul propriu-zis de recunoaºtere.
Figura 6.6. Arhitecturã de sistem neuro-fuzzy de tip paralel
6.3.5 Adaptive-Network-Based Fuzzy Inference System (ANFIS) Sistemul de Inferenþã Fuzzy bazat pe Reþele Adaptive, realizat de Jang (1993), implementeazã un sistem de inferenþã fuzzy bazat pe modelul Takagi-Sugeno, prezentat în paragraful 4.5.2. Arhitectura ANFIS este structuratã pe 5 straturi:
Figura 6.7. Arhitectura ANFIS
Primul strat realizeazã fuzzyficarea datelor de intrare, adicã converteºte intrãrile stricte x ºi y în valori ale funcþiilor de apartenenþã fuzzy corespunzãtoare nodurilor. De exemplu, ieºirea nodului A1 va fi: O1A1 A1 ( x) . Analog, ieºirea nodului B2 va fi: OB1 2 B2 ( x) . Pentru acest model se folosesc în general funcþii de apartenenþã Bell generalizate (relaþia 4.16) sau gaussiene (relaþia 4.13), care au avantajul cã sunt continue ºi diferenþiabile. 110 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Sisteme hibride neuro-fuzzy
În al doilea strat (stratul de reguli), se multiplicã semnalele de intrare: Oi2 wi Ai ( x) Bi ( y ), i 1,2. La ieºire se poate aplica ºi o tnormã asupra produsului. Ieºirile nodurilor din acest strat semnificã puterile de aprindere (engl. „firing strengths”) ale regulilor corespunzãtoare. În al treilea strat se face normalizarea puterilor de aprindere, astfel încât suma acestora sã fie 1. Normalizarea este foarte simplã, fiecare semnal w1 de intrare se divide cu suma totalã a intrãrilor: Oi3 wi . Ieºirile se w1 w2 numesc puteri de aprindere normalizate ale regulilor. Al patrulea strat este un strat de defuzzyficare. Aici se aplicã modelul Takagi-Sugeno, se calculeazã un polinom de ordin întâi (o funcþie liniarã) de variabilele de intrare ºi apoi rezultatul este ponderat cu puterile de aprindere normalizate calculate anterior: 4 Oi w1 f1 w1 ( pi x qi y ri ). Constantele pi, qi ºi ri sunt parametrii concluzivi ai sistemului de inferenþã. Ultimul strat este format dintr-un singur neuron sumator, care calculeazã suma ieºirilor din straturile de defuzzyficare ºi produce ieºirea din sistemul ANFIS: O O 5 Oi4 . i
Învãþarea într-un sistem ANFIS se bazeazã pe o schemã hibridã. Mai întâi, utilizatorul decide numãrul de reguli ºi modul lor de interacþiune, construind astfel cunoºtinþele integrate a-priori despre structura soluþiei. Funcþiile de apartenenþã trebuie iniþializate astfel încât sã împartã cât mai egal universul discursului ºi sã aibã suficiente suprapuneri. În pasul „înainte” al antrenãrii, se calculeazã ieºirile neuronilor pânã în stratul 4 iar parametrii concluzivi (coeficienþii funcþiei liniare) sunt calculaþi prin metoda celor mai mici pãtrate. În pasul „înapoi”, semnalele de eroare sunt retropropagate ºi se actualizeazã parametrii antecedenþi (ai funcþiilor de apartenenþã) prin metoda gradientului descendent. Baza de reguli trebuie cunoscutã a-priori, deoarece ANFIS nu poate decât sã ajusteze funcþiile de apartenenþã ale parametrilor antecedenþi ºi concluzivi. Deoarece este uºor de implementat, acest sistem este atractiv pentru aplicaþii. Totuºi, algoritmul de învãþare necesitã mari resurse de calcul, iar modelul are dificultãþi în privinþa problemelor de mari dimensiuni, care implicã un mare numãr de partiþii, reguli ºi deci parametri concluzivi, mai ales cã fiecãrui termen lingvistic îi corespunde o singurã mulþime fuzzy (Mitra & Hayashi, 2000).
111 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
6.4 Concluzii Sistemele fuzzy ºi reþelele neuronale sunt estimatori numerici ºi în acelaºi timp sisteme dinamice, care prezintã capacitatea de a dezvolta inteligenþa agenþilor care acþioneazã în medii nesigure, imprecise ºi afectate de zgomot. Este ºi dezideratul domeniului soft computing-ului, care încearcã simularea performanþelor minþii umane prin combinarea unor tehnici precum reþelele neuronale, sistemele fuzzy ºi algoritmii genetici. Relaþia dintre reþelele neuronale ºi cunoºtinþele lingvistice este bidirecþionalã. De aceea, sistemele de clasificare bazate pe reþele neuronale pot fi antrenate cu date numerice ºi cunoºtinþe lingvistice, iar sistemele de clasificare fuzzy bazate pe reguli pot fi proiectate cu ajutorul cunoºtinþelor lingvistice ºi a regulilor fuzzy extrase din reþele neuronale. Logica fuzzy ºi modelele conexioniste au necesitãþi contrastante din punctul de vedere al aplicaþiilor practice. Sistemele fuzzy sunt potrivite atunci când existã suficientã cunoaºtere de tip expert. Reþelele neuronale sunt adecvate dacã existã suficiente date disponibile sau mãsurabile. Sistemele fuzzy conduc la o abordare calitativ-simbolicã, pe când reþelele neuronale se preteazã mai ales la o abordare cantitativ-numericã. Combinarea sistemelor fuzzy cu reþelele neuronale conduce la reducerea ºi chiar eliminarea dezavantajelor individuale ale celor douã tehnici. În acelaºi tip, prin diverse modalitãþi de hibridizare, se pot pune în valoare avantajele incontestabile ale acestora: capacitatea de învãþare a reþelelor neuronale ºi reprezentarea explicitã, simbolicã a cunoºtinþelor prin intermediul sistemelor fuzzy. Reþelele neuronale fuzzy menþin proprietãþile de bazã ale reþelelor neuronale, la care se adaugã fuzzyficarea unora din elementele lor caracteristice pentru a putea prelucra informaþii fuzzy. Pentru concretizare, au fost descrise structura ºi algoritmul de învãþare ale unui perceptron fuzzy. Sistemele fuzzy neuronale încearcã ajustarea regulilor din sistemul fuzzy prin metode tipice reþelelor neuronale, fãrã a-ºi pierde caracteristicile esenþiale (fuzzyficarea, defuzzyficarea, motorul de inferenþã ºi fundamentul logicii fuzzy). În abordarea hibridã neuro-fuzzy, atât tehnicile fuzzy cât ºi cele conexioniste joacã un rol cheie, fiecare îndeplinind funcþii diferite în sistem, potrivite naturii sale. În aceastã categorie intrã Sistemul de Inferenþã Fuzzy bazat pe Reþele Adaptive (ANFIS).
112 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul VII
ÎNVÃÞAREA ÎN SISTEMELE MULTIAGENT 7.1 Introducere Între noþiunea de inteligenþã ºi capacitatea de învãþare existã o strânsã legãturã. În general se considerã cã un sistem inteligent trebuie sã fie capabil sã înveþe ºi reciproc, un sistem care învaþã poate fi considerat inteligent. Fiind un concept care a suscitat dintotdeauna un mare interes, în literatura de specialitate existã o multitudine de definiþii, considerate din diferite perspective: biologicã, psihologicã sau, mai nou, din punctul de vedere al domeniului învãþãrii automate (engl. „machine learning”). Învãþarea este o caracteristicã generalã a lumii vii, incluzând fenomene foarte variate, care implicã o gamã largã de efectori, receptori, recepþii senzoriale ºi motivaþii, începând cu „obiºnuirea” prezentã la organismele cele mai simple ºi terminând cu formele cele mai sofisticate ale memoriei umane. De aceea, este util sã amintim o definiþie a învãþãrii din perspectivã psihologicã (Hildard & Bower, 1975). Astfel, învãþarea se referã la schimbarea din comportamentul unui subiect într-o anumitã situaþie, determinatã de experienþe repetate în acea situaþie, în cazul în care schimbarea nu poate fi explicatã pe baza tendinþelor native, maturizãrii sau stãrilor temporare (precum oboseala, consumul de substanþe psihotrope etc.). Psihologia cognitivã (Zlate, 1999) restrânge aceastã definiþie la modificãrile comportamentului unui organism care pot fi atribuite experienþei sale senzoriale anterioare. În cadrul acestei definiþii, termenii „învãþare” ºi „memorie” nu mai sunt complementari, ca în limbajul comun; primul desemneazã achiziþia unor informaþii sau aptitudini practice, în timp ce al doilea relevã pãstrarea ºi evocarea acestora. Din punctul de vedere al inteligenþei artificiale (Sen & Weiß, 2000), învãþarea apare ca achiziþia de noi cunoºtinþe ºi capacitãþi motorii ºi cognitive ºi încorporarea acestora în activitãþi viitoare, cu condiþia ca achiziþia ºi încorporarea sã fie fãcute de sistemul însuºi ºi sã conducã la o îmbunãtãþire a performanþelor sale. Indiferent de perspectiva din care este abordat conceptul, trebuie subliniate cele douã componente principale ale învãþãrii (Rich, 1983): achiziþia de noi cunoºtinþe; integrarea acestora în baza de cunoºtinþe a sistemului ºi deducerea ulterioarã de noi informaþii în lipsa faptelor concrete necesare. 113 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Învãþarea automatã este unul din domeniile esenþiale ale inteligenþei artificiale, însã aplicaþiile în inteligenþa artificialã distribuitã nu s-au remarcat decât relativ recent. Aici cercetãrile s-au concentrat în special asupra sistemelor multiagent cu structurã ºi comportament proiectate detaliat ºi în consecinþã necesitatea flexibilizãrii prin învãþare nu a fost consideratã o prioritate. Pe de altã parte, urmând tradiþia inteligenþei artificiale de a simula funcþiile intelectului uman, învãþarea automatã s-a axat pe o abordare centralizatã, în care învãþarea era privitã ca un proces izolat în sisteme de sine stãtãtoare, care nu se gãseau neapãrat în interacþiune cu altele. Colaborarea celor douã subdiscipline a apãrut din necesitatea echipãrii sistemelor multiagent, din ce în ce mai complexe, cu posibilitãþi de învãþare ºi a extinderii domeniului învãþãrii automate pentru identificarea principiilor care stau la baza proceselor de naturã socialã, atât din sistemele artificiale cât ºi din cele naturale. Sisteme multiagent actuale trebuie sã acþioneze în medii de dimensiuni foarte mari (de exemplu Internetul), imprevizibile ºi deci este practic imposibilã codarea a priori a tuturor acþiunilor care pot ºi trebuie efectuate în diversele situaþii care pot apãrea în decursul funcþionãrii. Astfel, sistemele trebuie sã se poatã adapta dinamic prin înzestrarea agenþilor cu unele capacitãþi de învãþare. Crescând performanþele individuale, vor creºte ºi performanþele sistemului ca ansamblu. A doua cauzã a creºterii interesului pentru învãþarea în sisteme distribuite este înþelegerea faptului cã un sistem multiagent este mai mult decât simpla sumã a agenþilor componenþi (este un sistem superaditiv). Datoritã multiplelor interacþiuni dintre indivizi, comportamentul adaptiv al sistemului este o extensie a proceselor de învãþare individuale. Existã deci douã tipuri principale de învãþare în sistemele multiagent: învãþarea centralizatã (izolatã), atunci când procesul de învãþare este efectual în totalitate de un singur agent, în mod independent, fãrã a necesita interacþiuni cu alþi agenþi; învãþarea descentralizatã (interactivã), atunci când mai mulþi agenþi sunt angajaþi în acelaºi proces de învãþare. 7.2 Învãþarea cu întãrire Cercetãrile asupra învãþãrii în lumea vie au relevat faptul cã un rol crucial îl deþine interacþiunea cu mediul. Exersarea legãturilor senzorialmotorii cu mediul înconjrãtor produce o mare cantitate de informaþii de tip cauzã-efect despre consecinþele acþiunilor ºi deciziile potrivite pentru 114 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
atingerea scopurilor. Aceste interacþiuni sunt o sursã majorã de cunoºtinþe asupra mediului ºi a celorlalþi indivizi. În fiecare moment, suntem conºtienþi de modul în care mediul reacþioneazã la acþiunile noastre ºi cãutãm sã influenþãm acest lucru prin propriul nostru comportament. Interacþiunea este cauza fundamentalã care stã la baza tuturor teoriilor despre învãþare ºi inteligenþã. Într-un sistem multiagent, învãþarea cu întãrire (engl. “reinforcement learning”) se referã la legãturile pe care un agent trebuie sã le facã între situaþii ºi acþiuni astfel încât sã maximizeze un semnal, în general numeric, numit recompensã. Trebuie menþionat faptul cã acest tip de învãþare nu este definitã prin caracterizarea algoritmilor ci a problemei de învãþare. Orice algoritm potrivit unei astfel de probleme este considerat un algoritm de învãþare cu întãrire. Una din modalitãþile practice de implementare este cea a reþelelor neuronale, algoritmii putând fi vãzuþi ca variaþiuni ale algoritmului backpropagation. În acestã abordare, învãþarea cu întãrire este o clasã intermediarã de învãþare, unde nu existã un instructor, ca în învãþarea supervizatã, ci un critic, care indicã nivelul de corectitudine al rãspunsului (de multe ori, el precizeazã doar dacã rãspunsul e bun sau rãu). Sistemul trebuie sã înveþe ce trebuie sã facã pentru maximizarea recompensei. Nu i se spune direct ce acþiune trebuie sã aleagã în pasul urmãtor, ci trebuie sã descopere singur ce acþiuni prezintã cel mai mare beneficiu. În cele mai interesante cazuri, o acþiune nu afecteazã numai recompensa imediatã, ci ºi situaþia urmãtoare ºi deci toate recompensele ulterioare. Aceste douã caracteristici, „încercare ºi eroare” ºi recompensa întârziatã, sunt cele mai importante trãsãturi prin care se distinge învãþarea cu întãrire. Acest tip de învãþare se deosebeºte de învãþarea supervizatã, care foloseºte exemple furnizate de un supervizor extern. Acest model nu este totuºi potrivit învãþãrii pe baza interacþiunilor. Deseori, în probleme interactive sunt dificil de obþinut exemple de comportament atât corecte cât ºi reprezentative pentru toate situaþiile în care se poate gãsi sistemul. În situaþii de nedeterminare, acesta trebuie sã înveþe din propria experienþã. Ideea de bazã este perceperea celor mai importante aspecte ale problemei reale pe care o întâmpinã un agent în interacþiunea cu mediul sãu înconjurãtor pentru a atinge scopul urmãrit. Agentul trebuie sã poatã detecta starea sistemului într-o anumitã mãsurã ºi sã poatã realiza acþiuni astfel încât sã schimbe acea stare. În acelaºi timp, agentul trebuie sã aibã unul sau mai multe scopuri privind starea sistemului. O problemã specificã învãþãrii cu întãrire este compromisul care trebuie stabilit între explorare ºi exploatare. Pentru a obþine o recompensã 115 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
suficient de mare, sistemul preferã alegerea unor acþiuni pe care le-a încercat anterior ºi care s-au dovedit eficiente. Dar pentru descoperirea unor asemenea acþiuni, el trebuie sã aleagã ºi acþiuni pe care nu le-a selectat în trecut. Sistemul trebuie sã „exploateze” ceea ce ºtie deja pentru a obþine o recompensã, dar trebuie în acelaºi timp sã „exploreze” posibilitatea gãsirii altor acþiuni potrivite pentru viitor. Sistemul trebuie sã încerce o varietate de acþiuni ºi apoi sã le aleagã pe acelea care par optime. O altã trãsãturã esenþialã a învãþãrii cu întãrire este faptul cã se ia în considerare problema în ansamblu. Aceasta constrasteazã cu multe abordãri de tip „divide et impera” care nu studiazã ºi modul în care subproblemele se încadreazã în imaginea generalã a problemei. 7.2.1 Caracteristici ale învãþãrii cu întãrire Învãþarea cu întãrire prezintã o serie de caracteristici de mare importanþã: tactica agentului; funcþia recompensã; funcþia valoare; modelul mediului. Tactica (engl. „policy”) defineºte modul de comportare al agentului la un moment dat. Ea se referã la asocierea dintre stãrile cunoscute ale mediului ºi acþiunile preferate din acele stãri. Aceasta corespunde asocierii stimul-rãspuns din psihologie. În unele cazuri, tactica poate fi aleatorie, o funcþie simplã sau o tabelã de cãutare, pe când în altele poate implica calcule laborioase, de exemplu un proces de cãutare. Tactica este nucleul comportamentului unui agent care învaþã prin întãrire. Funcþia recompensã defineºte scopul într-o problemã de învãþare cu întãrire. Aceasta ascociazã stãrile (sau perechile stare-acþiune) cunoscute cu un semnal numeric care indicã dezirabilitatea stãrii respective. Obiectivul agentului este maximizarea recompenselor pe care le primeºte în timp. Funcþia recompensã defineºte care sunt situaþiile „bune” ºi „rele” pentru agent. Într-un sistem biologic, putem identifica recompensa cu „plãcerea” ºi „durerea”. Acestea sunt caracteristicile imediate ºi definitorii ale problemei cu care se confruntã agentul. Din acest motiv, funcþia recompensã trebuie fixatã ºi poate fi folosita ca o bazã pentru modificarea tacticii. De exemplu, dacã o acþiune selectatã de tacticã produce o recompensã scãzutã, atunci tactica poate fi schimbatã astfel încât sã selecteze o altã acþiune în viitor. În general, funcþiile recompensã pot fi stohastice. În timp ce funcþia recompensã indicã dezirabilitatea în viitorul imediat, funcþia valoare specificã dezirabilitatea pe o perioadã mai 116 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
îndelungatã de timp. Valoarea unei stãri este recompensa totalã la care se poate aºtepta agentul în viitor, începând cu acea stare ºi luând în considerare ºi stãrile probabile ce pot apãrea dupa aceasta, împreunã cu recompensele corespunzãtoare acestor stãri. De exemplu, o stare poate implica o recompensã imediatã micã, dar poate avea o valoare mare deoarece este urmatã de obicei de alte stãri cu recompense mari. Recompensa rezultã dintr-o prelucrare primarã, pe când valoarea presupune o prelucrare secundarã, superioarã. În evaluarea ºi luarea deciziilor pentru alegerea acþiunilor, valorile sunt cele care conteazã. Scopul agentului nu trebuie sã fie câºtigul imediat, ci un câºtig cât mai mare în timp. Din pãcate, determinarea valorilor este mult mai dificilã decât determinarea recompenselor. Recompensele sunt semnale directe ale mediului înconjurãtor, pe când valorile trebuie calculate sau estimate pe baza observaþiilor pe care le face în mod continuu agentul. Componenta cea mai importantã a unui algoritm de învãþare cu întãrire este metoda de calcul al valorii, într-un mod cât mai eficient ºi cât mai corect. Modelul mediului conferã indicii asupra comportãrii mediului de execuþie. Dacã mediul este previzibil, dintr-o anumitã stare ºi cu o anumitã acþiune, agentul poate prevedea care va fi starea urmãtoare a mediului ºi, implicit, care va fi recompensa aferentã. Modelul mediului este utilizat pentru planificarea acþiunilor, adicã luarea unor decizii asupra acþiunilor în stãri viitoare care nu au fost experimentate încã, dar au fost prevãzute. În faza iniþialã, sistemele de învãþare cu întãrire se bazau doar pe încercare ºi eroare. Încorporarea modelelor pentru mediu este o direcþie relativ nouã, determinatã de recunoaºterea legãturii între acest tip de sisteme ºi programarea dinamicã ºi metodele stare-spaþiu de planificare. 7.2.2 Metoda diferenþelor temporale Metoda diferenþelor temporare (Sutton, 1988) a avut o contribuþie centralã ºi novatoare în dezvoltarea domeniului învãþãrii cu întãrire, reuºind pe de o parte sã determine învãþarea din experienþa propriu-zisã, fãrã un model al dinamicii mediului, ºi pe de alta sã actualizeze estimãrile valorilor pe baza altor estimãri învãþate anterior, fãrã a aºtepta rezultatul final. Mediul de execuþie al unui agent poate fi modelat printr-un proces de decizie Markov, discret în timp, cu stãri finite. Acesta este vãzut ca o 4-tuplã S, A, P, r , unde S este o mulþime de stãri, A este o mulþime de acþiuni, P : S S A [0,1] reprezintã probabilitatea de deplasare din starea s1 în starea s2 prin acþiunea a, iar r : S A R este o funcþie scalarã de recompensã. 117 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
O decizie Markov deterministã este una în care tranziþiile stãrilor sunt deterministe (o acþiune realizatã în starea xt determinã întotodeauna tranziþia cãtre aceeaºi stare succesoare xt+1). Alternativ, într-un process Markov nedeterminist, o distribuþie de probabilitate defineºte o mulþime de stãri succesoare potenþiale pentru o acþiune datã într-o anumitã stare. Dacã procesul de decizie Markov este nedeterminist, este necesar sã determinãm acþiunea care returneazã valoarea maximã aºteptatã (suma încercãrilor ºi integrala peste toate stãrile succesoare posibile pentru o anumitã acþiune). De exemplu, pentru a gãsi valoarea aºteptatã a stãrii urmãtoare asociatã cu o acþiune anume, trebuie sã realizãm acea acþiune de un numãr infinit de ori ºi sã calculãm integrala peste toate valorile posibile ale stãrilor succesoare pentru acþiunea respectivã. Sã presupunem cã agentul se aflã la momentul de timp t ºi încearcã determinarea valorilor. La momentul t 1 , metoda presupune formarea unei þinte ºi actualizarea valorilor, pe baza recompensei observate rt 1 ºi a estimãrii V ( st 1 ) . În varianta TD(0), aceastã actualizare este de forma: V ( st ) V ( st ) (rt 1 V ( st 1 ) V ( st )) ,
(7.1)
unde [0,1] este rata de reducere (engl. „discount rate”), care determinã valoarea prezentã a recompenselor viitoare iar este constantã micã numitã ratã de învãþare. Deoarece metoda îºi bazeazã actualizãrile pe estimãri deja existente, spunem cã e o metodã bootstrap, ca ºi programarea dinamicã. Þinta este o estimare fiindcã V ( st 1 ) nu este cunoscut ºi în locul sãu se foloseºte estimarea curentã Vt ( st 1 ) . Algoritmul TD(0) pentru estimarea valorii V este prezentat în continuare (Sutton & Barto, 1998): se iniþializeazã V(s) în mod arbitrar ºi ð cu tactica de evaluat; repetã pentru fiecare episod: iniþializeazã s; repetã pentru fiecare pas al episodului: a = acþiunea datã de ð pentru s; îndeplineºte acþiunea a, observã recompensa r ºi starea urmãtoare s'; V(s) = V(s) + ç (r + ã V(s' ) – V(s)) s = s' ; pânã când s este o stare terminalã.
118 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
Se poate observa cu uºurinþã cã în acest caz sunt luate în considerare numai starea curentã ºi starea urmãtoare, sau, dacã dorim sã efectuãm o analizã cauzalã, starea curentã ºi starea anterioarã. Pentru ca algoritmul de învãþare sã fie mai eficient, trebuie sã studiem ºi stãri mai distanþate în timp de starea curentã. Avem de-a face astfel cu studiul cãilor prin care un agent a ajuns într-o anumitã stare, în vederea predicþiei modalitãþilor de acþiune viitoare. Definim astfel noþiunea de urmã de eligibilitate (engl. „eligibility trace”) ca fiind o înregistrare temporarã a apariþiei unui eveniment, cum ar fi vizitarea unei stãri sau îndeplinirea unei acþiuni. Aceastã urmã indicã parametrii de memorie asociaþi cu evenimentele drept eligibili pentru a suferi schimbãri prin învãþare. Când apare o eroare, numai stãrile sau acþiunile eligibile sunt considerate responsabile. Astfel, urmele de eligibilitate conecteazã evenimentele ºi informaþiile de antrenare pe parcursul unor perioade mai lungi de timp. O variantã mai generalã a metodei diferenþelor temporale este TD(ë). Aici este necesarã o variabilã suplimentarã, care memoreazã urmele de eligibilitate. Urma de eligibilitate pentru starea s la momentul t se noteazã et (s ) R+. La fiecare pas, acestea se micºoreazã cu , iar urma de eligibilitate pentru starea vizitatã în acel pas este incrementatã cu 1: et 1 ( s ), s st et ( s) et 1 ( s ) 1, s st
(7.2)
pentru toate stãrile nonterminale s, unde ã este rata de reducere iar ë parametrul de degradare a urmei (engl. „trace-decay parameter”), care aratã cât de departe în timp „priveºte” algoritmul ºi cât de repede descreºte importanþa stãrilor odatã cu diferenþa de timp. În unele cazuri, se pot alege alte modalitãþi de a caracteriza viteza de degradare, de exemplu o constantã de timp sau un factor de înjumãtãþire. Acest tip de urmã de eligibilitate poartã denumirea de urmã de acumulare, deoarece creºte de fiecare datã când starea este vizitatã ºi apoi scade gradual când starea nu mai este vizitatã. Evenimentele de întãrire care ne intereseazã sunt erori de un pas, moment cu moment:
t rt 1 Vt ( st 1 ) Vt ( st )
(7.3)
119 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Semnalul global de eroare pentru TD(ë) determinã actualizãri proporþionale pentru toate stãrile vizitate recent, semnalate de urmele lor de eligibilitate nevide: Vt ( s) t et ( s ), s S
(7.4)
Actualizãrile pot fi efectuate dupã fiecare pas, ceea ce constituie un algoritm de învãþare online, sau pot fi salvate pânã la sfârºitul episodului, producând un algoritm offline. Algoritmul TD(ë) online este descris mai jos (Sutton & Barto, 1998): se iniþializeazã V(s) în mod arbitrar ºi e(s)=0 pentru toate stãrile s S repetã pentru fiecare episod: iniþializeazã s; repetã pentru fiecare pas al episodului: a = acþiunea datã de ð pentru s; îndeplineºte acþiunea a, observã recompensa r ºi starea urmãtoare s'; ä = r + ã V(s' ) – V(s); e(s) = e(s) + 1; pentru toate stãrile s: V(s) = V(s) + ç ä e(s); e(s) = ã ë e(s); s = s' ; pânã când s este o stare terminalã.
7.2.3 Q-learning O mare importanþã pentru învãþarea cu întãrire a avut-o apariþia algoritmului Q-learning (Watkins, 1989). În acest caz, funcþia acþiunevaloare învãþatã, Q, aproximeazã direct funcþia optimã Q*, independent de tactica urmatã. Acest fapt simplificã foarte mult analiza algoritmului ºi îi creºte viteza de convergenþã. Tactica are totuºi efect, întrucât determinã ce perechi stare-acþiune sunt vizitate ºi actualizate. S-a demonstrat cã aproximarea discretã în timp Qt converge cu probabilitatea 1 la Q*. Sã presupunem cã agentul are o tacticã , care mapeazã starea curentã în acþiunile dezirabile din acea stare. Valoarea aºteptatã într-o stare x, pe baza tacticii , este: V E t rs,t , t 0
(7.5)
120 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
unde rs, t este o variabilã corespunzãtoare recompensei primite de agent la t paºi de timp dupã ce începe sã foloseascã tactica în starea s. Se observã cã o recompensã primitã dupã k paºi de timp are o valoarea unei recompense imediate înmulþite cu k 1 . Dacã 1 , suma infinitã are o valoare finitã, atâta vreme cât ºirul de recompense este mãrginit. Dacã 0 , agentul este interesat numai de maximizarea
recompensei imediate, rs, t 1 . În general, o astfel de strategie reduce accesul la recompense viitoare, astfel încât câºtigul total poate fi mai mic. Cu cât se apropie de 1, cu atât creºte pentru agent importanþa recompenselor viitoare. Algoritmul are ca scop gãsirea unei tactici * care maximizeazã V ( s ), s S . Tactica de decizie este reprezentatã de o funcþie Q : S A R, care estimeazã recompensele reduse pe termen lung pentru fiecare pereche stare-acþiune. Valorile Q sunt definite astfel:
Q ( s, a) Va; ( s ) ,
(7.6)
unde a ; denotã secvenþa de evenimente determinatã de alegerea acþiunii a în starea curentã, urmatã de alegerea acþiunilor bazate pe tactica . Acþiunea a care trebuie îndeplinitã în starea s este selectatã astfel încât sã maximizeze recompensa:
V * ( s) max Q * ( s, a ), s S . aA
(7.7)
Dacã o acþiune a în starea s produce o întãrire r ºi o tranziþie cãtre starea s', valoarea Q corespunzãtoare se modificã astfel: Q ( s, a ) Q ( s, a ) (r max Q ( s ' , a ' ) Q ( s, a )) . a ' A
(7.8)
Tactica optimã pe care trebuie sã o urmeze agentul este:
* arg max Q ( s, a ) . a
(7.9)
În cele ce urmeazã, este schiþat algoritmul Q-learning (Sutton & Barto, 1998): 121 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
se iniþializeazã Q(s,a) în mod arbitrar; repetã pentru fiecare episod: iniþializeazã s; repetã pentru fiecare pas al episodului: alege a din s folosind tactica derivatã din Q (de ex.: å-greedy); îndeplineºte acþiunea a, observã recompensa r ºi starea urmãtoare s'; Q(s,a) = Q(s,a) + ç (r + ã max Q (s ' , a ' ) – Q(s,a)) a'
s = s' ; pânã când s este o stare terminalã.
7.3 Agenþi concurenþi Într-un sistem multiagent, în care fiecare agent poate interacþiona cu ceilalþi în diferite moduri, abordarea centralizatã a învãþãrii se dovedeºte insuficientã. Proiectarea unui astfel de sistem are ca scop o comportare cât mai performantã a ansamblului, care, dupã cum am menþionat, nu poate fi determinatã numai pe baza comportamentelor adaptive individuale. Ignorarea acestor aspecte conduce de multe ori la evoluþia impredictibilã sau nedoritã a sistemului. Învãþarea în acest caz este un mecanism necesar pentru selectarea unei acþiuni potrivite în condiþii de incertitudine. Când un agent este plasat într-un sistem multiagent, unele axiome ale învãþãrii automate nu mai sunt îndeplinite. Agentul nu mai învaþã pe baza unor exemple bine definite dintr-un set determinat de antrenare; dimpotrivã, conceptele sale þintã (conceptele care trebuie învãþate) se modificã permanent, în funcþie de dinamica adaptivã a celorlalþi agenþi. Agentul nu învaþã doar sã rãspundã cât mai adecvat la schimbãrile mediului de execuþie, el trebuie sã prevadã într-o mãsurã mai micã sau mai mare ºi evoluþia celorlalþi agenþi. Am vãzut cã algoritmii de învãþare cu întãrire, des utilizaþi în domeniul agenþilor inteligenþi, presupun maximizarea beneficiilor individuale, a câºtigului imediat sau a estimãrii unor câºtiguri viitoare. Totuºi, în cadrul interacþiunilor dintre agenþi, apar deseori situaþii conflictuale, când scopurile participanþilor sunt diferite sau chiar opuse, iar acþiunile lor conduc la rezultate diferite pentru agenþii implicaþi. Cea mai simplã abordare a acestei probleme este proiectarea unor agenþi „egoiºti”, care sã încerce sã câºtige în fiecare situaþie cât mai mult. Avem de-a face în acest caz cu agenþi concurenþi. O rezolvare mai interesantã este construirea unor agenþi cooperanþi, care sã colaboreze pentru o valorificare cât mai bunã a resurselor sistemului. Apar astfel 122 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
organizaþii de agenþi în care indivizii adoptã roluri potrivite propriilor capacitãþi, iar sistemul poate rezolva sarcini pe care, datoritã complexitãþii sau dificultãþii, nu le-ar putea rezolva nici un agent de unul singur. 7.3.1 Niveluri de agenþi Datoritã interacþiunilor dintr-un sistem multiagent, se pune problema nivelului de complexitate a modelului pe care fiecare agent trebuie sã ºi-l construiascã despre ceilalþi agenþi. Un model corect îl va ajuta sã estimeze acþiunile celorlalþi ºi sã determine cele mai potrivite acþiuni pe care el însuºi sã le efectueze. Analiza complexitãþii acestor modele stã la baza metodei modelãrii recursive a agenþilor (Gmytrasiewicz & Durfee, 1995; Vidal & Durfee, 1997). Aceastã metodã abordeazã sistemul multiagent din perspectiva unui agent individula care încearcã sã decidã ce acþiune efectoare sau de comunicare trebuie sã îndeplineascã în momentul imediat urmãtor. Agentul se presupune cã este raþional, adicã încearcã sã-ºi maximizeze utilitatea aºteptatã, în funcþie de convingeri. Metoda propune o reprezentare formalizatã a convingerilor agentului despre mediu, a capacitãþilor ºi preferinþelor sale, împreunã cu o procedurã care opereazã asupra acestei reprezentãri ºi care indicã acþiunea raþionalã necesarã. Pentru a lua o decizie, agentul trebuie sã ºtie ºi ce vor face agenþii ceilalþi, cu o anumitã probabilitate ºi deci trebuie sã modeleze ºi reprezentarea internã a acestora. Însã ºi ceilalþi agenþi pot modela participanþii din sistemul multiagent, inclusiv agentul considerat iniþial. Acest fapt conduce la o recursivitate de imbricare a modelelor. Astfel, agenþii pot fi împãrþiþi pe mai multe niveluri, în funcþie de gradul lor de conºtienþã socialã (engl. „social awareness”): Agenþii de nivel 0 nu modeleazã comportamentul celorlalþi agenþi. Practic, aceºtia nu sunt conºtienþi de existenþa altor agenþi în mediu. Ei învaþã sã aleagã o acþiune într-o anumitã stare a mediului numai pe baza recompensei pe care o primesc dupã efectuarea acesteia; Agenþii de nivel 1 recunosc existenþa altor agenþi în mediul de execuþie ºi faptul cã acþiunile acestora le influenþeazã propriile recompense. Ei au ºi un set de cunoºtinþe despre utilitatea unor serii de acþiuni conjugate. Un agent de acest nivel ºtie, de exemplu, ce utilitate va avea o acþiune a sa, în condiþiile în care un alt agent acþioneazã într-un anume fel. Prin observarea comportamentului celorlalþi, el îºi construieºte modele probabilistice pentru a putea prevedea acþiunile lor viitoare ºi pentru a putea rãspunde în consecinþã; 123 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Agenþii de nivel 2 considerã cã toþi ceilalþi agenþi din sistem sunt agenþi de nivel 1. Ei îºi construiesc astfel modele despre modelele acestora despre ceilalþi agenþi. Un astfel de agent aplicã algoritmul de nivel 1 celorlalþi agenþi pentru a le prezice distribuþia de probabilitate a acþiunilor ºi pentru a selecta astfel propria acþiune adecvatã; În general, agenþii de nivel n considerã cã toþi ceilalþi agenþi sunt agenþi de nivel n–1. Aceastã categorizare ajutã la estimarea costului computaþional al algoritmilor de învãþare automatã potriviþi pentru o problemã datã. Nivelul 0 este cel mai uºor de implementat, deoarece necesitã învãþarea unei singure funcþii, fãrã cunoºtinþe suplimentare. Învãþarea la nivelul 1 presupune memorarea acþiunilor corecte corespunzãtoare mulþimii de acþiuni efectuate de ceilalþi agenþi. Aceste cunoºtinþe trebuie integrate în structura agenþilor. Pentru a exemplifica, vom considera un sistem de comerþ electronic studiat de Vidal ºi Durfee (1998), cu agenþi de diferite niveluri. Strategiile corespunzãtoare agenþilor de nivel 0 ºi 1 sunt descrise în continuare. Sã presupunem cã în sistem existã numai agenþi de nivel 0. Un cumpãrãtor de nivel 0 alege un vânzãtor s* pentru achiziþionarea unui bun g astfel:
s* arg max f g ( psg ) , sS
(7.10)
unde S este mulþimea vânzãtorilor iar funcþia f g ( p) returneazã valoarea aºteptatã de cumpãrãtor pentru bunul g la preþul p. Aceastã funcþie este învãþatã prin întãrire: f t g1 ( p ) (1 ) f t g ( p ) Vbg ( p , q ) ,
(7.11)
unde ç este rata de învãþare care descreºte în timp de la 1 cãtre o valoare finalã min . Cumpãrãtorul trebuie sã realizeze ºi un compromis între exploatare ºi explorare. Astfel, el poate alege un vânzãtor la întâmplare, cu probabilitatea å, care descreºte de asemenea în timp. Un vânzãtor s trebuie sã vândã un produs g la un preþ mai mare sau egal decât costul sãu: psg csg , iar preþul de vânzare este ales altfel încât sã-i maximizeze profitul: 124 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
ps* arg max hsg ( p ) ,
(7.12)
p P p c sg
unde P este mulþimea preþurilor iar funcþia hsg ( p ) returneazã profitul aºteptat de vânzãtor pentru bunul g la preþul p. ªi în acest caz funcþia profit este învãþatã prin întãrire: htg1 ( p ) (1 ) htg ( p ) Vsg ( p ) ,
(7.13)
p csg , dacã g se vinde Vsg ( p ) 0, altfel
(7.14)
În cazul când agenþii sunt de nivel 1, strategiile lor se modificã. Un cumpãrãtor de nivel 1 modeleazã fiecare vânzãtor cu o funcþie de densitate de probabilitate de forma qsg (x) , unde x reprezintã „calitãþile” unui vânzãtor s care a vândut în trecut un produs g. Cumpãrãtorul va alege un vânzãtor s* pentru achiziþionarea unui bun g astfel încât sã-ºi maximizeze valoarea aºteptatã:
s* arg max E (Vbg ( psg , qsg ( x))) arg max sS
sS
1 Q
q xQ
g s
( x) Vbg ( psg , x) ,(7.15)
unde Q este mulþimea nivelurilor de calitãþi posibile. Un cumpãrãtor de nivel 1 nu-ºi construieºte modele ºi despre ceilalþi cumpãrãtori. Un vânzãtor de nivel 1 modeleazã la rândul sãu fiecare cumpãrãtor b al bunuilui g cu o funcþie de densitate de probabilitate de forma mbg ( p ) , care reprezintã probabilitatea ca b sã aleagã preþul p pentru bunul g. Vânzãtorul trebuie sã-i modeleze ºi pe ceilalþi vânzãtori s ai bunului g cu o funcþie nbg ( y ) , unde y este preþul cerut de s pentru bunul g. Pe baza acestor informaþii, vânzãtorul va cere un preþ care sã-i maximizeze profitul aºteptat: p* arg max( p csg ) p P
N ( g , b, s, s', p, p' ) ,
s 'S { s}
(7.16)
125 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
n g ( p ' ), dacã mbg ( p ' ) mbg ( p ) N ( g , b, s, s ' , p, p ' ) s ' 0, altfel
(7.17)
Funcþia alege cea mai bunã ofertã, calculând pentru fiecare ofertã posibilã probabilitatea ca aceasta sã câºtige licitaþia cu un profit cât mai mare. Probabilitatea de câºtig este obþinutã înmulþind probabilitãþile de a cere un preþ mai mic decât ceilalþi vânzãtori. Probabilitatea de a cere mai puþin decât un anumit vânzãtor este obþinutã prin sumarea probabilitãþilor corespunzãtoare tuturor ofertelor ale acelui vânzãtor, pentru care cumpãrãtorul va prefera oferta vânzãtorului considerat. În concluzie, studiile privind agenþii de nivel n au arãtat cã un agent de nivel n va avea întotdeauna performanþe superioare într-un sistem care conþine agenþi de nivel n–1. Pe de altã parte, costurile computaþionale ale trecerii pe un nivel urmãtor cresc exponenþial. Pe mãsurã ce agenþii din sistem îºi incrementeazã nivelul, câºtigurile agentului considerat se micºoreazã. Motivul este faptul cã un agent de nivel n poate specula lipsa de echilibru dinamic al sistemului de agenþi de nivel n–1. Când toþi agenþii devin de nivel n, sistemul atinge mai repede o stare de echilibru, aºa încât avantajele gândirii strategice se reduc. În acest caz, este mai comod pentru agenþi sã aleagã strategia de echilibru, nemaiþinând seama de comportamentul celorlalþi agenþi. Totuºi, dacã agenþii nu mai învaþã ºi în sistem apare un nou agent care învaþã, acesta va putea profita de situaþia existentã. De aceea, agenþii din sistem tot trebuie sã înveþe pentru a pãstra robusteþea sistemului, chiar dacã învãþarea nu mai are rezultate vizibile (Vidal, 2003). 7.3.2 Echilibrul unui sistem multiagent Proiectantul unui sistem multiagent trebuie sã þinã seama de faptul cã mediul de execuþie este în permanentã schimbare ºi cã un agent individual nu are decât o perspectivã localã, limitatã, asupra sistemului ca întreg. Se pune problema atunci dacã sã optimizeze configuraþia agenþilor individuali, sau sã se concentreze asupra eficienþei globale a sistemului? Vom încerca în cele ce urmeazã sã rãspundem la aceastã întrebare dintr-o perspectivã descentralizatã, concentrându-ne asupra instrumentelor teoretice utile pentru construirea unui sistem multiagent capabil sã-ºi atingã scopul desemnat, în ciuda faptului cã este format din agenþi concurenþi, cu scopuri individuale posibil diferite. Un element central al unui sistem multiagent dinamic este echilibrul, adicã o mulþime de stãri în care toþi agenþii îºi maximizeazã împreunã 126 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
utilitatea. O stare de echilibru nu înseamnã neapãrat o stare în care un anumit agent individual câºtigã cel mai mult, ci o stare optimã din punct de vedere colectiv. Dupã cum optimizarea este de fapt o idealizare a comportamentului unui agent individual (în paragrafele precedente s-au prezentat câteva metode pentru estimarea beneficiului maxim), la fel ºi echilibrul este o idealizare a comportamentului unui sistem multiagent. Pentru studierea acestui concept vom aminti unele rezultate valoroase din teoria jocurilor, care pot fi aplicate cu succes ºi în analiza sistemelor distribuite de tip multiagent. Un joc poate fi vãzut ca o serie de acþiuni (decizii) luate de pãrþile implicate, cu interese diferite, posibil opuse. În mod formal, se defineºte (Mor, Goldman & Rosenschein, 1998) un joc drept o tripletã G n, , u , unde:
n este numãrul de jucãtori (agenþi); i , cu i = 1...n ºi i 1i ,..., Mi i , este mulþimea de acþiuni disponibile pentru jucãtorul i; u : 1 ... n R n este funcþia de câºtig (engl. „payoff”), care atribuie fiecãrui jucãtor un numãr real reprezentând câºtigul, pentru orice combinaþie a acþiunilor tuturor celorlalþi jucãtori. Se poate consta cu uºurinþã apropierea conceptualã dintre un joc definit astfel ºi un sistem format din agenþi concurenþi. Din aceastã perspectivã, învãþarea se concretizeazã în faptul cã un agent îºi schimbã convingerile ºi deci lanseazã un proces dinamic, care poate duce sau nu la un comportament de echilibru. În funcþie de complexitatea modelului, distingem douã tipuri principale de învãþare. Învãþarea mioapã presupune un model de învãþare simplu, pe termen scurt. Învãþarea strategicã este mai complexã ºi ia în calcul echilibrul pe termen lung al sistemului ºi modeleazã procesul de învãþare al celorlalþi agenþi. Învãþarea mioapã converge cãtre un echilibru prevãzut de teoria jocurilor pentru un sistem de agenþi raþionali cu informaþii complete despre mediul de execuþie ºi despre ceilalþi agenþi. Deºi este mai simplu, în funcþie de modul în care este proiectat, s-a constatat cã un agent care utilizeazã învãþarea mioapã se poate descurca totuºi acceptabil împotriva unui agent bazat pe învãþare strategicã (Parkes & Ungar, 1997; Krautwasser, 2002). Cel mai simplu tip de joc este acela cu o singurã mutare, efectuatã simultan de jucãtori. Toþi agenþii trebuie sã efectueze o acþiune, iar aceste acþiuni se desfãºoarã simultan. Fiecare agent primeºte apoi o recompensã corespunzãtoare mulþimii combinate de acþiuni. În jocurile mai complexe,
127 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
fiecare agent mutã pe rând ºi primeºte recompensa la sfârºitul unei serii de acþiuni. Totuºi, s-a constatat cã multe scenarii reale de sisteme multiagent pot fi descrise ca secvenþe de acþiuni simultane. În acest caz, se spune cã fiecare agent i alege o acþiune ai Ai , unde Ai este mulþimea strategiilor agentului i, adicã acþiunile pe care acesta le poate efectua. Mulþimea tuturor acþiunilor selectate de toþi agenþii este profilul strategic sau profilul de acþiune al jocului: a A A1 ... An . Dupã ce toþi agenþii îºi aleg o acþiune, fiecare agent i va primi o utilitate, pe baza unei funcþii ui (a ) . Pentru a înþelege mai bine acest mecanism, sã considerãm câteva exemple de sistem în care, pentru simplitate, evolueazã numai doi agenþi. Aceastã situaþie este deseori reprezentatã sub forma unei matrice de câºtiguri (engl. „payoff matrix”). Unul dintre cele mai cunoscute jocuri strategice este aºa numita „dilemã a arestatului” (engl. „prisoner’s dillema”). Se presupune cã doi suspecþi într-o crimã sunt deþinuþi în celule separate. Existã probe pentru a fi condamnaþi pentru o infracþiune minorã, însã nu pot fi condamnaþi pentru crima gravã decât dacã unul dintre ei depune mãrturie împotriva celuilalt. Dacã amândoi aleg sã tacã, vor fi condamnaþi la 1 an închisoare. Dacã numai unul recunoaºte, el va fi eliberat ºi va fi folosit ca martor împotriva celuilalt, care va fi condamnat la 5 ani de închisoare. Dacã amândoi mãrturisesc, vor fi condamnaþi la 3 ani de închisoare. Matricea de câºtiguri corespunzãtoare este urmãtoarea: Tabelul 5.1. Matricea de câºtiguri pentru dilema arestatului Agentul 2 Tace (A) Mãrturiseºte (B) -1, -1 -5, 0 Tace (A) Agentul 1 Mãrturiseºte (B) 0, -5 -3, -3
Funcþia de utilitate va avea valori de forma: u1 ( A, A) 1 , u1 ( A, B) 5 , u 2 ( A, B) 0 , u 2 ( B, B) 3 etc. Dacã de fiecare datã când joacã, un agent alege o strategie a A în mod determinist, avem de-a face cu o strategie purã. Dacã agenþii introduc elemente probabilistice în luarea deciziilor, adicã folosesc o distribuþie de probabilitate pe mulþimea strategiilor, se spune cã urmeazã strategii mixte.
128 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
Pentru matricea de mai sus, o strategie mixtã ar putea fi, de exemplu: agentul i alege strategia A cu probabilitatea de 30% iar strategia B cu probabilitatea de 70%. 7.3.3 Echilibru Nash Se pune problema: ce acþiune trebuie sã aleagã cei implicaþi? Trebuie sã avem în vedere cã agenþii sunt decidenþi raþionali, deci fiecare va selecta strategia disponibilã optimã. Însã strategia optimã a unui agent depinde de acþiunile celuilalt, astfel încât fiecare trebuie sã aibã o serie de convingeri asupra intenþiilor adversarului. Singura posibilitate este observarea comportamentului anterior al acestuia ºi extragerea unor ipoteze probabilistice asupra acþiunilor sale curente. Dacã presupunem cã fiecare agent îºi alege acþiunea raþional, în funcþie de convingerile sale corecte despre acþiunile celorlalþi, putem defini noþiunea de echilibru Nash drept o mulþime de strategii ºi câºtiguri corespunzãtoare, cu proprietatea cã nici un agent nu poate beneficia de pe urma schimbãrii strategiei curente câtã vreme ceilalþi agenþi îºi menþin propriile strategii neschimbate. În mod formal, putem defini aceastã noþiune dupã cum urmeazã (Osborne, 2001). Fie a un profil de acþiune, în care acþiunea corespunzãtoare agentului i este ai . Fie a'i orice acþiune a agentului i, identicã sau diferitã de ai . Fie (a 'i , ai ) profilul de acþiune în care fiecare agent j cu excepþia lui i alege acþiunea a j specificatã de a, în timp ce i alege a'i . Fie ui funcþia de câºtig care reprezintã preferinþele lui i. Spunem atunci cã un profil de acþiune a* este un echilibru Nash dacã, pentru orice agent i ºi orice acþiune ai a lui i, a* este cel puþin la fel de bun din punctul de vedere al lui i ca profilul de acþiune ai , a *i :
ui a * ui ai , a* i , ai
(7.18)
Dacã inegalitatea este strictã, atunci vorbim despre un echilibru Nash strict. Pentru exemplul anterior, dilema arestatului, constatãm cã singurul echilibru Nash este atins atunci când ambii mãrturisesc. Sã presupunem cã agentul 1 alege A. Dacã agentul 2 alege ºi el A, se vede cã primul ar câºtiga mai mult alegând B (0 > -1). Dacã agentul 2 alege B, avem aceeaºi situaþie (-3 > -5). În consecinþã, agentul 1 este în ambele cazuri motivat sã-ºi schimbe strategia ºi deci profilurile de acþiune (A, A) ºi 129 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
(A, B) nu sunt echilibre Nash. Analog, profilul de acþiune (B, A) nu poate fi echilibru Nash, întrucât agentul 2 este motivat sã-ºi schimbe strategia. Când agentul 1 alege B, agentul 2 câºtigã cel mai mult dacã alege tot B. Se ajunge la o situaþie în care nici unul dintre ei nu doreºte sã-ºi modifice strategia. Dacã s-ar întâmpla acest lucru, agentul în cauzã ar primi -5 în loc de -3, în condiþiile în care celãlalt agent continuã sã joace strategia de echilibru. Echilibrul Nash corespunde astfel unei stãri stabile a sistemului, în care nici un agent nu are motiv sã aleagã o altã acþiune decât cea indicatã de strategia de echilibru. Altfel spus, echilibrul Nash este echivalent cu o normã socialã, de la care nici un individ nu este încurajat sã devieze, atâta timp cât toþi ceilalþi o respectã. Definiþia nu înseamnã cã un joc strategic are un singur (sau cel mult un) echilibru Nash. Existã jocuri cu un singur echilibru Nash, cu mai multe, sau fãrã nici unul. Sã considerãm jocul numit „bãtãlia sexelor” (engl. „battle of the sexes”): Ion ºi Maria vor sã iasã împreunã; Ion vrea sã meargã la un meci de fotbal, iar Maria la operã. Din pãcate, lui Ion nu îi place prea mult opera, iar pe Maria nu o intereseazã fotbalul. Matricea de câºtiguri corespunzãtoare este: Tabelul 5.2. Matricea de câºtiguri pentru bãtãlia sexelor Maria Meci (A) Operã (B) 2, 1 0, 0 Meci (A) Ion Operã (B) 0, 0 1, 2
Aceastã situaþie are douã stãri de echilibru Nash: (A, A) ºi (B, B). Chiar dacã au gusturi diferite, fiecare preferã sã meargã la un eveniment care nu îl pasioneazã decât sã nu fie împreunã cu celãlalt. Aici se poate vedea importanþa învãþãrii strategice. De exemplu, considerând cã Ion doreºte ºi el sã-i înveþe strategia, Maria poate încerca sã-i influenþeze convingerile, pentru a-l determina sã urmeze strategia doritã de ea. Într-un joc iterat, ea poate alege necondiþionat B pentru o anumitã perioadã, chiar cu preþul unei recompense 0, pentru a-l determina pe Ion sã joace ºi el B. Existã ºi jocuri în care nu existã nici un echilibru Nash, de exemplu aºa-numitul joc de „potrivire a monedelor” (engl. „matching pennies”). Altfel spus, este un joc pur conflictual, cu urmãtoarele reguli: douã persoane decid simultan sã arate capul sau pajura unei monede. Dacã amândoi aratã aceeaºi faþã, persoana a doua îi plãteºte primeia 1$. Dacã aratã feþe diferite, 130 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
prima îi plãteºte 1$ celei de-a doua. Jocul poate fi reprezentat prin urmãtoarea matrice: Tabelul 5.3. Matricea de câºtiguri pentru potrivirea monedelor Agentul 2 Cap (A) Pajurã (B) 1, -1 -1, 1 Cap (A) Agentul 1 Pajurã (B) -1, 1 1, -1
Se observã uºor cã interesele agenþilor sunt diametral opuse: prima persoanã doreºte sã adopte aceeaºi acþiune ca persoana a doua, iar aceasta vrea la rândul ei sã selecteze acþiunea opusã. Într-o asemenea situaþie, alegerea unei strategii mixte dã rezultate superioare la nivelul analizei sistemului. S-a demonstrat cã un sistem în care sunt permise strategii mixte are întotdeauna cel puþin un echilibru Nash. Aceste strategii sunt binevenite ºi în situaþiile în care agenþii nu doresc sã-ºi dezvãluie direct modul de acþiune; modelarea unui comportament bazat pe probabilitãþi este mai complexã, ceea ce determinã un efort computaþional mai mare din partea adversarilor. 7.3.4 Jocul fictiv Într-un sistem multiagent real, ca ºi într-un joc, agenþii învaþã ºi se comportã dupã un anumit algoritm. În acest context, se doreºte analiza modului în care sistemul va ajunge la echilibru, indiferent de mecanismele de învãþare specifice utilizate. Un model foarte studiat este cel al jocului fictiv (engl. „fictitious play”). Aceastã metodã utilizeazã o formã simplã de învãþare: un agent memoreazã toate acþiunile celorlalþi ºi îºi construieºte o distribuþie de probabilitate pentru strategiile adversarilor. Sã considerãm din nou cazul cu doi jucãtori, i ºi j. Agentul i are o funcþie pondere, ki : A j R+, care se modificã în timp, pe mãsurã ce agentul învaþã. Valoarea funcþiei la un moment de timp t, kit , numãrã de câte ori j a selectat o anumitã acþiune. Dacã la momentul t, j selecteazã acþiunea a tj , i îºi actualizeazã funcþia pondere astfel: 1, dacã a tj a j kit 1 ( a j ) kit (a j ) t 0, dacã a j a j
(7.19)
131 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Cu ajutorul acestei funcþii, agentul i poate calcula probabilitatea ca j sã aleagã o anumitã acþiune a j A j : kit (a j ) . kit (a' j )
Pi t (a j )
(7.20)
a' j A j
Fudenberg ºi Kreps au arãtat (1990) cã dacã jocul fictiv converge la o strategie purã, atunci aceasta este un echilibru Nash. De asemenea, dacã sistemul se aflã într-un echilibru Nash strict la momentul t, atunci el va rãmâne în cadrul aceluiaºi profil de acþiune la toate momentele de tipm ulterioare t ' t . Demonstraþia acestui fapt este destul de simplã: dacã toþi agenþii urmeazã acelaºi profil de acþiune, va creºte probabilitatea acestei strategii. Prin urmare, un anumit agent va fi din ce în ce mai „sigur” cã adversarii vor alege strategia respectivã ºi rãspunsul sãu raþional este sã urmeze ºi el acelaºi profil de acþiune. Trebuie menþionat totuºi cã presupunerea din metoda jocului fictiv, conform cãreia agenþii nu încearcã sã influenþeze viitorul sistemului nu este foarte corectã, deoarece fiecare agent considerã cã ceilalþi agenþi, spre deosebire de el însuºi, nu sunt adaptivi ºi au o distribuþie staþionarã a strategiilor. 7.3.5 Dinamica replicatorului Un alt model de învãþare este dinamica replicatorului (engl. „replicator dynamics”). Acesta presupune cã proporþia agenþilor care aleg o anumitã acþiune creºte sau scade în funcþie de rezultatele pe care acþiunea respectivã le-a avut asupra populaþiei de agenþi. Se considerã cã sistemul este formatã din agenþi omogeni. Fie t (a ) numãrul de agenþi care folosesc strategia a la momentul t. Proporþia lor în populaþia totalã este:
t (a)
t (a) t (a ' )
(7.21)
a 'A
Utilitatea aºteptatã de un agent i care alege a va fi: u t (a)
(a' )u(a, a' ) , t
a ' A
(7.22)
132 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
unde ui (a, a ' ) reprezintã utilitatea primitã de agentul i care alege a în interacþiune cu un agent j care alege a' . Rata de replicare pentru fiecare agent este proporþionalã cu modul în care s-a comportat în pasul anterior:
t 1(a ) t (a )(1 u t (a )) .
(7.23)
Dacã o strategie aduce o utilitate pozitivã, ea va fi urmatã de un numãr din ce în ce mai mare de agenþi. În mod analog, acþiunile „incorecte”, cu utilitate negativã, vor fi abandonate progresiv de agenþi. Pentru a analiza evoluþia sistemului, putem considera fracþiunea din populaþia de agenþi care alege fiecare strategie ca fiind o strategie mixtã pentru joc. Sistemul este în echilibru Nash dacã fracþiunea din populaþie care alege o strategie este egalã cu probabilitatea ca acea strategie sã fie selectatã în starea de echilibru Nash. În cazul unei strategii pure, echilibrul Nash presupune cã toþi agenþii aleg aceeaºi acþiune. Într-un sistem multiagent real, însã, se poate considera cã toþi agenþii ar trebui sã aleagã direct strategia optimã din pasul anterior, ºi nu proporþional cu rezultatele anterioare. Totuºi, convergenþa dinamicii sistemului cãtre echilibrul Nash ilustreazã importanþa acestui concept ca atractor al dinamicii agentului care învaþã (Vidal, 2003). 7.4 Agenþi cooperanþi. Apariþia coaliþiilor În paragraful anterior am prezentat sisteme formate din agenþi concurenþi, care îºi urmãresc în mod egoist propriile interese. Se pune problema dacã aceastã filosofie comportamentalã este într-adevãr optimã în orice situaþie. Sã revedem celebra „dilemã a arestatului”. Am demonstrat cã echilibrul Nash al sistemului este atins când ambii acuzaþi se comportã raþionat ºi mãrturisesc crima, primind fiecare 3 ani de închisoare. Însã este evident cã rezultatul cel mai bun pe care l-ar putea obþine ar fi dacã, dimpotrivã, amândoi ar tãcea ºi ar primi fiecare un singur an de închisoare. Acest lucru ar presupune ca agenþii sã coopereze, adicã nici unul sã nu-l trãdeze pe celãlalt, chiar dacã posibilitatea eliberãrii este mai atrãgãtoare. Implicaþiile sociale ale dilemei sunt evidenþiate mai pregnant în contextul generalizãrii problemei la un sistem cu mai mulþi agenþi participanþi. Un astfel de exemplu este aºa-numita „tragedie a terenului comunal” (engl. „tragedy of the commons”). Fiecare membru al unui grup de fermieri preferã sã-ºi lase vaca sã pascã pe terenul comunal, decât pe propriul teren. Totuºi, dacã prea multe vaci pasc pe terenul comunal, toatã 133 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
iarba va fi mâncatã iar terenul nu va mai putea fi folosit de nimeni. În general, aceastã situaþie reflectã o chestiune socio-economicã fundamentalã, legatã de exploatarea unei resurse limitate. O problemã similarã este „dilema voluntarului”. Un grup are nevoie de unul sau mai mulþi voluntari, care ar putea muri în misiune. Bineînþeles cã restul grupului va avea de câºtigat de pe urma lor. Dacã însã nu se oferã nimeni ca voluntar, tot grupul va suferi. Putem trage concluzia cã existã un beneficiu social pe care îl primesc toþi membrii grupului dacã suficient de mulþi membri plãtesc un anumit cost. Matricea de câºtiguri pentru un agent individual va fi urmãtoarea (Kuhn, 2001): Tabelul 5.4. Matricea de câºtiguri pentru dilema voluntarului, cazul multiagent Ceilalþi agenþi Numãrul de agenþi Numãrul de agenþi cooperanþi > m cooperanþi m –C B–C Cooperare Un agent individual Individualism 0 B
Costul (–C) este un numãr negativ, iar beneficiul (B) este un numãr pozitiv, astfel încât:
B B C 0 C .
(7.24)
Ca ºi în varianta cu doi agenþi, tentaþia este de a primi beneficiul fãrã a plãti vreun cost, însã câºtigurile cele mai mari se obþin prin cooperare. Este ilustrat astfel conflictul dintre raþionalitatea individualã ºi cea colectivã. S-a vãzut cã echilibrul Nash este stabil în condiþiile în care un singur agent ar vrea sã urmeze o strategie diferitã. Totuºi, dacã doi sau mai mulþi agenþi încep sã coopereze ºi gãsesc o strategie mai bunã pentru ei, sistemul nu mai rãmâne în echilibru. Aceasta înseamnã cã echilibrul Nash nu este stabil dacã este permisã apariþia coaliþiilor. Definim echilibrul Nash Pareto optim (Koçkesen & Ok, 2003) al unui joc strategic ca fiind orice echilibru Nash a * ( a1* ,..., an* ) , astfel încât nu existã alt echilibru Nash b* (b1* ,..., bn* ) cu:
ui ( a* ) ui (b* ), i 1...n .
(7.25)
134 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
O situaþie de echilibru Nash Pareto optim într-un joc cu doi agenþi este foarte interesantã, deoarece jucãtorii nu mai au motivaþie sã devieze nici individual (dupã cum cere echilibrul Nash), nici împreunã (dupã cum cere optimalitatea Pareto). Considerând problema învãþãrii într-un sistem multiagent, prin analogie cu societatea umanã ºi chiar cu organizarea socialã a unor fiinþe inferioare, este clar cã un agent nu ar trebui sã înveþe totul pornind de la zero, numai pe baza propriei experienþe. El poate primi direct informaþii de la ceilalþi agenþi din sistem ºi poate transmite la rândul sãu informaþii. Când o sarcinã este prea complexã pentru a fi rezolvatã de un singur agent, o soluþie logicã este cooperarea mai multor agenþi pentru soluþionarea problemei. În continuare, vom prezenta unii algoritmi care descriu modalitãþile de apariþie ºi disoluþie a grupurilor în sisteme multiagent, de coordonare a acþiunilor între membrii unui grup ºi de specializare pe roluri a agenþilor. 7.4.1 Algoritmul DFG Algoritmul DFG („Disoluþia ºi Formarea Grupurilor”, Weiß, 1994) formalizeazã douã procese inerente învãþãrii distribuite: atribuirea meritului, adicã aproximarea relevanþei activitãþilor agenþilor ºi grupurilor de agenþi din punctul de vedere al scopului sistemului ºi dinamica grupurilor, adicã formarea de noi grupuri ºi dizolvarea unora mai vechi. Scopul algoritmului este de a permite coordonarea acþiunilor agenþilor în sistemul multiagent considerat. Se considerã cã un grup constã dintr-un conducãtor ºi mai mulþi membri. Un conducãtor este reprezentat de un agent individual, pe când membrii grupului pot fi atât agenþi individuali, cât ºi alte grupuri. Membrii unui grup trebuie sã aibã activitãþi compatibile, adicã acþiunile unui agent nu trebuie sã provoace schimbãri în mediul de execuþie care sã impieteze asupra activitãþii altui agent din grup. Sarcina conducãtorului de grup este sã reprezinte interesele grupului respectiv; de exemplu, dacã grupul sã rãmânã o structurã organizaþionalã autonomã, dacã sã coopereze cu alt grup sau sã se dizolve. În mare, funcþionarea unui sistem multiagent derivã din execuþia repetatã a urmãtoarelor faze de lucru: Selectarea activitãþii: Agenþii ºi grupurile verificã posibilitatea de a deveni activi (adicã de a îndeplini o acþiune) în starea curentã a mediului. Pe baza relevanþei scopurilor lor, agenþii concureazã pentru dreptul de a-ºi îndeplini acþiunile. Câºtigãtorul îºi efectueazã acþiunea ºi modificã în consecinþã starea mediului de execuþie; 135 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Atribuirea meritului: Agenþii ºi grupurile îºi ajusteazã estimãrile asupra relevanþei scopurilor prin atribuirea meritului sau vinei corespunzãtoare rezultatului unei acþiuni; Dinamica grupurilor: Grupurile existente care nu contribuie la atingerea scopului sistemului se dizolvã, iar agenþii ºi grupurile care doresc sã coopereze formeazã grupuri noi. Pentru prezentarea formalã a algoritmului, vom utiliza urmãtoarele notaþii. Fie S mulþimea stãrilor mediului. Fie U i o unitate organizaþionalã a sistemului multiagent, reprezentatã fie de un agent individual, fie de un grup. Dacã U i sugereazã un grup, vom nota cu U i conducãtorul grupului.
Dacã U i este un singur agent, U i U i . Dacã un grup U i are n membri, atunci vom scrie: U i U i1 ,...,U in . Fie [U i , S j ] contextul de activitate al
unitãþii U i în starea S j a mediului de execuþie, adicã informaþiile pe care le deþine unitatea despre starea respectivã. Selectarea activitãþii În fiecare stare a mediului S j , unitãþile organizaþionale sunt în competiþie pentru activare. Mai întâi, conducãtorul grupului selecteazã unitãþile potenþial active ºi autonome. Un agent este potenþial activ dacã ar fi capabil sã îndeplineascã o acþiune. În ceea ce priveºte termenul „autonom”, el trebuie privit strict în contextul organizãrii unui sistem multiagent; din punctul de vedere al autorului, un agent (sau un grup) este autonom dacã nu este membru al unui grup potenþial activ. Trebuie sã facem aici o micã parantezã. Considerãm cã alegerea acestui termen este oarecum nefericitã, întrucât poate provoca o confuzie. Sã ne amintim cã unul din atributele definitorii ale unui agent, în general, este autonomia, adicã posibilitatea ca agentul sã opereze ca un proces de sine stãtãtor ºi sã deþinã controlul asupra acþiunilor ºi stãrii sale interne. Din aceastã perspectivã generalã, toþi agenþii sunt autonomi. Pentru a respecta totuºi terminologia autorului, în prezentarea algoritmului vom utiliza noþiunea de „autonomie” în sensul sãu restrâns descris anterior. Aºadar, dupã selecþia unitãþilor, conducãtorul grupului face o ofertã: Bi j Ei j Ei j ,
(7.26)
unde á este o constantã micã numitã factor de risc, â este un numãr aleatoriu mic numit factor de zgomot, iar Ei j este o valoare scalarã numitã 136 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
estimare. Primul termen al adunãrii reprezintã partea deterministã, adicã fracþiunea din Ei j pe care conducãtorul este dispus sã o riºte pentru ca grupul sã devinã activ. Al doilea termen, partea stohasticã, introduce zgomot în ofertã pentru evitarea minimelor locale. Ei j este estimarea relevanþei scopului lui U i în contextul de activitate [U i , S j ] . Prima datã când U i este potenþial activ în S j , U i iniþializeazã Ei j cu valoarea de iniþializare predefinitã E init . În final, este determinatã unitatea cu cea mai bunã ofertã:
i arg max{Bkj } , k
(7.27)
care este declaratã câºtigãtoarea competiþiei ºi cãreia i se permite sã devinã activã. Atribuirea meritului Fie U i unitatea câºtigãtoare în starea curentã S j ºi U k unitatea
câºtigãtoare în starea anterioarã, Sl . Acest lucru înseamnã cã la un moment dat mediul era în starea Sl , U k a devenit activã ºi a provocat trecerea mediului într-o nouã stare S j . Atribuirea meritului se realizeazã pe baza ajustãrii colective a estimãrilor Ei j . U i îºi reduce estimarea cu partea deterministã, pe care i-o paseazã lui U k :
Ei j Ei j Ei j Ekl Ekl Ei j
(7.28)
Aceste cantitãþi sunt recompense interne. În plus, dacã activitatea unitãþii U i conduce la o nouã stare cu o recompensã externã (întãrire), U i
adaugã recompensa respectivã la estimarea Ei j . În mare, în ºirul de unitãþi câºtigãtoare, fiecare unitate plãteºte o recompensã internã predecesorului ºi primeºte o recompensã de la succesor ºi, posibil, de la mediu. Astfel, estimarea relevanþei scopului unei unitãþi creºte dacã primeºte mai multe recompense decât dã la rândul sãu ºi descreºte în caz contrar. De asemenea, o schimbare de estimare se propagã 137 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
în timp cãtre predecesori, ceea ce conduce la stabilizarea ºirului de unitãþi câºtigãtoare atunci când ultima unitate din ºir primeºte în mod regulat recompense externe ºi la dezintegrarea ºirului, altfel. Dinamica grupurilor Dinamica grupurilor include douã mari categorii de procese: formarea ºi dizolvarea grupurilor, care se bazeazã pe o serie de principii generale: la început, fiecare agent ºi fiecare grup nou creat se comportã în mod egoist ºi nu doreºte sã coopereze; un agent (sau un grup) nu doreºte sã coopereze atâta vreme cât estimarea relevanþei scopului sãu tinde sã creascã; un agent (sau un grup) doreºte sã coopereze dacã estimarea relevanþei scopului sãu tinde sã stagneze; agenþii ºi grupurile compatibile care doresc sã coopereze formeazã noi grupuri; un grup se dizolvã în membrii componenþi dacã estimarea relevanþei scopului sãu devine prea micã. Din punct de vedere practic, pentru a putea decide asupra apariþiei sau disoluþiei unor grupuri, fiecare U i calculeazã valorile medii ale estimãrilor din episoadele precedente, unde un episod reprezintã intervalul de timp dintre douã recompense externe de întãrire ale mediului. În fiecare episod 1 , U i evalueazã valoarea medie glisantã a estimãrii sale: M i j [ 1]
1 Ei j [T ] , T 1
(7.29)
unde í este o constanþã numitã dimensiunea ferestrei glisante, iar Ei j [T ]
este valoarea lui Ei j la sfârºitul episodului T. Vom considera în continuare problema formãrii grupurilor. În starea mediului S j ºi în episodul curent 1 , pentru fiecare unitate U i , potenþial activã ºi autonomã, conducãtorul decide dacã este gata sã coopereze ºi sã formeze un nou grup cu alte unitãþi dacã: M i j [ 1] Ei j [ ] ,
(7.30)
138 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
unde ó este o constantã numitã factor de cooperare, care indicã uºurinþa cu care o unitate este gata sã formeze noi grupuri. Semnificaþia inegalitãþii este urmãtoarea: unitatea decide sã coopereze dacã estimarea sa creºte prea lent, stagneazã sau descreºte. Unitãþile care doresc sã coopereze formeazã noi grupuri în funcþie de propriile estimãri. Fie U ' mulþimea unitãþilor care vor sã coopereze în S j . Algoritmul de formare a noilor grupuri este urmãtorul: repetã pânã când U ' :
fie U i U ' o unitate astfel încât E i j max {E lj : U l U ' } ; l
U i trimite o ofertã de cooperare celorlalte unitãþi; pentru fiecare U l U ' compatibilã cu Ui :
U l trimite un rãspuns de cooperare lui U i ;
fie U U ' mulþimea unitãþilor care rãspund; r
U i alege unitatea U k U r cu o probabilitate proporþionalã cu E kj ; U i ºi Uk formeazã un nou grup,
cu membrii U i ºi U k ºi conducãtorul U i sau Uk ; U ' U ' {U i ,U K } .
Se observã cã algoritmul ia în considerare formarea de grupuri din numai doi membri. Totuºi, el poate fi extins cu uºurinþã dacã lui U i i se permite sã aleagã mai mulþi parteneri de cooperare. Disoluþia grupurilor va fi discutatã în cadrul aceloraºi ipoteze: fie S j starea mediului ºi 1 episodul curent. Pentru fiecare unitate U i , potenþial activã ºi autonomã, conducãtorul decide dacã grupul trebuie sã se dizolve în membrii componenþi atunci când: M i j [ 1] E init ,
(7.31)
unde ñ este o constantã numitã factor de disoluþie, care influenþeazã robusteþea grupurilor existente, iar E init este valoarea cu care se iniþializeazã estimãrile. Aceasta înseamnã cã un grup se dizolvã dacã media estimãrii sale pe mai multe episoade scade sub un nivel minim permis. Condiþia de autonomie asigurã faptul cã un grup nu se poate dizolva câtã vreme este membru al altui grup. 139 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Trebuie menþionat cã procesele de dinamicã a grupurilor depind în mare mãsurã de contextul problemei ºi nu necesitã schimburi de informaþii despre mediu între unitãþile organizaþionale. 7.4.2 Învãþarea rolurilor într-o organizaþie O problemã importantã a sistemelor multiagent eterogene este modul în care agenþii cooperanþi învaþã sã adopte roluri specifice în anumite situaþii. Se presupune cã fiecare agent poate îndeplini mai multe roluri, iar la un moment dat, în funcþie de condiþiile existente, el va alege sã joace un anume rol. Scopul învãþãrii este în acest caz selectarea celui mai potrivit rol într-o stare datã a sistemului (Nagendra Prasad, Lesser & Lander, 1996). Rezolvarea se bazeazã pe utilizarea estimãrilor de utilitate, probabilitate ºi cost (UPC) pentru un rol adoptat într-o anume situaþie. Utilitatea este estimarea agentului asupra beneficiului stãrii finale dorite. Probabilitatea se referã la ºansele ca starea finalã sã fie atinsã cu succes. Costul reprezintã efortul computaþional depus în acest scop. În plus, se mai memoreazã pentru fiecare rol potenþialul de a descoperi informaþii ºi constrângeri globale pertinente. Fie Si mulþimea situaþiilor pentru un agent i, iar Ri mulþimea
rolurilor pentru acelaºi agent. Acesta memoreazã maximum Si Ri vectori de valori UPC ºi de potenþial O pentru descrierea estimãrilor rolurilor în diverse situaþii. În timpul fazei de învãþare, probabilitatea ca agentul sã selecteze un rol r într-o situaþie s este:
P(r )
f (U rs , Prs , Crs , Ors ) , f (U js , Pjs , C js , O js )
(7.32)
jRi
unde f este o funcþie obiectiv care evalueazã rolul pe baza factorilor memþionaþi mai sus. Învãþarea acestor valori se realizeazã cu metode de învãþare cu întãrire. Problema este rezolvatã în mod repetat, pentru actualizarea progresivã a estimãrilor valorilor dorite cu o ratã de învãþare ç, astfel încât 0 1 . Fie Uˆ rsm , Pˆrsm , Oˆ rsm estimãrile utilitãþii, probabilitãþii ºi potenþialului rolului r în situaþia s dupã m actualizãri. Fie S ' mulþimea situaþiilor întâlnite din momentul adoptãrii rolului r în s ºi momentul atingerii unei stãri finale dorite s f . Valorile de utilitate vor fi actualizate dupã cum urmeazã: 140 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Învãþarea în sistemele multiagent
Uˆ rsm 1 (1 ) Uˆ rsm U s f .
(7.33)
Fie o funcþie G : S ' {0,1} care returneazã 1 dacã starea datã s-a atins cu succes ºi 0 în caz contrar. Atunci actualizarea valorilor de probabilitate este: Pˆrsm1 (1 ) Pˆrsm G ( s f ) .
(7.34)
Fie H (S ' ) o funcþie care returneazã 1 dacã în drumul spre starea finalã sunt detectate conflicte între agenþi, urmate de schimburi de informaþii pentru rezolvarea lor, ºi 0 în caz contrar. Actualizarea valorilor de potenþial va fi de forma:
Oˆ rsm 1 (1 ) Oˆ rsm H ( S ' ) .
(7.35)
Aceste actualizãri sunt efectuate pentru toate rolurile alese în fiecare din situaþiile S ' întâlnite în drumul cãtre starea finalã. Dupã încheierea fazei de învãþare, un anumit rol într-o situaþie datã este ales în mod determinist:
r arg max f (U js , Pjs , C js , O js ) . j Ri
(7.36)
Trebuie precizat faptul cã valorile de cost ºi funcþia f depind de domeniul problemei. De exemplu, Nagendra Prasad, Lesser ºi Lander (1996), folosesc pentru învãþarea rolurilor de organizare într-o problemã de proiectare a unui condensator de aburi funcþii de evaluare care ignorã costul: f (U , P , C , O ) U P O ºi f (U , P , C , O ) U P .
7.5 Concluzii În acest capitol a fost definitã mai întâi noþiunea de învãþare din punctul de vedere al mai multor ºtiinþe, dupã care s-au prezentat caracteristicile celor douã tipuri principale de învãþare în sistemele multiagent: centralizatã ºi descentralizatã. Datoritã rolului important pe care îl ocupã în proiectarea sistemelor bazate pe agenþi, învãþarea cu întãrire a fost descrisã separat, evidenþiindu-se caracteristicile principale ºi apoi 141 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
descriindu-se algoritmii diferenþelor temporale ºi Q-learning. Pentru tratarea învãþãrii descentralizate, s-a amintit clasificarea agenþilor pe niveluri, în funcþie de gradul de conºtienþã socialã ºi apoi s-au detaliat probleme legate de analiza sistemelor formate din agenþi concurenþi, respectiv cooperanþi. Pentru studiul echilibrului unui sistem de agenþi concurenþi, s-a demonstrat utilitatea aplicãrii rezultatelor din teoria jocurilor, insistându-se pe noþiunea de echilibru Nash. S-a arãtat apoi cã într-un sistem format din agenþi cooperanþi apar noi probleme, legate de formarea coaliþiilor, ºi s-au prezentat câþiva algoritmi care modeleazã dinamica grupurilor (apariþia ºi dizolvarea grupurilor), precum ºi modalitãþile prin care agenþii pot învãþa sã-ºi asume diverse roluri în organizaþiile de agenþi.
142 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul VIII
STRUCTURA UNUI AGENT INTELIGENT CU CAPACITÃÞI COGNITIVE 8.1 Arhitecturi cognitive Scopul inteligenþei artificiale este crearea de programe care sã se comporte ca niºte fiinþe umane inteligente. Deocamdatã, acest deziderat a fost atins doar în domenii limitate, bine precizate. Una din ramurile sale principale era normal sã se refere la capacitatea de rezolvare a problemelor, la raþionament ºi planificare. Prin analogie cu rezolvãrile din logica matematicã, acestea se bazeazã în principal pe metode simbolice de reprezentare a cunoºtinþelor, care pot fi astfel manipulate explicit. O altã ramurã, complementarã, ºi de multe ori consideratã în opoziþie cu prima, este cea conexionistã, care încearcã sã modeleze structura de nivel scãzut a sistemului nervos biologic. Utilitatea acestor metode s-a remarcat mai ales în problemele care imitã percepþia, precum recunoaºterea modelelor vizuale, analiza sunetelor, probleme pentru care rezolvãrile s-au dovedit mult mai simple decât prin metode simbolice. Un alt mare avantaj al reprezentãrilor conexioniste este capacitatea de învãþare ºi toleranþa la zgomote. Aceste douã direcþii studiazã fenomene situate la niveluri diferite de abstractizare. Reprezentãrile conexioniste sunt mai adecvate prelucrãrilor primare, automate, pe când cele simbolice sunt mai potrivite pentru prelucrãrile secundare, legate de raþionament ºi care se bazeazã pe agregarea ierarhicã a cunoºtinþelor. În cazul proiectãrii unei arhitecturi similare creierului uman, ar trebui combinate avantajele fiecãreia dintre cele douã modalitãþi. Pe mãsurã ce ºtiinþele cognitive s-au dezvoltat, ele au pus la dispoziþia cercetãtorilor rezultate valoroase privind mecanismele de prelucrare informaþionalã care determinã funcþionarea subsistemelor din structura unei fiinþe biologice ºi care la rândul lor genereazã prin interacþiuni comportamentul acesteia. Din intersecþia multidisciplinarã a inteligenþei artificiale cu psihologia cognitivã ºi calculul distribuit a apãrut ideea realizãrii unor arhitecturi specifice care sã reprezinte modelul cognitiv al unor agenþi inteligenþi. S-a pus astfel problema unei teorii unificate a cogniþiei (Newell, 1990), care sã explice detaliile tuturor aspectelor care intervin în diferitele probleme ale domeniului ºi care sã confirme ºi sã explice de asemenea 143 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
rezultatele anterioare. Scopul final al unei astfel de teorii este determinarea structurii necesare ºi suficiente pentru inteligenþã generalã, adicã pentru emularea, la un nivel acceptabil, a capacitãþilor cognitive umane. În acest context, arhitectura cognitivã a unui agent poate fi definitã ca porþiunea din sistem care asigurã ºi gestioneazã resursele primitive ale agentului (Wray et al., 2000). Arhitecturile cognitive se pliazã de obicei pe un ciclu informaþional care începe cu receptarea informaþiilor prin monitorizarea mediului de execuþie, continuã cu filtrarea ºi prelucrarea acestora, memorarea cunoºtinþelor relevante, luarea unei decizii pe baza stãrii curente ºi a experienþei anterioare ºi presupune în final efectuarea unei acþiuni. Un sistem care implementeazã o astfel de arhitecturã ar trebui sã fie capabil sã îndeplineascã o gamã diversã de sarcini cognitive, utilizând un numãr de metode de rezolvare a problemelor ºi de reprezentare a informaþiilor ºi sã poatã învãþa cât mai multe aspecte legate de sarcinile de lucru ºi de succesul îndeplinirii lor. Teoretic, cu o arhitecturã pentru inteligenþã generalã, orice aspect al inteligenþei ar fi studiat, sistemul ar trebui sã îl poatã modela în cadrul structurii considerate (Van de Velde, 1995). În literatura de specialitate existã mai multe arhitecturi cognitive bazate pe reprezentare simbolicã, precum SOAR (Laird, Newell & Rosenbloom, 1987), ACT* (Anderson, 1983), THEO (Mitchell et al., 1990) sau ICARUS (Langley et al., 1991). Utilizate cu succes în rezolvarea a numeroase probleme punctuale ºi mai ales din perspectivã centralizatã, a unui agent individual, ele rãmân sã-ºi demonstreze aplicabilitatea în context multiagent ºi în probleme reale de învãþare ºi planificare a comportamentului social. O arhitecturã care a suscitat mult interes ºi multe controverse este cea a lui Minsky (1986), care prezintã mintea umanã ca o societate de agenþi concurenþi, adicã de procese autonome de mici dimensiuni care sunt în permanentã competiþie pentru a-ºi aduce contribuþia la procesul cognitiv. Gândirea inteligentã apare numai prin gruparea acestor agenþi, pe baza interacþiunilor dintre ei. Ideea principalã este cã la apariþia unui anumit eveniment, se creeazã o aºa-numitã linie de cunoaºtere (K-line), care conecteazã toþi agenþii implicaþi în acea experienþã (Patterick, 2001). Când apare o situaþie similarã, linia respectivã este reactivatã, ceea ce determinã reactivarea agenþilor angajaþi în rezolvarea primei situaþii. În strânsã legãturã cu perspectiva evoluþionistã asupra apariþiei inteligenþei, aceastã arhitecturã permite ca mai mulþi agenþi sã poatã rezolva 144
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
o problemã, chiar dacã în maniere diferite. Agentului care o poate rezolva cel mai bine i se dã controlul, iar ceilalþi sunt inactivaþi. În cazul unui eventual accident, când subsistemul optim nu mai poate funcþiona, unul din celelalte subsisteme îi ia imediat locul. Deºi bazat pe un model natural plauzibil, principalul dezavantaj al acestei arhitecturi este deosebita dificultate a implementãrii. În ciuda dezvoltãrii din ultimul deceniu a metodelor legate de reþelele neuronale artificiale, nici o arhitecturã cognitivã bine cunoscutã nu se bazeazã exclusiv pe acestea, mai ales datoritã imposibilitãþii reprezentãrii explicite a cunoºtinþelor despre mediu. Existã însã metode hibride, neurosimbolice, de reprezentare ºi prelucrare a cunoºtinþelor, care presupun introducerea unor reguli în reþelele neuronale, antrenarea în mod clasic a reþelelor ºi apoi extragerea unor reguli din reþele. Cogniþia epistemologicã, referitoare la obþinerea ºi înmagazinarea cunoºtinþelor despre mediu, este strâns legatã de cogniþia practicã, asociatã cu capacitatea agentului de a lua decizii de acþiune ºi de a întocmi planuri (Pollock, 1998). La baza comportamentului inteligent stã presupunerea cã agenþii sunt raþionali, adicã selecteazã întotdeauna acþiunea care se presupune cã le va aduce utilitatea maximã (pe termen scurt sau lung). O perspectivã generalã asupra agenþilor raþionali este datã de arhitectura BDI (engl. “beliefs-desires-intentions”, Rao & Georgeff, 1991), detaliatã în paragraful 2.4, care înzestreazã agenþii cu o tripletã de convingeri (cunoºtinþe), dorinþe (scopuri) ºi intenþii (planuri). Implementãri ale acestei arhitecturi sau ale unor variante pot fi considerate sisteme precum: PRS (Georgeff & Lansky, 1987), HOMER (Vere & Bickmore, 1990), IRMA (Bratman, Israel & Pollack, 1988) sau OSCAR (Pollock, 1990). În acest capitol se va încerca conturarea structurii unui agent cognitiv, adicã al unui agent inteligent capabil de învãþare, planificare ºi rezolvare de probleme. 8.2 Învãþarea inductivã Una din caracteristicile cele mai importante ale unui agent inteligent este capacitatea de a învãþa. Din punctul de vedere al inteligenþei artificiale, învãþarea reprezintã „achiziþia de noi cunoºtinþe ºi abilitãþi motorii ºi cognitive ºi încorporarea acestora în activitãþi viitoare ale sistemului, cu condiþia ca achiziþia ºi încorporarea sã fie efectuate de cãtre sistemul însuºi ºi sã conducã la o creºtere a performanþelor sale” (Sen & Weiß, 2000). Învãþarea din experienþã implicã faptul cã agentul poate recunoaºte detaliile stãrii în care se aflã ºi le poate reprezenta intern într-o manierã 145
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
eficientã. Psihologia cognitivã aduce rezultate valoroase în acest domeniu de cercetare. Trãind într-un mediu extrem de complex, omul este nevoit sã reducã numãrul ºi diversitatea stimulilor pentru a-l controla mai bine. Una din strategiile folosite este categorizarea, adicã stabilirea de clase care includ un grup de obiecte sau stimuli cu trãsãturi fizice sau funcþionale comune. Învãþarea inductivã încearcã sã formuleze ipoteze, sau descrieri generale ale conceptelor, pe baza instanþelor acestor concepte. În învãþarea inductivã, categoriile învãþate sunt considerate a fi descrise de o mulþime de atribute, care pot fi numerice sau simbolice (nominale). Instanþele sunt descrise de valorile diferite ale acestor atribute sau domenii. Instanþele, mai ales dacã atributele lor sunt numerice, pot fi reprezentate ca puncte într-un spaþiu n-dimensional, unde n este numãrul de atribute. De obicei, pentru a nu favoriza o anumitã dimensiune, valorile sunt normalizate. Scopul învãþãrii este gãsirea unei descrieri generale a fiecãrei categorii (submulþimea de valori ale atributelor care pot identifica în mod unic clasa respectivã). Dupã stabilirea descrierilor conceptelor, este importantã clasificarea adecvatã a instanþelor care nu au mai fost întâlnite în prealabil (predicþia apartenenþei acestora la una din clasele existente). Multe sisteme de învãþare inductivã automatã sunt neincrementale, adicã mulþimea de antrenare trebuie sã fie disponibilã încã de la începutul procesului de învãþare iar descrierea conceptului este indusã luându-se în considerare simultan toate exemplele. Dacã noi instanþe de antrenare devin disponibile dupã începerea procesului de învãþare, singura modalitate posibilã de a le lua în calcul este repornirea întregului proces de învãþare cu mulþimea de învãþare actualizatã (do Carmo Nicoletti & Santos, 1996). Pentru ca un agent inteligent sã fie capabil de învãþare inductivã, trebuie luatã în considerare natura implicit incrementalã a învãþãrii. De la începutul cercetãrilor în domeniul categorizãrii, au existat câteva tendinþe semnificative în modelarea proceselor care stau la baza acestui fenomen: construcþia de reguli (Bruner et al., 1956; Trabasso & Bower, 1968), abstractizarea prototipurilor (Posner & Keele, 1968; Reed, 1972; Homa, 1984) sau stocarea ºi regãsirea exemplarelor (Medin & Schaffer, 1978; Hintzman, 1986; Nosofsky, 1986). 8.2.1 Reguli, prototipuri sau exemplare? Primele teorii despre categorizare presupuneau cã ori regulile ori prototipurile ori exemplarele sunt utilizate în mod exclusiv pentru reprezentarea mentalã a categoriilor de obiecte. Mai recent, au fost fost 146
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
propuse teorii hibride care combinã aceste forme de reprezentare a categoriilor. Aceste modele au fost dezvoltate în concordanþã cu experimentele psihologice care au indicat cã ar putea exista diferenþe între categorizarea bazatã pe reguli ºi cea bazatã pe exemplare. Sortarea în funcþie de similaritate este modul implicit de prelucrare care însã este extins de un mod mai lent ºi mai solicitant în ceea ce priveºte atenþia, ºi anume cel bazat pe reguli. Forþarea unor rãspunsuri rapide ºi existenþa unor sarcini concurente se pare cã întrerupe acest mod analitic de raþionament (Johansen & Palmeri, 2002). O definiþie operaþionalã simplã a categorizãrii bazate pe reguli este aceea cã regulile sunt verbalizabile, spre deosebire de modurile de categorizare implicite precum cele bazate pe exemplare. Folosirea regulilor verbale pare sã caracterizeze comportamentul oamenilor atunci când învaþã unele categorii pentru prima oarã. Deºi verbalizarea nu este tratatã în mod direct în majoritatea modelelor formale ale categorizãrii bazate pe reguli, acest criteriu se pare cã a avut o influenþã indirectã asupra formalizãrii acestor modele. Regulile, spre deosebire de exemplare, se presupune cã depind de un numãr limitat de dimensiuni ale stimulilor, deoarece oamenii pot verbaliza doar un numãr limitat de combinaþii ale acestor dimensiuni sau atribute. Un model care încearcã sã producã reguli de clasificare este RULEX (“RULE plus Exception”, Nosofsky, Palmeri & McKinley, 1994). Strategia algoritmului este caracterizatã de patru tipuri diferite de cãutare: cãutare exactã (cãutarea unei reguli care discrimineazã perfect clasele, folosind un singur atribut), cãutare imperfectã (cãutarea unei reguli care discrimineazã suficient de bine clasele, dar nu neapãrat perfect, folosind din nou un singur atribut), cãutare conjunctivã (cãutarea unei reguli care discrimineazã suficient de bine clasele folosind atribute multiple) ºi cãutare de excepþii (cãutarea excepþiilor la reguli). RULEX începe întotdeauna cu o cãutare exactã, în care o regulã este menþinutã pânã când clasificã greºit un stimul. Dacã toate regulile eºueazã astfel, RULEX începe ori o cãutare imperfectã (cu probabilitatea â), ori o cãutare conjunctivã (cu probabilitatea 1–â). Dacã una din regulile adoptate în timpul acestei cãutãri funcþioneazã „suficient de bine”, atunci este adoptatã permanent ºi începe cãutarea excepþiilor. Dacã nici o regulã nu este suficient de bunã, RULEX încearcã celãlalt tip de cãutare (conjunctivã sau imperfectã) ºi porneºte din nou cãutarea excepþiilor dacã gãseºte o regulã suficient de bunã. 147
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Se utilizeazã cinci parametri pentru a decide când trebuie comutate regulile ºi ce înseamnã „suficient de bine”. În acest model o regulã este de fapt un hiperplan definit folosindu-se valoarea unui singur atribut sau trãsãturã. Când se folosesc reguli conjunctive, douã astfel de clasificatoare împart spaþiul trãsãturilor în patru regiuni ºi se asociazã o categorie fiecãrei regiuni. La cãutarea excepþiilor, dacã regula învãþatã eºueazã la predicþia rãspunsului corect, se memoreazã excepþia cu o anumitã probabilitate determinatã de probabilitatea stocãrii, a capacitãþii ºi de numãrul de excepþii învãþate deja. Modelul are de asemenea un parametru de decizie care mãsoarã probabilitatea de a da rãspunsul contrar faþã de cel prezis de regulã sau excepþie. O altã paradigmã pentru învãþarea categoriilor este utilizarea prototipurilor pentru stabilirea apartenenþei la o clasã. Unul din primele astfel de modele a fost modelul prototipurilor (engl. “prototype model”, PRT) al lui Reed (1972), unde probabilitatea de a decide dacã al i-lea stimul Si aparþine categoriei CK este o probabilitate multinomialã proporþionalã cu similaritatea stimulului Si faþã de categoria CK. Conform lui Shepard (1987), similaritatea stimulilor se presupune a fi o funcþie exponenþial descrescãtoare de distanþã într-un spaþiu Minkowski m-dimensional. Deci similaritatea sij dintre al i-lea ºi al j-lea stimul este: sij e
m wk xik x jk k 1
r 1 / r
,
(8.1)
unde xik este valoarea atributului sau trãsãturii lui Si în dimensiunea k. În aceastã ecuaþie, wk denotã proporþia de atenþie aplicatã dimensiunii cu indexul k, r determinã metrica iar ë denotã panta descreºterii exponenþiale, numitã gradient de generalizare. Studii ulterioare (Gärdenfors, 2000) au confirmat faptul cã atunci când subiecþii se confruntã cu dimensiuni sau domenii integrale, care depind unul de altul dintr-un anumit punct de vedere, se utilizeazã distanþa euclidianã, unde r = 2. Dacã dimensiunile sau domeniile sunt separabile (independente unul de altul), se utilizeazã o metricã city block (sau distanþa Manhattan), unde r = 1. PRT presupune cã fiecare categorie este reprezentatã de un singur prototip SK, care poate fi sau nu un stimul observat anterior. În acest model, probabilitatea ca stimulul observat Si sã aparþinã categoriei CK este datã de urmãtoarea ecuaþie: 148
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
P(C K | S i )
siK . siJ
(8.2)
J
Se presupune cã prototipul se comportã ca un stimul a cãrui valoare a trãsãturii pe dimensiunea k este: Vk
1 n
x
jC K
jk
,
(8.3)
unde n este numãrul de stimuli care aparþin categoriei CK. Existã cercetãtori (Minda & Smith, 2001) care argumenteazã cã formarea prototipurilor serveºte ca un prim principiu de organizare în reprezentarea categoriilor. Ei propun ipoteza cã, mai ales în primele etape ale învãþãrii, reprezentãrile categoriilor sunt bazate pe prototipuri. Pe mãsurã ce învãþarea este continuatã pe o mulþime restrânsã de exemplare, se pot forma în final amintiri ale acelor exemplare care pot ajuta în continuare la clasificarea vechilor instanþe de antrenare. Generalizarea pentru noile entitãþi se presupune cã rãmâne guvernatã de similaritatea cu prototipul. Totuºi, s-a dovedit cã modelele bazate numai pe prototipuri sunt insuficiente pentru a explica fenomenele legate de categorizare, mai ales în situaþiile în care subiecþii care învaþã au fost expuºi în mod repetat la exemplare individuale din fiecare categorie. Amintirile acestor exemplare individuale par sã joace un rol semnificativ în asemenea situaþii (Nosofsky & Zaki, 2002). Un reprezentant al clasei de modele de generalizare bazatã pe exemplare este modelul contextului, propus de Medin ºi Schaffer (1978), generalizat de Nosofsky (1984, 1986) ºi extins ulterior de Ashby ºi Maddox (1993). Conform acestui model, probabilitatea ca o instanþã i sã fie clasificatã în categoria A este datã de ecuaþia:
s P( A | i) s aA
C cC
ia
,
(8.4)
ic
149
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
unde sia denotã suma similaritãþilor instanþei i faþã de exemplarele categoriei A, numitorul exprimã suma similaritãþilor instanþei faþã de toate exemplarele tuturor categoriilor, iar ã este un parametru de scalare a rãspunsurilor. Parametrul ã, introdus în modelul contextului generalizat (engl. “generalized context model”) de Ashby ºi Maddox (1993) rezultând modelul GCM-ã, guverneazã mãsura în care rãspunsul este stohastic sau determinist. Când ã = 1, rãspunsul este stohastic, comparându-se similaritãþile sumate relative ale fiecãrei categorii, iar când ã > 1, rãspunsurile sunt deterministe într-o mai mare mãsurã, indicând categoria cu o similaritate sumatã mai mare. Conform modelului contextului generalizat, în situaþii în care avem dimensiuni binare separabile, distanþa dintre exemplarele i ºi j este: d ij wm xim x jm , M
m 1
(8.5)
unde xim ºi xjm denotã respectiv valorile exemplarelor i ºi j pe dimensiunea m, wm este „ponderea atenþionalã” datã dimensiunii m, iar M este numãrul dimensiunilor în care variazã stimulii. Parametrii ponderilor atenþionale sunt normalizaþi. În acest model, dimensiunile sunt binare ºi deci diferenþa este ori 0 (dacã exemplarele au aceeaºi valoare pe dimensiunea m) sau 1 (dacã au valori diferite pe aceastã dimensiune). La fel ca în PRT, similaritatea dintre exemplarele i ºi j este o funcþie exponenþial descrescãtoare de distanþã (Shepard, 1987): sij e
c d ij
,
(8.6)
unde c este un parametru de sensibilitate generalã care determinã rata cu care similaritatea scade cu distanþa. În literatura de specialitate pot fi gãsite studii (Navarro, Myung & Pitt, 2004) realizate pentru a compara modelul contextului generalizat ºi modelul prototipurilor PRT din punct de vedere al complexitãþii ºi capacitãþii lor de a imita comportamentul uman de categorizare. Modelul ALCOVE (“Attention Learning COVEring map”) propus de Kruschke (1992) este un alt model asociativ al învãþãrii de categorii bazat pe exemplare. Când este prezentat un nou stimul, este calculatã similaritatea cu fiecare dintre ceilalþi stimuli printr-o funcþie exponenþial descrescãtoare 150
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
de distanþele city block dintre vectorii lor reprezentativi, ponderaþi atenþional. Dupã estimarea acestor similaritãþi, ALCOVE determinã puterea rãspunsurilor (engl. “response strengths”) pentru fiecare din categoriile posibile. Acestea sunt calculate folosind ponderi asociative menþinute între fiecare stimul ºi categorii. Probabilitatea alegerii unei categorii este calculatã prin regula softmax, adicã prin raportul exponenþialei ieºirii corespunzãtoare categoriei cu suma exponenþialelor ieºirilor pentru toate categoriile. Dupã determinarea probabilitãþilor pentru fiecare din rãspunsurile de categorizare posibile, ALCOVE primeºte o reacþie dintr-o sursã externã, care ia forma unui vector de tip „intructor umil” (engl. “humble teacher”), unde învãþarea este necesarã numai în cazurile în care rãspunsul dat a fost greºit. Se aplicã apoi douã reguli de învãþare, ambele încercând sã minimizeze eroarea pãtraticã sumatã dintre puterile rãspunsurilor ºi vectorul de antrenare, folosind pentru optimizare o abordare simplã de tip gradient descendent. Apoi ALCOVE îºi actualizeazã ponderile asociative ºi ponderile atenþionale. Un studiu comparativ între ALCOVE ºi RULEX (Navarro, Myung & Pitt, 2004) aratã cã în ciuda faptului cã modelele diferã mult în ceea ce priveºte presupunerile teoretice, ele explicã fenomene similare, astfel încât pot produce rezultate foarte asemãnãtoare pentru o gamã largã de valori ale parametrilor. O extensie a modelului ALCOVE este AMBRY (Kruschke, 1996), care încearcã sã simuleze unele fenomene psihologice cunoscute drept schimbãri (engl. “shifts”) în învãþarea categorizãrii. Ideea de a combina reguli cu exemplare a devenit destul de popularã. Unele modele demne de a fi menþionate care utilizeazã aceastã paradigmã sunt ATRIUM (Erickson & Kruschke, 1998), care permite un proces de potrivire bazat pe similaritate gradatã, ºi COVIS (Ashby et al., 1998), cu potrivire/nepotrivire strictã. Alt model apropiat de ALCOVE este SUSTAIN (“Supervised and Unsupervised STratified Adaptive Incremental Network”, Love, Medin & Gureckis, 2004). Algoritmul se bazeazã pe cinci principii înrudite: iniþial este direcþionat cãtre soluþii simple, stimulii similari se grupeazã (clusterizeazã) împreunã în memorie, învãþarea implicã procese nesupervizate ºi supervizate, reacþia (feedback-ul) afecteazã structura indusã de categorii iar selecþia clusterelor este competitivã. Mai întâi se presupune o structurã de categorii simplã. Dacã soluþiile simple se dovedesc nepotrivite ºi SUSTAIN se confruntã cu un eveniment surprinzãtor (de exemplu, i se spune cã liliacul este un mamifer ºi nu o pasãre), se formeazã un cluster 151
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
suplimentar care reprezintã evenimentul respectiv. Clusterele nou create pot explica evenimente viitoare ºi pot evolua ele însele în prototipuri/reguli. SUSTAIN extinde modelele de învãþare a categoriilor spre studii privind învãþarea de inferenþe, învãþarea nesupervizatã, construirea categoriilor ºi contexte în care învãþarea prin identificare este mai rapidã decât învãþarea prin clasificare. 8.2.2 Exemplare generalizate suprapuse ºi nesuprapuse Teoria exemplarelor generalizate suprapuse (engl. “nested generalized exemplars”, NGE) propusã de Salzberg (1991) este o formã incrementalã de învãþare inductivã din exemple care extinde metoda de clasificare de tip nearest neighbor (cel mai apropiat vecin). NGE este o paradigmã de învãþare bazatã pe exemplare ale claselor, în care o ipotezã indusã are forma geometricã a unei mulþimi de hiperdreptunghiuri într-un spaþiu euclidian n-dimensional. Exemplarele claselor sunt ori hiperdreptunghiuri ori instanþe de antrenare izolate (puncte), numite hiperdreptunghiuri banale. Intrarea în NGE este o mulþime de exemple de antrenare, prezentate incremental, fiecare exemplu fiind descris ca un vector de perechi numerice atribut/valoare împreunã cu clasa asociatã. Cele n atribute folosite pentru a descrie exemplele definesc un spaþiu euclidian n-dimensional în care va fi reprezentat conceptul. Atributele au valori reale stricte de la 2 la infinit iar clasele pot fi binare, discrete sau continue. NGE generalizeazã o mulþime iniþialã de puncte, definitã de utilizator, extinzând-o (sau în anumite situaþii speciale restrângând-o) pe una sau mai multe dimensiuni pe mãsurã ce sunt prezentate noi exemple de antrenare. Alegerea hiperdreptunghiurilor care trebuie generalizate depinde de metrica folositã pentru distanþã. Deoarece atributele au valori stricte, o astfel de metricã este distanþa euclidianã ponderatã, de la punct la punct sau de la un punct la un hiperdreptunghi. NGE iniþializeazã procesul de învãþare prin alegerea aleatorie a unui numãr definit de utilizator de puncte care sunt transformate în exemplare; aceste puncte devin hiperdreptunghiuri virtuale ce reprezintã punctul de start pentru reprezentarea conceptului. Apoi pentru fiecare nouã instanþã de antrenare Enew, NGE gãseºte printre hiperdreptunghiurile deja construite pe cel mai apropiat de Enew, Hclosest1 ºi pe urmãtorul cel mai apropiat, Hclosest2; aceºtia sunt candidaþii pentru generalizare. Dacã Enew ºi Hclosest1 aparþin aceleiaºi clase, Hclosest1 este extins pentru a-l include pe Enew, proces numit generalizare; altfel, se vor compara clasele lui Enew ºi Hclosest2. Dacã aparþin 152
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
aceleiaºi clase, NGE îl va specializa pe Hclosest1, reducându-i dimensiunea prin mutarea laturilor mai departe de Enew, astfel încât Hclosest2 sã devinã mai apropiat de Enew decât Hclosest1 pe dimensiunea respectivã ºi mãrindu-l pe Hclosest2 astfel încât acesta sã-l includã pe Enew. Dacã clasa lui Enew diferã de clasele hiperdreptunghiurilor Hclosest1 ºi Hclosest2, Enew devine el însuºi un nou exemplar, luând forma unui hiperdreptunghi banal. Modelul NGE a fost extins de do Carmo Nicoletti ºi Santos (1996) pentru a gestiona instanþe ºi exemplare fuzzy. Un alt studiu (Wettschereck & Dietterich, 1994) a arãtat cã performanþele NGE sunt scãzute pentru multe probleme, în special datoritã supra-generalizãrii. S-a formulat ipoteza cã aceste probleme apar deoarece hiperdreptunghiurile se pot suprapune. Brent Martin (1995) a propus o soluþie pentru evitarea tuturor formelor de supra-generalizare evitând suprapunerea exemplarelor într-un algoritm numit al exemplarelor generalizate nesuprapuse (engl. “non-nested generalized exemplars”, NNGE). Fiecare nouã generalizare potenþialã este testatã pentru a asigura faptul cã nu acoperã nici un exemplu negativ. De asemenea, orice generalizare care se dovedeºte ulterior cã nu respectã aceastã regulã este modificatã. Aceastã euristicã permite un nivel rezonabil de generalizare prevenind în acelaºi timp supra-generalizarea care ar apãrea dacã fiecare exemplu ar fi generalizat la cel mai apropiat vecin din aceeaºi clasã, chiar dacã exemplarul ar fi la distanþã mare în spaþiul trãsãturilor, cu numeroase exemple negative intermediare. Deoarece NNGE previne suprageneralizarea prin corectarea suprapunerilor, el nu mai are nevoie de euristica „celei de-a doua ºanse”. În schimb, el încearcã întotdeauna sã generalizeze noile exemple cu cel mai apropiat exemplar de aceeaºi clasã, dar dacã acest lucru este imposibil datoritã exemplelor negative intermediare, nu are loc nici o generalizare. Dacã o generalizare intrã ulterior în conflict cu un exemplu negativ, ea este modificatã pentru menþinerea consistenþei reprezentãrii. Funcþia utilizatã pentru a calcula distanþa dintre o instanþã ºi un hiperdreptunghi este comunã algoritmilor NGE ºi NNGE:
di ( I , H ) , d ( I , H ) wH wi maxvali minvali i 1 2
m
(8.7)
cu 153
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
I i H upperi , d i ( I , H ) H loweri I i , 0,
dacã I i H upperi dacã I i H loweri , altfel
(8.8)
unde wH este ponderea exemplarului (hiperdreptunghiului), wi sunt ponderile trãsãturilor (atributelor), Ii este a i-a valoare a lui I, maxvali ºi minvali sunt limitele superioarã ºi inferioarã ale domeniului pe dimensiunea i iar Hupper ºi Hlower sunt limitele superioarã ºi inferioarã ale hiperdreptunghiului H. Pentru atributele simbolice, dacã I i H i 0, . (8.9) di (I , H ) dacã I i H i 1, Ajustarea ponderilor este adoptatã de NGE ca o mãsurã pentru întãrirea relevanþei trãsãturilor în procesul de clasificare. O asemenea întãrire (engl. “reinforcement”) poate fi pozitivã sau negativã, în funcþie de contribuþia fiecãrei trãsãturi la clasificarea corectã a exemplelor. În timpul procesului de învãþare, creºterea relevanþei unei trãsãturi este reflectatã de scãderea valorii ponderii asociate ºi viceversa. O tehnicã similarã este folositã pentru ponderile asociate exemplarelor, adicã ponderea unui exemplar variazã invers cu încrederea relativã (cu cât e mai mare ponderea, cu atât e mai puþin sigur exemplarul). Într-o implementare ulterioarã (Witten & Frank, 2000), NNGE utilizeazã schema de ponderare a trãsãturilor IB4 (Aha, 1992) ºi informaþiile reciproce (engl. “mutual information”, Shannon, 1948), renunþând la ponderarea exemplarelor. IB4 este un algoritm de învãþare bazatã pe instanþe, caracterizat de toleranþã la zgomote, necesar redus de memorie ºi o funcþie incrementalã de ponderare a atributelor (Mohri & Tanaka, 1994). Ponderile atributelor sunt mãrite când prezic corect clasificarea ºi micºorate în caz contrar. Metoda poate gestiona atât atribute numerice cât ºi simbolice. Atributele numerice sunt normalizate iar distanþa dintre valorile simbolice este distanþa Hamming: dacã I i J i
0, di ( I , J ) 1,
dacã I i J i
.
(8.10)
154
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Ponderile trãsãturilor pot fi calculate folosind informaþiile reciproce dintre valorile unei trãsãturi ºi clasa vectorilor de antrenare. Informaþia reciprocã a douã variabile se defineºte drept reducerea incertitudinii asupra valorii uneia dintre variabile fiind cunoscutã valoarea celei de-a doua, adicã (Wettschereck & Aha, 1995): wf
P x
vV f cC
c
c x f v log
P xc c x f v
P xc c P x f v
,
(8.11)
unde P( xc c) este probabilitatea ca xc, clasa unui vector arbitrar de antrenare x, sã fie c, P ( x f v) este probabilitatea ca valoarea sa pentru trãsãtura f sã fie v, iar mulþimea valorilor posibile pentru f este Vf. Alãturi de aceste metode, existã ºi algoritmi locali de ponderare a trãsãturilor, cum ar fi ReliefF (Kononenko, 1994), care calculeazã relevanþa unui atribut pentru o instanþã considerând diferenþa dintre instanþa consideratã ºi instanþele apropiate aparþinând aceleiaºi clase, respectiv faþã de instanþele apropiate aparþinând unor clase diferite. O abordare alternativã este utilizarea unor tehnici de optimizare, precum algoritmii genetici, care sã gãseascã ponderile atributelor astfel încât sã se maximizeze similaritatea intracategorialã ºi sã se minimizeze similaritatea intercategorialã (Zaharia, Leon & Gâlea, 2003c). 8.2.3 Exemplare generalizate nesuprapuse cu prototipuri Dupã cum am menþionat, rezultate experimentale au arãtat cã nu toate elementele unei categorii sunt prelucrate la fel, unele elemente sunt considerate mai tipice pentru categorie decât altele. Acesta este cunoscut sub numele de efect al prototipicalitãþii (Miclea, 1999). Pentru un european, un mãr este mai reprezentativ pentru categoria fructelor decât o nucã de cocos. Psihologia cognitivã dã douã interpretãri posibile pentru prototip (Medin & Ross, 1991). El poate reprezenta unul sau mai multe exemplare reale, care apar cel mai frecvent atunci când subiecþii umani sunt rugaþi sã exemplifice o categorie. În al doilea rând, prototipul este considerat un exemplar ideal care sumeazã caracteristicile mai multor membri ai categoriei. În cadrul cercetãrilor, s-a urmãrit extinderea modelului NNGE pentru a include informaþii despre prototipuri pentru fiecare regulã sau hiperdreptunghi. De vreme ce un exemplar generalizat conþine mai multe 155
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
instanþe, nu este obligatoriu ca media statisticã a acestor instanþe sã coincidã cu centrul hiperdreptunghiului corespunzãtor (figura 8.1). Modelul propus (exemplare generalizate nesuprapuse cu prototipuri, engl. “non-nested generalized exemplars with prototypes”, NNGEP) are o naturã incrementalã ºi de aceea prototipurile trebuie de asemenea calculate incremental. Adãugarea unei noi instanþe la un hiperdreptunghi este o particularizare a cazului general de contopire a douã prototipuri gaussiene, cu mediile ì1 ºi ì2 ºi deviaþiile standard ó1 respectiv ó2. Prin „contopire” se înþelege calcularea mediei ì ºi deviaþiei standard ó pentru un nou prototip gaussian care ar fi rezultat dacã toate instanþele celor douã prototipuri sursã i-ar fi fost adãugate de la început.
Figura 8.1. Decalajul dintre prototipul ºi centrul unui hiperdreptunghi
Ecuaþiile corespunzãtoare (Xu et al., 1998) sunt (8.12) ºi (8.13), unde n1 ºi n2 reprezintã numãrul de instanþe incluse în cele douã prototipuri. Numãrul de instanþe ale prototipului rezultant este desigur n = n1 + n2.
n1 1 n2 2 n1 n2
(8.12)
156
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
n1 12 n2 22 n1 n2 1 2 n1 n2 n1 n2 2
2
(8.13)
Când se adaugã o singurã instanþã nouã I unui hiperdreptunghi H, o putem considera un prototip cu media egalã cu coordonatele ºi cu deviaþia nulã. Deci, prototipul hiperdreptunghiului existent este actualizat conform ecuaþiilor (8.14) ºi (8.15).
'H
'H
H nH I nH 1
(8.14)
n H ( nH 1) H2 nH H I
2
nH 1
(8.15)
Astfel se faciliteazã calcularea similaritãþii dintre o instanþã datã ºi cel mai apropiat exemplar generalizat. Deºi categorizarea se bazeazã pe similaritate, cele douã noþiuni nu sunt identice. Chiar dacã unei instanþe i-a fost atribuitã o anumitã categorie datoritã unei reguli existente, instanþa respectivã ar putea fi nereprezentativã pentru categorie. Într-un sistem multiagent cooperant sau într-un sistem de e-learning, dacã agenþii trebuie sã exemplifice o clasã prin raportarea unei instanþe create, în loc sã dea o descriere comprehensivã a clasei bazatã pe reguli, agenþii ar trebui sã genereze instanþe reprezentative, cu similaritate mare faþã de prototipul clasei. Soluþia propusã are un important avantaj ºi anume faptul cã apartenenþa instanþelor la categorii poate fi acum gradatã, ceea îi ce permite o interpretare fuzzy utilizând numere fuzzy cu funcþii de apartenenþã gaussiene, care sunt în acelaºi timp echivalente din punct de vedere funcþional cu reþelele neuronale cu funcþii de bazã radialã. Procedura de mai sus poate fi aplicatã numai atributelor numerice. Când atributele sunt simbolice sau discrete, valoarea medie nu poate fi calculatã. În schimb, se poate calcula valoarea modalã a mulþimii de valori ale atributelor, adicã valoarea care apare cel mai frecvent într-o mulþime datã. Distanþa pe o dimensiune între o instanþã ºi un prototip este 0 dacã valoarea atributului instanþei este aceeaºi cu a valorii modale ºi 1 în caz contrar. 157
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Experimentele din psihologia cognitivã au demonstrat similaritatea este o funcþie exponenþialã descrescãtoare de distanþã: s( I , P ) e cd ( I ,P ) ,
cã
(8.16)
unde d() este de obicei distanþa city block iar c este un paramentru de sensibilitate globalã. Aceste probleme vor fi discutate pe larg în studiul experimental din capitolul 9. În prezenta abordare, recunoaºtem faptul cã atributele (dimensiunile) au ponderi diferite ºi cã distribuþia unei clase poate fi mai mare pe o dimensiune decât pe alta. Media ºi deviaþia standard sunt calculate independent pe fiecare dimensiune. Prin urmare, utilizãm pentru calcularea similaritãþii funcþii de bazã elipticã paralelã cu axele, descrise în paragraful 5.4, care generalizeazã funcþiile de bazã radialã: s( I , P) e
wi di ( I ,P ) 2 / i2 2D
,
(8.17)
unde wi sunt ponderile atributelor, di() este distanþa proiectatã pe dimensiunea i, ói este deviaþia standard pentru dimensiunea i, iar D este numãrul de dimensiuni unde valorile atributelor sunt definite (cunoscute) pentru instanþa consideratã I. De asemenea, ponderile sunt normalizate dupã antrenare ºi se utilizeazã o metricã pentru distanþã uºor diferitã faþã de cea utilizatã în algoritmul NNGE standard. Astfel, distanþa dintre o instanþã I ºi un exemplar generalizat E este:
d (I , E)
w d ( I , E )
2
i
i
,
(8.18)
astfel încât:
w
i
1.
(8.19)
Aceastã normalizare faciliteazã aplicarea algoritmului NNGEP pentru concepte compuse (paragraful 8.2.6).
158
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
8.2.4 Metrici de similaritate alternative Modelul contextului generalizat descrie probabilitatea de categorizare a unei instanþe ca o funcþie de similaritãþile dintre instanþã ºi exemplarele din categoriile existente (ecuaþia 8.4). Totuºi, datoritã naturii exponenþial negative a funcþiei de similaritate, este clar cã doar exemplarele cele mai apropiate vor conta efectiv în formulã. Fie s1 ºi s2 similaritãþile instanþei faþã de cele mai apropiate douã prototipuri, iar s similaritatea instanþei faþã de clasa dominantã. Se va propune o euristicã pentru determinarea similaritãþii unei instanþe faþã de o clasã existentã luând în considerare doar aceste cele mai apropiate douã prototipuri de exemplare generalizate: Dacã cele douã exemplare aparþin aceleiaºi categorii, atunci s = max (s1, s2) = s1; Dacã cele douã exemplare aparþin unor clase diferite, atunci s = s1 – s2. Aceastã euristicã sugereazã faptul cã dacã cele mai apropiate douã exemplare aparþin aceleiaºi categorii, al doilea exemplar nu influenþeazã decizia datã de primul. Dacã cele douã exemplare sunt în conflict, apare o formã de inhibiþie lateralã între cele douã clase concurente; clasa cea mai puternicã învinge, dar efectul sãu este diminuat. În figura 8.2, se prezintã harta similaritãþii pentru o sub-problemã bidimensionalã a problemei florilor de Iris (Fisher, 1936), ce va fi detaliatã în capitolul 4. S-a considerat numai efectul prototipurilor; influenþa hiperdreptunghiurilor a fost ignoratã. De asemenea, pentru simplitatea demonstraþiei, s-au considerat doar trei prototipuri, câte unul pentru fiecare clasã. În figura 8.2a se presupune cã toate trei clasele formeazã de fapt o singurã clasã Iris (o clasã cu trei prototipuri). În figura 8.2b se presupune cã prototipurile aparþin unor clase diferite. Se poate observa efectul interesant de îmbinare care apare când douã prototipuri similare sunt apropiate unul de celãlalt. De asemenea, când prototipurile sunt diferite, elipsele normale sunt deformate de influenþa prototipului concurent. Zonele deschise la culoare semnificã similaritãþi ridicate faþã de prototipuri.
159
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 8.2a. Harta similaritãþii faþã de prototipuri: prototipuri de aceeaºi clasã
Figura 8.2b. Harta similaritãþii faþã de prototipuri: prototipuri de clase diferite
160
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Figura 8.3. Harta încrederii
Figura 8.4. Harta NNGEP pentru un model simplu
Altã problemã apare din faptul cã similaritatea cu care o instanþã este asociatã cu un prototip nu indicã ºi încrederea cu care instanþa respectivã 161
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
este consideratã ca aparþinând clasei prototipului. Modelul contextului generalizat rezolvã problema încrederii calculând probabilitãþile de apartenenþã. O abordare alternativã este de a considera iarãºi în ordine descrescãtoare a valorilor similaritãþile s1 ºi s2 ºi de a defini încrederea c drept: daca P1 si P2 apartin aceleiasi clase 1, s s c 1 2 , daca P1 si P2 apartin unor clase diferite s1
(8.20)
Figura 8.3 prezintã harta încrederii pentru aceeaºi problemã, unde toate trei prototipurile reprezintã clase diferite. Zonele mai luminoase indicã o încredere ridicatã, iar cele întunecate sunt regiuni cu încredere redusã. Se poate observa cã zonele din jurul prototipurilor ºi cele izolate la extreme au, dupã cum era de aºteptat, o încredere apropiatã de 1, deoarece în aceste zone influenþa prototipurilor concurente este minimã. 8.2.5 Selecþia trãsãturilor ºi clusterizarea În acest paragraf, vom descrie pe scurt douã noi îmbunãtãþiri care pot fi aplicate algoritmului NNGEP pentru a simplifica regulile furnizate ºi pentru a sesiza mai exact distribuþia datelor problemei. Algoritmul dispune de un mecanism implicit de ponderare a trãsãturilor. Totuºi, regulile rezultate iau în considerare toate dimensiunile, chiar dacã unele dintre acestea sunt complet irelevante. Mai mult, unele trãsãturi pot fi relevante pentru o clasã ºi irelevante pentru alta. De exemplu, sã considerãm o problemã reprezentând un model simplu, definitã astfel: if x < 0.3 or x > 0.7 then type = 0 else if (y > 0.5) then type = 1 else type = 2; end-if end-if
162
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Se pot genera aleatoriu 1000 de instanþe dupã aceastã distribuþie, rezultând imaginea prezentatã în figura 8.4. Clasa 0 este roºie, clasa 1 este verde iar clasa 2 este albastrã. NNGEP gãseºte patru reguli: Clasa 0 (320 instanþe) x: 0.0002 0.2995 Prototip: 0.1597 (0.0885) y: 0.0022 0.9958 Prototip: 0.5115 (0.2929) Clasa 0 (280 instanþe) x: 0.7012 0.9998 Prototip: y: 0.0020 0.9988 Prototip: Clasa 1 (225 instanþe) x: 0.3028 0.6998 Prototip: y: 0.0003 0.4977 Prototip:
0.8530 (0.0857) 0.4887 (0.2835) 0.5123 (0.1216) 0.2573 (0.1459)
Clasa 2 (175 instanþe) x: 0.3001 0.6986 Prototip: 0.4936 (0.1177) y: 0.5028 0.9997 Prototip: 0.7707 (0.1389)
Ponderile trãsãturilor corespunzãtoare sunt: wx = 0.6218, wy = 0.3782.
(8.21)
Este clar cã ambele dimensiuni sunt relevante pentru a descrie clasele 1 ºi 2. Totuºi, clasa 0 poate fi descrisã numai de x. Deci, o metodã pentru selecþia trãsãturilor este cea descrisã în urmãtorul pseudocod: foreach hyperrectangle H do SH // SH este mulþimea atributelor selectate pentru hiperdreptunghiul H foreach attribute A in descending order of weights do SH SH A selection_ok true foreach instance I H and selection_ok = true do if I H according to the reduced attribute set SH then selection_ok false end-if end-for foreach instance I H and selection_ok = true do if I H according to the reduced attribute set SH then selection_ok false
163
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive end-if end-for end-for end-for
Procedura euristicã prezentatã se bazeazã pe ideea cã atributele cu pondere globalã mare vor avea cu probabilitate mare o influenþã similarã asupra unei clase individuale. Dacã atributul cel mai important din punct de vedere global nu este suficient pentru a distinge exemplele pozitive ºi negative ale clasei respective, se ia în considerare ºi urmãtorul atribut ca importanþã. În final, dacã nici o simplificare nu este posibilã, clasa va fi descrisã de toate atributele domeniului. În condiþiile în care datele sunt afectate de zgomot, se poate introduce un prag al proporþiei de instanþe care îºi pãstreazã apartenenþa la hiperdreptunghiul iniþial în condiþiile unei mulþimi reduse de atribute. Este evident cã metoda prezentatã are o complexitate mult mai micã, liniarã, în comparaþie cu verificarea exhaustivã a tuturor combinaþiilor posibile de atribute, care are o complexitate exponenþialã. Un caz special este cel al exemplarelor cu numãr mic (sau unitar) de instanþe, care pot fi considerate excepþii ale regulilor problemei. Dacã mulþimea lor de atribute este redusã, acest lucru poate afecta performanþele algoritmului în ceea ce priveºte predicþia. De exemplu, sã considerãm cã o instanþã afectatã de zgomot este introdusã în problema modelului simplu din figura 8.4 în clasa 0. Dacã nici o altã instanþã din mulþimea de antrenare nu are aceeaºi valoare pentru x, atunci dimensiunea y poate fi de asemenea ignoratã ºi pentru clasa instanþei introduse. Totuºi, în faza de predicþie, pot apãrea mai multe instanþe cu acelaºi x, ºi y diferit, iar acestea nu vor fi clasificate corect în clasa 0, ci în clasa instanþei afectate de zgomot. Experimente suplimentare trebuie efectuate pentru a stabili numãrul maxim de instanþe aparþinând unui exemplar-excepþie pentru a preveni reducerea completã sau parþialã a trãsãturilor sale. O altã îmbunãtãþire a NNGEP este impunerea faptului ca o instanþã nouã sã extindã un hiperdreptunghi numai dacã similaritatea ei faþã de prototipul hiperdreptunghiului este mai mare decât un anumit prag ès. Astfel, NNGEP poate acþiona ca o metodã de clusterizare pentru probleme de învãþare nesupervizatã. 8.2.6 Reprezentarea conceptelor compuse Vom explica aceastã metodã printr-un exemplu simplu. Sã considerãm domeniul plantelor, descris de trei atribute: culoare: simbolic, 164
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
cu valori posibile {roºu, verde, galben, alb}, înãlþime: numeric, cu valori reale, respectiv prezenþa spinilor: simbolic/boolean, cu valori posibile {da, nu}. Sã presupunem trei clase: {trandafir, cactus, panseluþã}. Instanþele folosite pentru antrenare sunt prezentate în tabelul 8.1. Tabelul 8.1. Datele de antrenare pentru domeniul plantelor Culoare roºu roºu alb galben verde verde verde alb galben roºu
Înãlþime (cm) 30 40 40 35 70 50 40 10 15 10
Spini da da da nu da da da nu nu nu
Nume trandafir trandafir trandafir trandafir cactus cactus cactus panseluþã panseluþã panseluþã
Algoritmul NNGEP gãseºte trei hiperdreptunghiuri: Clasa trandafir (4 instanþe) culoare: {roºu, galben, alb} Mod: roºu (2) înãlþime: [30.0000, 40.0000] Prototip: 36.2500 (4.1458) spini: {da, nu} Mod: da (3) Clasa panseluþã (3 instanþe) culoare: {roºu, galben, alb} Mod: roºu (1) înãlþime: [10.0000, 15.0000] Prototip: 11.6667 (2.3570) spini: {nu} Mod: nu (3) Clasa cactus (3 instanþe) culoare: {verde} Mod: verde (3) înãlþime: [40.0000,70.0000] Prototip: 53.3333 (12.4722) spini: {da} Mod: da (3)
În aceste rezultate, prototipurile sunt descrise prin medie ºi, în paranteze, deviaþie standard, în timp ce valorile modale sunt reprezentate drept cea mai frecventã valoare simbolicã ºi, în paranteze, numãrul de instanþe care au valoarea respectivã. În general, unele clase pot fi multimodale (de exemplu, clasa panseluþã de mai sus); totuºi, pentru simplitate, în acest caz s-a considerat numai prima valoare modalã. Ponderile atributelor sunt: 165
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
wculoare = 0.3212, wînãlþime = 0.4470, wspini = 0.2318.
(8.21)
Pentru predicþie, sã presupunem datele din tabelul 8.2. Ultima coloanã indicã rezultatele predicþiei. Tabelul 8.2. Datele pentru predicþie în domeniul plantelor Culoare galben roºu alb alb galben roºu verde galben alb verde
Înãlþime (cm) 35 30 40 20 15 10 50 35 20 70
Spini da nu da nu nu nu da da nu nu
Clasa doritã trandafir trandafir trandafir panseluþã panseluþã panseluþã cactus trandafir panseluþã cactus
Clasa prezisã trandafir – OK trandafir – OK trandafir – OK panseluþã – OK panseluþã – OK panseluþã – OK cactus – OK trandafir – OK panseluþã – OK cactus – OK
Acum, sã considerãm urmãtoarea problemã: „Mariei îi plac trandafirii galbeni ºi panseluþele, nici o altã plantã, dar numai când vremea este frumoasã”. Putem gândi situaþia prezentatã în termenii unor cadre (engl. “frames”). Cadrele au fost introduse de Marvin Minsky (1975), care le descrie informal dupã cum urmeazã: „Un cadru este o structurã de date pentru reprezentarea unei situaþii stereotipe, precum cea de a fi într-un anumit tip de camerã, sau a merge la petrecerea aniversarã a unui copil. Ataºate fiecãrui cadru sunt mai multe tipuri de informaþii. Unele din aceste informaþii se referã la utilizarea cadrului. Unele se referã la ceea ce s-ar putea întâmpla în continuare. Unele se referã la ce trebuie fãcut dacã aceste aºteptãri nu sunt confirmate. Ne putem gândi la un cadru ca la o reþea de noduri ºi relaþii. Nivelurile superioare ale cadrului sunt fixe ºi reprezintã lucrurile care sunt întotdeauna adevãrate în legãturã cu presupusa situaþie. Nivelurile inferioare au o serie de terminale – fante (engl. “slots”) care trebuie completate cu instanþe sau date specifice. Fiecare terminal poate specifica condiþiile care trebuie îndeplinite de atribuirile sale. (Atribuirile înseºi sunt de obicei subcadre mai mici.) Condiþiile simple sunt specificate de marcaje care ar putea necesita ca o atribuire de terminal sã fie o persoanã, un obiect cu anumitã valoare sau un pointer la un subcadru de un anume tip. Condiþiile mai complexe pot specifica relaþii între lucrurile atribuite mai multor terminale.” 166
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
În cazul discutat, situaþia de „a primi un cadou” poate fi consideratã un cadru cu douã fante: floarea primitã ºi starea vremii. Valorile stereotipe pentru fante sunt prototipul ºi valorile modale ale hiperdreptunghiurilor descoperite de NNGEP. În condiþiile stereotipe efective, aceste valori rãmân practic neschimbate ºi pot fi folosite drept niveluri superioare fixe al cadrului. Totuºi, de vreme ce definiþia clasicã a cadrului este mai largã, incluzând acþiuni care pot fi efectuate de cãtre cadru sau asupra sa, vom utiliza aici termenul de „concept compus”, deoarece ne vom referi doar la structura cadrelor ºi la caracteristicile instanþelor. Dacã ºi acþiunile pot fi descrise de asemenea ca o mulþime de atribute cu anumite valori este încã o problemã controversatã. Mai degrabã, acþiunile reprezintã diferenþele valorilor atributelor între douã stãri. De aceea, considerãm domeniul plantelor ca un concept compus ºi vremea ca un atribut simplu. Problema de clasificare este de a determina dispoziþia Mariei prin analiza florii pe care o primeºte ºi a stãrii vremii. O modalitate simplã de a aborda aceastã problemã este de a considera atributele domeniului plantelor ca fiind tot atribute ale domeniului general. Deci, vor exista patru atribute: cadou.culoare: simbolic, cu valori posibile {roºu, verde, galben, alb}, cadou.înãlþime: numeric, cu valori reale cadou.spini: simbolic/boolean, cu valori posibile {da, nu}, respectiv vreme: simbolic, cu valori posibile {soare, ploaie}. Existã douã clase care exprimã dispoziþia: {bunã, rea}. Instanþele utilizate pentru antrenare sunt prezentate în tabelul 8.3. Tabelul 8.3. Datele de antrenare pentru domeniul „dispoziþiei Mariei” Descriere în limbaj natural trandafir galben trandafir roºu trandafir alb panseluþã cactus
trandafir panseluþã
Cadou.culoare galben roºu roºu alb alb galben roºu verde verde roºu roºu
Cadou.înãlþime 35 30 40 40 10 15 10 53 53 36 12
Cadou.spini nu da da da nu nu nu da da da nu
Vreme soare soare soare soare soare soare soare ploaie soare ploaie ploaie
Dispoziþie bunã rea rea rea bunã bunã bunã rea rea rea rea
167
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Dupã considerarea varietãþilor de plante, apare un fenomen asemãnãtor „problemei cadrelor” (engl. “frame problem”). Varietãþile implicite trebuie de asemenea reflectate în mulþimea de antrenare, ceea ce poate conduce la o creºtere exponenþialã a numãrului de instanþe de antrenare. În cadrul cercetãrilor, s-a încercat evitarea acestei probleme prin considerarea numai a prototipurilor exemplarelor (ultimele patru linii din tabelul 8.3), ºi nu a tuturor combinaþiilor de valori ale atributelor. Utilizând aceste instanþe, algoritmul NNGEP gãseºte trei hiperdreptunghiuri: Clasa rea (6 instanþe) cadou.culoare: {roºu, verde, alb} Mod: roºu (3) cadou.înãlþime: [30, 53] Prototip: 42.0000 (8.4656) cadou.spini: {da} Mod: da (6) vreme: {soare, ploaie} Mod: soare (4) Clasa bunã (4 instanþe) cadou.culoare: {roºu, galben, alb} Mod: galben (2) cadou.înãlþime: [10, 35] Prototip: 17.5000 (10.3078) cadou.spini: {nu} Mod: nu (4) vreme: {soare} Mod: soare (4) Clasa rea (1 instanþã) cadou.culoare: {roºu} Mod: roºu (1) cadou.înãlþime: [12, 12] Prototip: 12.0000 (0.0000) cadou.spini: {nu} Mod: nu (1) vreme: {ploaie} Mod: ploaie (1)
Ponderile atributelor sunt: wcadou.culoare = 0.2503, w cadou.înãlþime = 0.2694, w cadou.spini = 0.3548, wvreme = 0.1255.
(8.22)
Pentru predicþie, s-au folosit datele din tabelul 8.4. Ultima coloanã indicã rezultatele. Este clar cã aceastã abordare de a considera pur ºi simplu toate atributele fãrã a lua în calcul structura compusã a domeniului nu este viabilã. Prin urmare, modelul NNGEP trebuie extins astfel încât sã trateze instanþe compuse ºi sã creeze hiperdreptunghiuri de astfel de instanþe. De vreme ce procesul de generalizare este imediat (exemplarele sunt extinse pentru a include instanþe compuse pe fiecare dimensiune/atribut), problema este gãsirea unei metrici potrivite pentru calcularea distanþei dintre 168
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
instanþe compuse, problemã echivalentã cu gãsirea unei metrici pentru distanþa dintre exemplarele generalizate. Tabelul 8.4. Datele pentru predicþie în domeniul „dispoziþiei Mariei” Cadou.culoare galben roºu alb alb galben roºu verde galben alb verde
Cadou.înãlþime 35 30 40 20 15 10 50 35 20 70
Cadou.spini da nu da nu nu nu da da nu nu
Vreme soare soare soare soare soare soare soare ploaie ploaie soare
Clasa doritã bunã rea rea bunã bunã bunã rea rea rea rea
Clasa prezisã rea – GREªIT rea – GREªIT rea – OK bunã – OK bunã – OK bunã – OK rea – OK rea – OK bunã – GREªIT bunã – GREªIT
În formalizarea matematicã a spaþiilor conceptuale (Gärdenfors, 2000), Aisbett ºi Gibbon (2001) sugereazã folosirea distanþei Hausdorff ca mãsurã pentru regiunile convexe din spaþiile conceptuale:
d H ( A, B ) max sup inf d (a, b) , sup inf d ( a, b) , bB aA aA bB
(8.23)
unde A ºi B sunt douã regiuni date iar d() este o funcþie distanþã între douã puncte. Pentru situaþia datã, putem considera hiperdreptunghiurile drept regiuni convexe ºi intenþionãm sã gãsim o distanþã adecvatã între ele. De asemenea, metrica pentru distanþã trebuie sã menþinã compatibilitatea cu distanþa dintre instanþe ºi hiperdreptunghiuri folositã pânã acum. Dacã se utilizeazã metrica Hausdorff, când se considerã o instanþã ca fiind un hiperdreptunghi a cãrui mãrime pe orice dimensiune este nulã, distanþa este cea prezentatã în figura 8.5.
Figura 8.5. Distanþa Hausdorff ºi distanþa doritã dintre o instanþã ºi un hiperdreptunghi
169
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Pentru a menþine compatibilitatea, putem utiliza funcþia min în loc de max:
d ( A, B ) min sup inf d ( a, b) , sup inf d (a, b) . bB aA aA bB
(8.24)
Distanþa totalã este aceeaºi ca în NNGEP standard (ecuaþia 8.18). Doar distanþa dintre valorile atributelor pe dimensiuni individuale se modificã. Formula pentru calcularea distanþei dintre douã hiperdreptunghiuri este cea din relaþia (8.25). 0, dacã Contine( H 1 , H 2 ) sau Contine( H 2 , H 1 ) min( | minval ( H ) minval ( H ) |, | maxval ( H ) maxval ( H ) | ), 1 2 1 2 i i i i dacã Di este numeric di (H1, H 2 ) min card symbolsi ( H 1 ) symbolsi ( H 2 ) , card symbolsi ( H 2 ) symbolsi ( H 1 ) , card symbolsi ( H 1 ) card symbolsi ( H 2 ) dacã Di este simbolic
(8.25) unde symbolsi(H) este mulþimea de valori simbolice ale lui H pentru dimensiunea/atributul i. Distanþa astfel definitã are avantajul simetriei. Totuºi, experimentele din psihologie aratã cã oamenii nu percep distanþa dintre concepte ca fiind neapãrat simetricã (Miclea, 1999). Revenind la exemplul de la începutul paragrafului 8.2.3, un european poate considea o nucã de cocos ca fiind mai asemãnãtoare cu un mãr decât un mãr cu o nucã de cocos, deoarece mãrul are mai multe valori cunoscute ale atributelor decât nuca de cocos. Folosind relaþia (8.25), se introduce distanþa unilateralã dintre concepte pe o dimensiune simbolicã drept: d iu ( H1 , H 2 )
cardsymbolsi ( H 1 ) symbolsi ( H 2 ) , cardsymbolsi ( H1 )
(8.26)
170
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
unde card reprezintã cardinalitatea unei mulþimi iar symbolsi este mulþimea de valori simbolice corespunzãtoare dimensiunii i. În exemplul cu mãrul ºi nuca de cocos, fie n numãrul valorilor comune ale atributelor, m numãrul valorile atributelor caracteristice mãrului dar nu ºi nucii de cocos, iar c numãrul valorilor atributelor caracteristice nucii de cocos dar nu ºi mãrului, cu m > c. Deci d u ( M , C ) m /(n m) ºi d u (C , M ) c /( n c) . Putem vedea în continuare cã: d u ( M , C ) d u (C , M )
m ( n c ) c ( n m) n (m c) 0 ,(8.27) ( n m)( n c ) ( n m)( n c)
ceea ce implicã d u ( M , C ) d u (C , M ) ºi s u ( M , C ) s u (C , M ) , deoarece similaritatea este o funcþie exponenþial negativã de distanþã. (q.e.d.) Pentru conceptul compus de plantã, trebuie mai întâi identificate subclusterele care corespund varietãþilor de trandafir necesare pentru antrenare (tabelul 8.5). Tabelul 8.5. Datele de antrenare pentru varietãþile de trandafir Culoare roºu roºu alb galben
Înãlþime 30 40 40 35
Spini da da da nu
Nume trandafir_roºu trandafir_roºu trandafir_alb trandafir_galben
Hiperdreptunghiurile pentru aceste tipuri sunt urmãtoarele: Clasa trandafir_roºu (2 instanþe) culoare: {roºu} Mod: roºu (2) înãlþime: [30, 40] Prototip: 35.0000 (5.0000) spini: {da} Mod: da (2) Clasa trandafir_alb (1 instanþã) culoare: {alb} Mod: alb (1) înãlþime: [40, 40] Prototip: 40.0000 (0.0000) spini: {da} Mod: da (1) Clasa trandafir_galben (1 instanþã) culoare: {galben} Mod: galben (1) înãlþime: [35, 35] Prototip: 35.0000 (0.0000) spini: {nu} Mod: nu (1)
171
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Chiar dacã existã mai multe varietãþi ale clasei trandafir, trandafirul însuºi nu poate fi considerat un concept compus, deoarece toate varietãþile sunt definite pe aceeaºi mulþime de atribute. Exemplarele pentru cactus ºi panseluþã sunt aceleaºi ca mai sus. Exemplarele generalizate gãsite de NNGEP sunt: Clasa rea (6 instanþe) plantã: {trandafir_roºu, trandafir_alb, cactus} Mod: trandafir_roºu (2) vreme: {soare, ploaie} Mod: soare (3) Clasa rea (2 instanþe) plantã: {trandafir_galben, panseluþã} trandafir_galben (1) vreme: {ploaie} Mod: ploaie (2) Clasa bunã (2 instanþe) plantã: {trandafir_galben, panseluþã} trandafir_galben (1) vreme: {soare} Mod: soare (2)
Mod:
Mod:
Ponderile atributelor sunt: wplantã = 0.5765, wvreme = 0.4235.
(8.28)
Luând în considerare relaþiile (8.21), rezultã cã dacã o instanþã este specificatã de mulþimea completã a atributelor sale, ponderile globale sunt: wcadou.culoare = 0.1852, w cadou.înãlþime = 0.2577, w cadou.spini = 0.1336, wvreme = 0.4235,
(8.29)
unde se înmulþeºte wplantã cu fiecare din ponderile normalizate ale domeniului plantelor (wculoare, wînãlþime, and wspini). Aceste valori sunt clar diferite de cele exprimate de relaþiile (8.22). Se observã cã predicþiile din tabelul 8.6 sunt în mod semnificativ mai bune decât înainte, cu numai o singurã eroare. Mai trebuie sã examinãm cauza clasificãrii greºite a instanþei (roºu, 30, nu, soare). În tabelul 8.2 putem vedea cã instanþa (roºu, 30, nu) a fost clasificatã ca trandafir. Când am extins domeniul plantelor, exemplarul global trandafir a fost ignorat ºi instanþa a fost categorizatã ca panseluþã, dupã cum aratã tabelul 8.7. 172
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Tabelul 8.6. Datele pentru predicþie în domeniul compus „dispoziþia Mariei”
Culoare galben roºu alb alb galben roºu verde galben alb verde
Înãlþime 35 30 40 20 15 10 50 35 20 70
Spini da nu da nu nu nu da da nu nu
Vreme soare soare soare soare soare soare soare ploaie ploaie soare
Clasa doritã bunã rea rea bunã bunã bunã rea rea rea rea
Clasa prezisã bunã – OK bunã – GREªIT rea – OK bunã – OK bunã – OK bunã – OK rea – OK rea – OK rea – OK rea – OK
Tabelul 8.7. Distanþa de la instanþa excepþie la exemplarele generalizate ale domeniului Clasa trandafir panseluþã cactus trandafir_roºu trandafir_alb trandafir_galben
Distanþa 0 0.0557 0.2506 0.1605 0.2506 0.1898
Pentru a avea o clasificare precisã, trebuie luate în considerare toate informaþiile despre structura domeniului. În aceastã situaþie poate fi adecvatã o metodologie ierarhicã. Astfel, o nouã instanþã poate fi descompusã în mulþimi de valori ale atributelor aparþinând unor domenii simple, clasificarea se poate face separat pe fiecare domeniu ºi apoi se pot impune constrângeri asupra clasificãrii globale altfel încât sã fie validate clasificãrile parþiale de nivel înalt. Pentru cazul luat în discuþie, instanþa (roºu, 30, nu) este clasificatã mai întâi ca un trandafir în domeniul plantelor pe nivelul superior. Apoi, când se calculeazã distanþele faþã de exemplarele domeniului cu varietãþile de trandafir, numai exemplarele trandafir_roºu, trandafir_alb ºi trandafir_galben vor fi luate în considerare iar instanþa va fi categorizatã ca trandafir_roºu. O modalitate de a impune modificãrile în categorizarea globalã este prin înlocuirea valoarii instanþei cu o valoare prototip pe dimensiunile în care aceasta diferã cel mai mult faþã de prototip. Aici, valoarea atributului spini se modificã din „nu” în „da”, deoarece „da” este valoarea modalã a atributului spini în clasa trandafir_roºu. Acest fenomen 173
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
poate fi perceput ºi în prelucrãrile cognitive umane, unde odatã ce un obiect a fost clasificat, diferenþele faþã de valorile prototipice (obiºnuite) sunt ignorate ºi tratate ca excepþii. În acest mod, clasificarea poate fi îmbunãtãþitã suplimentar, chiar dacã aceastã creºtere a performanþelor se realizeazã pe seama timpului de prelucrare/reacþie. 8.3 Învãþarea deductivã Pânã de curând, metodele inteligenþei artificiale se bazau pe douã paradigme principale: simbolicã ºi conexionistã. Metodele simbolice extind logica clasicã ºi sunt utilizate mai ales pentru rezolvarea automatã de probleme ºi raþionament, pe când metodele conexioniste, subsimbolice sunt folosite de obicei pentru recunoaºterea modelelor ºi aproximãri funcþionale. Prima are avantajul reprezentãrii explicite a cunoºtinþelor însã învãþarea este dificilã, iar a doua are avantajul posibilitãþii de învãþare, dar aceste modele sunt numite „cutii negre” (engl. “black box”) întrucât reprezentarea cunoºtinþelor nu este explicitã. Psihologia cognitivã defineºte un sistem cognitiv drept un sistem fizic cu douã caracteristici: de reprezentare ºi de prelucrare. Pentru modelul propus (Zaharia, Leon & Gâlea, 2004b), aceste douã componente vor fi prezentate în paragrafele urmãtoare. 8.3.1 Modelul unui context de învãþare Informaþiile nu sunt primite ºi codificate izolat. Fiecare informaþie este legatã de alte informaþii, apropiate din punct de vedere spaþial, temporal sau semantic. Acesta este motivul pentru care mici fragmente ale circumstanþelor învãþãrii pot determina reamintirea întregii situaþii (Miclea, 1999). Schemele sunt structuri mentale ipotetice pentru stocarea în memorie a conceptelor generice, a informaþiilor categorizate adecvat. Ele pot fi privite ca un tip de structurã generalã pentru reprezentarea cunoaºterii. Schemele sunt similare cu definiþiile de tip (structurile). Un tip de concept poate avea cel mult o definiþie, dar arbitrar de multe scheme. Schemele se considerã cã stocheazã cunoºtinþe generice, abstracte sau prototip, adicã încapsuleazã regularitãþile percepute în experienþele din care au existat mai multe instanþe particulare. Odatã formate, ele sunt folosite pentru ghidarea ulterioarã a codãrii, organizãrii ºi regãsirii informaþiilor (Leon, Gâlea & Zbancioc, 2002). Definim un context de învãþare ca o mulþime de scheme înrudite semantic care sunt conectate direct sau indirect în reprezentare: 174
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
LC si S | s j S , i j , link ( si , s j ) 1 ,
(8.30)
unde link : S 2 {0,1} este definit precum urmeazã: 1, directlink ( si , s j ) (s k S , link ( si , s k ) link ( sk , s j ) 1) link ( si , s j ) (8.31) 0, altfel Baza de cunoºtinþe (engl. “knowledge base”) a agentului conþine mulþimea contextelor de învãþare:
KB LCi | i 1, n ,
(8.32)
unde n este numãrul de contexte de învãþare din baza de cunoºtinþe. Definim un concept drept orice element al limbajului natural care poate avea un înþeles în mod independent. Dintr-o perspectivã funcþionalã, un concept poate reprezenta un obiect, o acþiune sau un atribut. Baza de cunoºtinþe este reprezentatã ca o reþea neuronalã localizatã, în care nodurile corespund conceptelor. Acelaºi concept poate apãrea în contexte de învãþare diferite care îi pot da diferite interpretãri. De aceea, este necesarã diferenþierea între douã tipuri de noduri: noduri simple de prelucrare ºi noduri dicþionar. Un nod dicþionar este un nod care corespunde unic unui concept din limbajul natural. Un nod de prelucrare poate fi conectat atât cu un nod dicþionar, cât ºi cu unul sau mai multe noduri de prelucrare. Nodurile de prelucrare sunt folosite pentru prelucrarea efectivã a informaþiilor, în timp ce nodurile dicþionar preiau rezultatele calculelor interne ºi acþioneazã ca o interfaþã pentru comunicaþiile externe. Aceastã distincþie este bazatã de asemenea pe modelul minþii umane, unde existã zone speciale de prelucrare a limbajului (Penrose, 1996; Sikes, 2002). Douã zone foarte importante sunt zona Broca, o regiune situatã în partea inferior posterioarã a lobului frontal ºi zona Wernike, situatã în interiorul ºi în jurul pãrþii superior posterioarã a lobului temporal. Zona Broca contribuie la formularea propoziþiilor, iar zona Wernike este rãspunzãtoare de înþelegerea limbajului. La fel ca într-o reþea neuronalã clasicã, nodurile sunt legate prin conexiuni cu anumite ponderi. Ponderile conexiunilor pot fi pozitive (conexiuni excitatoare) sau negative (conexiuni inhibitoare). Nodurile au funcþii de activate sigmoide bipolare fãrã valori prag: 175
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
f(s)
2 1 es 1 . 1 e s 1 e s
(8.33)
8.3.2 Dinamica învãþãrii Pe mãsurã ce agentul primeºte noi informaþii, el îºi construieºte structura cognitivã prin adãugarea sau actualizarea conexiunilor dintre nodurile corespunzãtoare conceptelor pe care trebuie sã le prelucreze. Învãþarea poate apãrea în patru situaþii: Învãþarea conceptelor: Când agentul descoperã un nou concept, el creeazã un nou nod dicþionar care memoreazã conceptul ºi un nou nod de prelucrare în contextul de învãþare curent, care este conectat cu primul; Definirea conceptelor: Când un agent întâlneºte definiþia unui concept, adicã un concept-obiect este descris de o serie de concepteatribut, el gãseºte nodurile de prelucrare corespunzãtoare conceptelor din definiþie ºi apoi creeazã sau actualizeazã conexiunile dintre nodul de prelucrare al conceptului-obiect ºi nodurile de prelucrare ale conceptelor-atribut; Rezolvarea de probleme: Când agentul trebuie sã rezolve o problemã deductivã, adicã sã gãseascã o cale în structura bazei sale de cunoºtinþe care sã lege un concept-obiect de un concept-atribut, el actualizeazã ponderile conexiunilor de pe cale (dacã poate fi gãsitã o cale) ºi creeazã o nouã conexiune directã între nodul de prelucrare al conceptului-obiect ºi nodurile de prelucrare ale conceptului-atribut. Dacã este gãsitã o cale, acestei noi conexiuni i se acordã o pondere pozitivã; altfel, i se acordã o pondere negativã; Deprecierea ponderilor: Acest mecanism poate fi asemãnat cu uitarea în contextul biologic. Deºi învãþarea ºi uitarea par antonimice în limbajul comun, în cadrul prezentului model definim învãþarea într-un sens mai general, care se referã la schimbãrile survenite în valoarea ponderilor conexiunilor de memorie. Astfel, uitarea înseamnã scãderea valorii absolute a ponderilor conexiunilor înainte ca un nou context sã fie învãþat. 8.3.3 Învãþarea conceptelor Fie C un nou concept întâlnit de agent. În acest caz sunt automat create douã noduri: un nod dicþionar N d (C ) ºi un nod de prelucrare N p . Ele sunt apoi legate prin douã conexiuni unidirecþionale, ale cãror ponderi 176
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
sunt iniþializate precum urmeazã: weight ( N d (C ), N p ) weight ( N p , N d (C )) 1 ,
(8.34)
unde 1 este rata de învãþare. Cele douã conexiuni sunt necesare deoarece, la fel ca în cazul minþii umane, o imagine mentalã poate fi activatã prin înþelegerea cuvântului corespunzãtor sau, invers, o imagine mentalã poate determina gãsirea unui cuvânt care sã o descrie. O valoare acceptabilã pentru 1 este 0.2 (vezi paragraful 8.3.7). 8.3.4 Definirea conceptelor În acest caz, agentul descoperã o relaþie între un concept-obiect C obj
i . Relaþia poate fi pozitivã sau ºi o mulþime de concepte-atribut C attr negativã, de exemplu „George este înalt” sau „Floarea nu e roºie”. Algoritmul de învãþare este:
find the dictionary node Nd(Cobj) associated with Cobj find the processing node Npo linked to Nd(Cobj) foreach concept Cattr in {Ci;attr} begin find the dictionary node Nd(Cattr) associated with Cattr find the processing node Npa linked to Nd(Cattr) if the relation is excitatory then weight(Npo, Npa) weight(Npo, Npa) + ç2 else // relaþia este inhibitoare weight(Npo, Npa) weight(Npo, Npa) - ç2 end-if end-for
Trebuie precizat faptul cã aceste conexiuni unidirecþionale sunt create doar de la conceptul-obiect cãtre fiecare concept-atribut. Motivul este evident: „Câinele este animal” este o propoziþie adevãratã, însã „Animalul este câine” este falsã, întrucât nu orice animal este un câine. Se utilizeazã aici o altã ratã de învãþare, 2 , care poate fi iniþializatã cu 0.1. Dacã o conexiune nu existã, ea este creatã ºi ponderea ei este setatã la 2 or 2 , conform polaritãþii relaþiei. 177
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
8.3.5 Rezolvarea de probleme În cadrul modelului prezentat mai sus, definim o problemã deductivã drept o încercare de gãsire a unei cãi în spaþiul conceptelor în reprezentare internã între un concept-obiect ºi un concept-atribut. Soluþia propusã intenþioneazã sã reflecteze analogia cu modelul memoriei umane. În mod tradiþional, psihologia distinge douã tipuri de memorie: de lungã duratã ºi de scurtã duratã (Miclea, 1999; Zlate, 1999). Memoria de lungã duratã (MLD) stocheazã în special informaþii de mare importanþã ºi utilitate pentru viaþa individului. Memoria de scurtã duratã (MSD) permite prelucrarea informaþiilor recente, imediate, care au doar o importanþã momentanã. În timp ce memoria de scurtã duratã dã consistenþã ºi înþeles momentului, memoria de lungã duratã asigurã continuitatea întregului curs al vieþii. Diferite experimente au arãtat cã aceste douã tipuri de memorie se diferenþiazã nu doar prin conþinut, ci au ºi caracteristici distincte: Capacitate: MSD are o capacitate de 7 2 componente (engl. “chunks”) informaþionale; MLD are o capacitate aproape nelimitatã; Tipul de codificare a informaþiei: în MSD codificarea are în principal un caracter verbal (fonologic) sau imagistic (stocheazã modele de sunete sau imagini); în MLD existã o codificare semanticã; Menþinerea informaþiilor: în MSD menþinerea este realizatã prin repetiþie continuã; în MLD este realizatã prin repetiþii elaborative care formeazã asociaþii între entitãþile existente; Regãsirea informaþiilor: în MSD, regãsirea se presupune a avea un caracter serial (de exemplu reamintirea unei entitãþi dintr-o listã prezentatã anterior se realizeazã prin compararea entitãþii cu toate celelalte entitãþi din listã); în MLD se presupune a avea un caracter paralel (de exemplu utilizarea limbajului). Cercetãrile recente din psihologia cognitivã propun un model unificat, în care MSD ºi MLD nu sunt structuri mnezice separate. Diferenþele au o naturã funcþionalã, nu structuralã, ºi rezultã în special din nivelurile diferite de activare. MSD este cauzatã de activarea temporarã a unor pãrþi din MLD. În modelul propus, avem de asemenea o memorie de scurtã duratã (sau de lucru): MSD nod i MLD | activare(nod i ) 0 .
(8.35)
178
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Când un agent trebuie sã rezolve o problemã, el activeazã succesiv diferite noduri din memorie, formând astfel o cale de activare de la conceptul-obiect la conceptul-atribut. Algoritmul de gãsire ºi învãþare a cãii este urmãtorul: find the dictionary node Nd(Cobj) associated with Cobj find the dictionary node Nd(Cattr) associated with Cattr activation(Nd(Cobj)) 1 // activeazã nodul dicþionar Nd(Cobj) asociat cu Cobj activation(Nd(Cattr)) 1 // activeazã nodul dicþionar Nd(Cattr) asociat cu Cattr N = Nd(Cobj) solution not found while solution is not found and the set of non-activated nodes is not void begin if there exists a direct connection from N to Nd(Cattr) then solution found break while end-if // se iau în calcul valorile absolute ale ponderilor
find the maximum weighted direct connection from N to a non-activated node Nnext // activeazã nodul Nnext prin aplicarea funcþiei de activare asupra netinput-ului
activation(Nnext) tanh(activation(N) * weight(N, Nnext)) // evitã conexiunile inhibitoare
if activation(Nnext) > 0 then N Nnext end-if
// o conexiune inhibitoare sugereazã posibilitatea, nu certitudinea, // cã o cale nu va fi gãsitã
if activation(Nnext) < 0 and the dictionary node associated with Nnext is Nd(Cattr) then display warning (path may not be found) or break while end-if end-while
179
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive find the processing node Npo linked to Nd(Cobj) find the processing node Npa linked to Nd(Cattr) if solution is found then foreach connection CN on the path from Nd(Cobj) to Nd(Cattr) weight(CN) weight(CN) + ç3 end-for weight(Npo, Npa) weight(Npo, Npa) + ç2 else weight(Npo, Npa) weight(Npo, Npa) – ç2 end-if
Se observã faptul cã pe calea de la conceptul-obiect la conceptulatribut ponderile conexiunilor sunt mãrite de fiecare datã când problema e rezolvatã. De aceea, cu cât este mai mare ponderea unei conexiuni, cu atât este mai mare probabilitatea ca acea conexiune sã fie utilã ºi pentru rezolvarea problemei curente. Prin analogie cu mintea umanã, când oamenii încearcã sã rezolve o problemã, ei tind sã aplice mai întâi metodele pe care le-au folosit mai des ºi s-au dovedit încununate de succes. Dupã ce se trage o concluzie, se creeazã sau se actualizeazã conexiunea directã de la conceptul-obiect la conceptul-atribut. Odatã ce problema este rezolvatã, rezultatele pot fi aplicate direct pentru sarcinile ulterioare, fãrã a mai trebui rezolvatã problema din nou. Totuºi, acest lucru s-ar putea sã nu fie simplu la început. Pânã când un subiect se obiºnuieºte cu o nouã abordare, s-ar putea sã-i fie mai uºor sã foloseascã metodele anterioare, chiar dacã acestea necesitã un timp mai îndelungat pentru rezolvarea problemei. Pentru a simula acest comportament, s-a ales o a treia ratã de învãþate, 3 0.05 . El poate fi vãzut ca o generalizare a regulei de învãþare hebbianã (Hebb, 1949), care afirmã cã schimbarea ponderii unei conexiuni este proporþionalã cu produsul intrãrii ºi ieºirii acelei conexiuni. În modelul propus am simplificat aceastã idee astfel încât ponderea unei conexiuni este mãritã sau micºoratã în conformitate cu semnul produsului dintre activãrile nodurilor de intrare ºi ieºire. În consecinþã, dacã se gãseºte o cale cu activãri pozitive care rezolvã problema, atunci tuturor conexiunilor de pe acea cale li se vor mãri ponderile cu rata de învãþare. Micºorarea celorlalte conexiuni nu este necesarã, deoarece acestea nu sunt neapãrat inutile. Dacã nu au ajutat la gãsirea unei anumite soluþii, asta nu înseamnã cã nu vor ajuta la gãsirea unei alte soluþii în viitor. Utilizarea nodurilor activate împiedicã apariþia buclelor infinite 180
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
pentru definiþii circulare. Dacã pe parcursul procesului de învãþare agentul atinge un nod activat anterior (care nu este soluþia), pur ºi simplu îl ignorã ºi trece la urmãtorul nod neactivat. 8.3.6 Deprecierea ponderilor Dupã învãþarea unui context, sau oricând este necesar acest lucru, valoarea absolutã a ponderilor conexiunilor este micºoratã cu un factor proporþional, f 1 : foreach connection CN weight(CN) weight(CN) * çf end-for
Existã douã motive pentru aceastã operaþie. Primul este evitarea saturãrii funcþiei sigmoide. Dacã valorile ponderilor ar creºte nelimitat, funcþia de activare ar produce rezultate din ce în ce mai apropiate de 1 sau –1. Prin menþinerea ponderilor într-un interval acceptabil, efectele învãþãrii sunt diferenþiate mai precis. Al doilea motiv este cã prin micºorarea valorilor, experienþele noi devin mai importante decât cele vechi. O valoare acceptabilã pentru factorul de depreciere a ponderilor este 0.8. 8.3.7 Alegerea ratelor de învãþare Pe parcursul procesului de învãþare în cadrul modelului cognitiv propus sunt folosite trei rate de învãþare: 1 : rata de învãþare utilizatã pentru iniþializarea ponderii conexiunii dintre nodul dicþionar al unui concept nou întâlnit ºi nodul sãu de prelucrare corespunzãtor; 2 : rata de învãþare utilizatã pentru iniþializarea ºi actualizarea ponderii conexiunii dintre oricare douã noduri din memorie în alte situaþii decât cea anterioarã; 3 : rata de învãþare utilizatã pentru creºterea ponderilor conexiunilor pe calea de la un concept-obiect la un concept-atribut atunci când este rezolvatã o problemã deductivã. Aceste rate de învãþare trebuie sã verifice urmãtoarea relaþie:
1 2 3 .
(8.36)
181
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
1 dicteazã puterea cu care simbolul (de exemplu cuvântul) care desemneazã un concept este legat de reprezentarea internã. Am presupus cã aceastã putere trebuie sã fie mai mare sau cel puþin egalã cu puterea cu care sunt legate douã reprezentãri interne ( 2 ), pentru a sublinia importanþa interfeþei lingvistice cu exteriorul, adicã comunicarea cu utilizatorul sau cu alþi agenþi. De asemenea, 2 trebuie sã fie mai mare decât 3 pentru a asigura faptul cã o nouã conexiune directã între doi termeni ai unei probleme deductive va putea atinge în cele din urmã o putere mai mare decât calea utilizatã pentru gãsirea soluþiei, astfel încât dupã ce agentului i se prezintã problema de câteva ori, acesta sã poatã alege calea directã. 8.4 Agenþi inteligenþi pentru e-learning E-learning-ul este definit în general ca instruirea bazatã pe mijloace electronice. Indiferent dacã accesul utilizatorului se realizeazã prin browser (în Internet sau într-un intranet) sau prin alte mijloace, precum CD-ROMurile, tendinþa principalã este creºterea flexibilitãþii ºi disponibilitãþii prin utilizarea avantajelor puse la dispoziþie de continua expansiune a reþelei mondiale World Wide Web. E-learning-ul a fost în permanenþã perfecþionat, astfel încât acum poate include animaþii bazate pe context, simulãri ºi sarcini interactive, pe lângã metodologia clasicã audio-video. Conþinutul poate fi transmis în cadrul unor forumuri de discuþii electronice, prin cursuri la distanþã, documente ºi teste online ºi poate spori eficienþa lecþiilor datoritã eficienþei din punctul de vedere al costurilor. Dintre avantajele principale, se pot menþiona (CarsonMedia, 2003): Instruire promtã: Utilizatorii pot fi instruiþi dupã cum le permite programul ºi dupã ritmul fiecãruia. Aceastã mare disponibilitate ajutã angajaþii sã-ºi organizeze mai bine timpul; Funcþionare bazatã pe browser: Conþinutul este prezentat în mediul familiar al unui browser. Mulþi angajaþi sunt conectaþi la reþeaua unei companii sau au acces la Internet; Uºurinþã în actualizare: Modificãrile sunt realizate pe serverul care stocheazã conþinutul, iar actualizarea poate fi accesatã imediat; Disponibilitate globalã: cursurile de e-learning pot fi accesate practic de oriunde, ceea ce implicã anularea costurilor de distribuþie pentru utilizatori distribuiþi geografic. Numeroºi cercetãtori au studiat modalitãþile în care e-learning-ul poate fi realizat practic. Douã tehnologii au ºanse mari de a contribui la implementarea cu succes a sistemelor de e-learning (Hill, 2003): 182
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Vortalurile (portaluri verticale sau niºã): Sunt portaluri specializate ºi dedicate care adapteazã strategii specifice de învãþare colaborativã cu scopul creºterii performanþelor ºi furnizãrii informaþiilor necesare. Un portal de învãþare trebuie sã prezinte interfeþe diferite pentru diferite tipuri de utilizatori: o anumitã interfaþã pentru un elev vizual, o alta pentru un elev auditiv ºi alta pentru unul kinestezic. Pe mãsurã ce utilizatorul capãtã experienþã, opþiunile selectate frecvent trebuie sã le înlocuiascã pe cele iniþiale, implicite. Cu cât portalul este mai individualizat, cu atât mai mare este ºi impactul sãu; Agenþii inteligenþi: Sunt instrumente care pot gestiona supraîncãrcarea informaþionalã, pot servi ca experþi teoretici ºi pot crea medii de programare pentru utilizatori. În acest mod, procesul de învãþare este intensificat prin existenþa mai multor agenþi (a sistemelor multiagent) care colaboreazã sau concureazã pentru îndeplinirea unor scopuri prestabilite. Agenþii inteligenþi trebuie sã fie capabili sã modeleze utilizatorul pentru a-i putea memora cunoºtinþele, aptitudinile ºi stilul de învãþare. Agenþii inteligenþi pentru e-learning sunt instrumente software autonome corelate cu alte programe de aplicaþii ºi baze de date care ruleazã într-un mediu computerizat. Funcþia principalã a unui agent inteligent de elearning este cea de a-l ajuta pe utilizator sã interacþioneze cu o aplicaþie care prezintã un domeniu de învãþare. Dupã cum am menþionat, agenþii îºi regãsesc potenþialul educaþional pe trei dimensiuni principale (Baylor, 1999): pot gestiona supraîncãrcarea informaþionalã, pot servi ca experþi pedagogici ºi pot crea chiar medii de programare pentru utilizatorul elev. În timp ce conceptul de învãþãmânt la distanþã asigurã un acces virtual mai convenabil pentru elevii din orice locaþie geograficã, el introduce ºi unele limitãri ºi deficienþe (Jafari, 2001), mai ales din perspectivele comunicãrii, colaborãrii, pedagogiei ºi administrãrii cursului. Una din limitãrile cele mai importante apare datoritã lipsei de interacþiune directã dintre profesor ºi elev. Utilizând agenþii inteligenþi într-un mediu de învãþare, unele dintre aceste restricþii pot fi depãºite. Astfel, un agent inteligent trebuie sã fie întotdeauna disponibil pentru cursanþi, trebuie sã înþeleagã ºi sã interpreteze problemele utilizatorilor (întrebãri ºi cereri), sã aibã sau sã cunoascã un set de acþiuni care sã se activeze în conformitate cu recunoaºterea necesitãþilor elevului, iar rãspunsurile ºi deciziile trebuie sã depindã de programul cursului, de 183
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
progresele elevului, de problemele sale individuale ºi interesele sale speciale (Gadomski & Fontana, 2001). 8.4.1 Evoluþia paradigmelor calculului distribuit Din punctul de vedere al calcului distribuit, o problemã foarte importantã este creºterea asincronicitãþii comunicaþiilor în scopul scãderii costurilor comunicaþiei. O paradigmã clasicã în calculul distribuit este metoda client-server. Serverul gestioneazã un numãr de servicii legate de diferite resurse. Clientul pur ºi simplu utilizeazã serviciile de care are nevoie. Este important de subliniat cã serviciile sunt executate pe server, care trebuie sã aibã codul ºi puterea de calcul necesare pentru a satisface cererile clienþilor. Numeroase tehnologii suportã aceastã paradigmã (Orfali & Harkey, 1998): RPC (“Remote Procedure Calling”), CORBA (“Common Object Request Broker Architecture”), RMI (“Remote Method Invocation”). O altã abordare este paradigma „cod la cerere” (engl. “code on demand”). În acest caz, dacã o maºinã (clientul) nu ºtie cum sã execute un task, adicã nu are codul necesar, poate gãsi o altã maºinã în reþea (serverul) care sã aibã codul dorit. Serverul trimite clientului numai codul de executat ºi toate calculele se desfãºoarã pe maºina client (Lange, 2001). Exemple ale acestei paradigme sunt applet-urile Java, care sunt descãrcate de pe Internet ºi sunt executate local. Astfel, clientul nu are nevoie de o conexiune permanentã cu serverul, deoarece el trebuie numai sã-ºi transfere codul necesar. O paradigmã recentã este cea bazatã pe agenþi. Agenþii mobili se definesc ca programe care pot fi transferate (engl. “dispatched”) de pe un calculator pe altul pentru execuþie ºi interacþiune cu alþi agenþi (Harrison, Chess & Kershenbaum, 1995). Ei nu sunt fixaþi pe sistemul unde încep execuþia, ci se pot deplasa pe diferite maºini din reþea. Astfel, sistemul devine foarte flexibil deoarece calculele pot fi realizate pe oricare maºinã prin intermediul agenþilor, care se pot muta în scopul obþinerii resurselor ºi puterii de calcul necesare pentru îndeplinirea task-urilor. Lange ºi Oshima (1999) menþioneazã ºapte motive pentru utilizarea agenþilor mobili într-o aplicaþie distribuitã: agenþii reduc încãrcarea reþelei prin reducerea fluxului de date brute prin reþea, rezolvã parþial problema latenþei reþelei în sistemele de timp real, încapsuleazã protocoale, adicã stabilesc canale pentru comunicaþie, execuþie este asincronã ºi autonomã, adaptare este dinamicã (agenþii percep mediul ºi se pot adapta la schimbãri), eterogenitate, robusteþe ºi toleranþã la erori. Agenþii mobili pot fi o abordare eficientã pentru calculele distribuite sau cãutarea de date, deoarece în acest mod se evitã transferul costisitor al 184
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
unui volum mare de date prin reþea. Totuºi, mobilitatea impune creºterea complexitãþii agentului inteligent, deoarece trebuie luate în considerare securitatea ºi costul (Seydim, 1999). Dacã agentul trebuie sã acþioneze în numele utilizatorului, trebuie sã i se asigure o metodã de autentificare corespunzãtoare pentru maºinile gazdã. În acest scop, trebuie implementate sisteme de securitate pentru prevenirea abuzurilor. Pânã în prezent au fost propuse numai câteva sisteme care trateazã aceste probleme dificile, precum anularea unui certificat de autentificare sau restricþionarea lui într-o anumitã manierã (Waldo, 2001). Mai mult, dacã agentul trebuie sã se autentifice, apare urmãtoarea problemã: când are loc aceasta? Întrucât agentul este un obiect activ, la momentul în care destinatarul devine conºtient de prezenþa agentului, acesta ruleazã deja ºi deci are posibilitatea potenþialã de a ataca maºina gazdã. Invers, dacã agentul transportã informaþii importante, cum poate ºti el dacã destinaþia este de încredere? O altã problemã care trebuie luatã în considerare este modelul eºecului agentului. Într-un LAN se poate garanta funcþionarea staþiilor. În alte tipuri de reþele (în special pe Internet), acest lucru este imposibil. Astfel, proiectantul trebuie sã aibã în vedere perioada dintre momentul la care utilizatorul trimite un agent ºi momentul la care trebuie sã trimitã altul fiindcã primul nu s-a întors încã. O soluþie la aceste probleme este înzestrarea agenþilor cu un anumit grad de inteligenþã care le sporeºte flexibilitatea ºi capacitatea de adaptare la un mediu dinamic. 8.4.2 Structura sistemului propus Sistemul propus constã dintr-un numãr de servere de agenþi care au capacitatea de a gãzdui ºi transporta agenþi în reþea. De asemenea, pe servere existã baze de cunoºtinþe pe care agenþii le pot consulta prin intermediul câte unui agent local static de baze de cunoºtinþe. Agenþii au o arhitecturã BDI (engl. “beliefs-desires-intentions”), bazatã pe o tripletã de convingeri, dorinþe ºi intenþii (Rao & Georgeff, 1991). Se va descrie mai întâi tipul de informaþii pe care îl pot gestiona agenþii. S-a studiat posibilitatea ca agenþii sã caute cunoºtinþe distribuite pentru un sistem de e-learning. Astfel, s-a presupus cã entitãþile de cunoaºtere (engl. “knowledge items”) pot fi de douã tipuri (Gâlea, Leon & Zaharia, 2003): perceptive: cunoºtinþe pe care utilizatorul care învaþã le poate 185
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
înþelege direct, fãrã informaþii anterioare (de exemplu conceptul de numãr natural sau culoare); extinse: cunoºtinþe care necesitã înþelegerea anterioarã a altor concepte (de exemplu un limbaj de programare nu poate fi înþeles fãrã a ºti ce este un calculator). S-a presupus cã piesele de cunoaºtere se bazeazã pe un numãr limitat de entitãþi perceptive. Sistemul a fost proiectat foarte general ºi flexibil, astfel încât sã nu memoreze informaþii specifice, ci referinþe la acestea. De exemplu, dacã un anumit concept necesitã un film ºi un text pentru a fi învãþat, agentul va gãsi referinþa la film pe un server ºi apoi va cãuta în continuare conceptele necesare pentru înþelegerea filmului ºi textului. Agentul va descoperi de fapt un subgraf în graful de cunoºtinþe, astfel încât toate entitãþile de cunoaºtere corespunzãtoare sã fie direct sau indirect (prin fii) bazate pe percepþie. Nu este practic pentru un agent mobil sã transporte un film prin reþea, dar este important sã pãstreze informaþia asupra locaþiei sale, pentru ca acesta sã poatã fi descãrcat la momentul potrivit. Figura 8.6 prezintã un exemplu de 4 entitãþi de cunoaºtere perceptive ºi 16 entitãþi de cunoaºtere extinse. Pentru simplitate, am impus ca o entitate de cunoaºtere extinsã sã se bazeze pe un numãr între doi ºi patru de alte entitãþi de cunoaºtere (perceptive sau extinse). Sintaxa generalã a celor douã variante este exprimatã mai jos, în format BNF (“Backus-Naur Form”): := | := perceptual := extends { }
O altã informaþie permisã care poate fi transferatã prin conþinutul unui mesaj este lista de servere pe care se poate transporta un agent: := serverlist { }
Baza de cunoºtinþe va conþine entitãþi precum: KI_1 perceptual KI_2 perceptual KI_5 extends KI_3 KI_2 KI_14 extends KI_13 KI_8 KI_12
186
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Figura 8.6. Graf de cunoºtinþe
Aceastã bazã de cunoºtinþe este distribuitã pe serverele de agenþi. S-a acceptat o redundanþã informaþionalã de 20%, adicã aceeaºi informaþie se poate regãsi cu o probabilitate de 20% în mai multe baze de cunoºtinþe locale. Dorinþele agenþilor sunt iniþializate aleatoriu. De exemplu, o listã precum: KI_5 KI_7 KI_14 KI_19
va obliga agentul sã gãseascã o cale de la fiecare din cele patru entitãþi de cunoaºtere cãtre percepþie, prin vizitarea serverelor disponibile. Când un agent ajunge pe un server, el întreabã agentul local de baze de cunoºtinþe despre definiþiile conceptelor necunoscute. Agenþii comunicã prin mesaje KQML (limbaj descris în paragraful 3.3.2). Dupã ce agentul static local rãspunde, agentul de cãutare adaugã definiþiile în lista sa de convingeri ºi îºi actualizeazã dorinþele. Conceptele care acum sunt definite sunt eliminate din lista de dorinþe. Totuºi, dacã conceptul extinde alte concepte care nu sunt încã în lista de convingeri (concepte pe care agentul nu le-a mai întâlnit), acestea trebuie adãugate de asemenea în lista de dorinþe. Sã considerãm urmãtorul exemplu: agentul are ca dorinþã referinþa KI_9. Dacã primeºte rãspunsul KI_9 extends KI_1 KI_4, el va scoate KI_9 187
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
din lista de dorinþe, va introduce rãspunsul în lista de convingeri ºi îºi va genera douã noi dorinþe: KI_1 KI_4. Dacã va primi un rãspuns la un moment dat KI_1 perceptual, agentul nu-ºi va mai genera o nouã dorinþã, deoarece scopul sãu este sã aducã toate referinþele de entitãþi de cunoaºtere la o bazã perceptivã. Când agentul local nu mai are rãspunsuri, agentul de cãutare alege aleatoriu un server vecin nevizitat încã pentru a se transporta pe acesta. Dupã ce agentul a vizitat toate serverele, este posibil sã mai aibã încã dorinþe neîndeplinite. În acest caz începe un nou ciclu de vizitare. Procesul continuã pânã când tuturor entitãþilor din lista de dorinþe li se gãsesc definiþii perceptive directe sau indirecte. Dacã agentul trebuie sã gãseascã subgraful unui concept pe un nivel înalt în ierarhia conceptualã, el trebuie sã gãseascã o submulþime cu un mare numãr de elemente a mulþimii de concepte. Pentru a-ºi îndeplini scopul pot fi necesare mai multe cicluri de vizitare. Sintetizând cele descrise mai sus, sistemul propus este compus din trei entitãþi (Zaharia, Leon & Gâlea, 2003a): servere: sunt responsabile pentru asigurarea unui mediu de execuþie pentru agenþi ºi pentru transportarea agenþilor pe serverele învecinate; agenþi statici de baze de cunoºtinþe: sunt agenþi dispuºi câte unul pe fiecare server, fiind responsabili de managementul bazei de cunoºtinþe locale; rolul lor principal este sã le furnizeze agenþilor de cãutare informaþiile solicitate; agenþi mobili de cãutare: sunt agenþi care stocheazã informaþii în propriile baze de cunoºtinþe ºi care se pot muta de pe un server pe altul pentru a-ºi îndeplini sarcinile. Arhitectura generalã a sistemului este prezentatã în figura 8.7 (ªova, Leon & Gâlea, 2004). Serverele au, pe lângã rolul standard de a lansa ºi transporta agenþi, încã douã funcþii distincte. Deoarece agenþii de cãutare au prioritãþi, serverele au responsabilitatea de a controla coada de prioritãþi a agenþilor de cãutare, astfel încât numai un numãr maxim de agenþi sã se poatã executa la un moment dat. În acest fel se evitã supraîncãrcãrile, întrucât dimensiunea unei cozi poate fi stabilitã dinamic, luând în calcul performanþele calculatorului unde este instalat serverul. De asemenea, serverele trebuie sã verifice certificatele de securitate astfel încât numai agenþii înregistraþi sã aibã acces la bazele de cunoºtinþe. 188
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
Figura 8.7. Arhitectura sistemului multiagent distribuit
Pentru asigurarea toleranþei la erori, agenþii statici de baze de cunoºtinþe pot avea posibilitatea de a se replica pe alte servere. Aceastã operaþiune ar trebui realizatã numai rareori, pentru a nu supraîncãrca reþeaua (aceºti agenþi pot avea dimensiuni foarte mari, în funcþie de volumul cunoºtinþelor depozitate). De vreme ce agenþii de baze de cunoºtinþe pot salva local modificãrile în bazele lor de cunoºtinþe, replicarea trebuie consideratã numai o mãsurã extremã, când maºina este în pericol de a fi avariatã sau izolatã pentru o perioadã lungã de timp. 8.4.3 Performative KQML. Gramatica admisã pentru cunoºtinþe Agenþii ºi serverele comunicã prin mesaje în limbajul KQML. Pentru implementarea sistemului s-a utilizat doar o submulþime a performativelor (indicatorilor de acþiune) standard: tell
:content :language :ontology :in-reply-to :force :sender :receiver
189
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Aceastã performativã este utilizatã numai atunci când un server îi comunicã unui agent cã a ajuns ºi cã îºi poate începe execuþia. Utilizarea în program a performativei este: (tell :sender server_x :receiver agent_y :content arrived) ask-about :content :language :ontology :reply-with :sender :receiver
Performativa ask-about este folositã de agenþi pentru a pune întrebãri agentului local de baze de cunoºtinþe în scopul descoperirii de informaþii despre entitãþile de cunoaºtere din lista de dorinþe: (ask-about :sender agent_x :receiver kbserver_y :content KI_z) broadcast :from :content :ontology :language :sender :receiver
Când agentul vrea sã adreseze întrebãri celorlalþi agenþi de pe acelaºi server, el îi trimite serverului o cerere de emisie: (broadcast :sender agent_x :receiver server_w :content KI_z)
Serverul trimite întrebarea tuturor celorlalþi agenþi, înlocuind destinatarul: (ask-about :sender agent_x :receiver agent_y :content KI_z) reply
:content :language :ontology :in-reply-to
190
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive :force :sender :receiver
Aceastã performativã este utilizatã pentru trimiterea rãspunsurilor, atât de cãtre agentul local de baze de cunoºtinþe cât ºi de agenþii de cãutare: (reply :sender kbserver_x :receiver agent_y :content ...) (reply :sender agent_x :receiver agent_y :content ...)
Pentru cererile de expediere a agenþilor pe alte servere, s-a utilizat o performativã nestandard; trebuie menþionat cã în lista performativelor standard KQML existã performativa transport-address, care se referã însã la asocierea unui nume simbolic cu o adresã (de exemplu asocierea unui nume de agent cu adresa la care poate fi contactat acesta). Pentru a evita orice confuzie, s-a propus performativa dispatch, cu sintaxa prezentatã în continuare: dispatch :content :sender :receiver
În program, ea va fi utilizatã astfel: (dispatch :sender agent_x :receiver server_y :content server_z)
Se poate constata cã, pentru simplificarea comunicãrii, din mesaje s-au omis informaþiile referitoare la limbajul utilizat pentru conþinut (:language) ºi la ontologie (:ontology), care erau aceleaºi în toate situaþiile. De asemenea, nu s-au utilizat câmpurile :in-reply-to ºi :force. Mesajele se transmit printr-o memorie comunã partajatã (blackboard), concept descris în paragraful 3.4.3. 8.4.4 Comportament bazat pe stare. Comportament acþionat de evenimente Dupã cum am amintit, agenþii de cãutare au o arhitecturã BDI. Se va analiza în cele ce urmeazã modul în care aceºtia rãspund la apariþia unor evenimente externe ºi cum îºi reprezintã intern starea. Acelaºi comportament poate fi descris atât într-o manierã bazatã pe stare (engl. 191
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
“state-based”), cât ºi într-o manierã acþionatã de evenimente (engl. “eventdriven”). Sã considerãm comportamentul unui agent de cãutare. El are o mulþime de dorinþe (care poate fi iniþializatã de cãtre utilizator) ºi ajunge pe un server. Agentul cere agentului local de baze de cunoºtinþe informaþiile de care are nevoie pentru a-ºi îndeplini dorinþele. Pe mãsurã ce primeºte rãspunsuri, el îºi actualizeazã convingerile ºi îºi poate genera noi dorinþe. Când nu mai primeºte rãspunsuri de la un server, agentul alege în mod aleatoriu un server nevizitat încã ºi trimite cãtre server o cerere de transport. Alegerea se poate face în mod aleatoriu pentru a elimina tendinþele subiective asupra unei anumite direcþii de parcurgere. În paragraful 8.5.6 se va prezenta o metodã de planificare dinamicã a cãii bazatã pe metoda învãþãrii cu întãrire. Când agentul îºi îndeplineºte toate dorinþele, se întoarce la serverul de origine ºi raporteazã utilizatorului. O soluþie este proiectarea unui comportament bazat pe stare. Pentru comportamentul descris mai sus, agentul poate avea ºase stãri: Inactiv: Starea în care agentul se gãseºte în timpul transportului. Dacã primeºte un mesaj de la serverul pe care a ajuns, el intrã în starea interogativã; Interogativ: Starea în care agentul trimite o mulþime de mesaje agentului local de baze de cunoºtinþe, mesaje care corespund dorinþelor sale. Apoi agentul intrã în starea de ascultare; Ascultare: Starea în care agentul ascultã mesajele primite de la agentul local de baze de cunoºtinþe. Pe mãsurã ce primeºte noi informaþii, îºi actualizeazã propria bazã de cunoºtinþe, mai exact convingerile. Apoi, dacã nu mai existã pe server informaþii care sã-l intereseze, agentul trimite o cerere de transport ºi intrã în starea inactivã. Dacã ºi-a îndeplinit toate dorinþele, se transportã pe severul de origine ºi intrã în starea de raportare. Altfel, se reîntoarce în starea interogativã; Transport (engl. “dispatch”): Agentul trimite serverului o cerere de transport cãtre un server din reþea sau cãtre serverul de origine dacã nu mai are dorinþe de îndeplinit; Raportare: Agentul îi comunicã utilizatorului convingerile ºi intrã în starea de suspendare; Suspendare: Agentul nu mai acþioneazã asupra mediului; el poate doar sã fie restartat din exterior pentru o nouã sarcinã sau sã fie închis dacã nu mai este util. 192
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
O altã abordare este utilizarea unui comportament acþionat de evenimente, care corespunde paradigmei eveniment-condiþie-acþiune (sau când-dacã-atunci, engl. “when-if-then”). Trebuie menþionat cã aceastã abordare nu exclude prezenþa stãrilor. Ar fi aproape imposibil ca un agent sã acþioneze cu un anumit grad de inteligenþã fãrã a-ºi menþine unele informaþii de stare. Evenimentele pentru acelaºi comportament sunt prezentate în continuare: Sosire (eveniment extern): Agentul este informat de cãtre server cã a sosit. Dacã mai existã dorinþe neîndeplinite, agentul se pregãteºte sã punã întrebãri, adicã îºi actualizeazã convingerea cã serverul curent poate fi folositor (agentul nu pune nici o întrebare propriu-zisã în acest moment, deoarece punerea întrebãrilor ar fi o acþiune determinatã de o decizie, care este un eveniment intern); Mesaj nou (eveniment extern): Agentul primeºte un mesaj de la agentul local de baze de cunoºtinþe ca rãspuns la întrebãri. În consecinþã, îºi actualizeazã baza proprie de cunoºtinþe; Selecþia acþiunii (eveniment intern): o Dacã nu mai existã evenimente externe la care sã reacþioneze, agentul îºi poate dovedi acum proactivitatea ºi preia iniþiativa; o Dacã nu mai existã dorinþe neîndeplinite ºi este pe serverul de origine, el raporteazã utilizatorului ºi intrã în starea de suspendare; o Dacã nu mai existã dorinþe neîndeplinite dar nu este pe serverul de origine, se transportã pe acesta; o Dacã existã dorinþe dar agentul local de baze de cunoºtinþe nu mai are informaþii utile, agentul se transportã pe un alt server din reþea; o Dacã agentul local de baze de cunoºtinþe mai are rãspunsuri, agentul pune întrebãrile corespunzãtoare dorinþelor sale. Trebuie menþionat cã a doua metodã propusã este mai bine structuratã ºi mai apropiatã de procesele cognitive din mintea umanã, deºi funcþionalitatea agentului este exact aceeaºi în ambele cazuri. 8.4.5 Modelarea bazelor de cunoºtinþe de pe servere de cãtre agenþi Comportamentul prezentat mai sus nu poate fi considerat inteligent. Un agent îi pune un numãr de întrebãri agentului local pe de server. Dupã primirea unor rãspunsuri, îºi actualizeazã baza de cunoºtinþe. Dorinþele la 193
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
care agentul static local nu a rãspuns rãmân în lista de dorinþe, alãturi de noile dorinþe rezultate din prelucrarea rãspunsurilor. În runda urmãtoare de întrebãri, agentul va repeta ºi unele din întrebãrile pe care le-a pus anterior ºi la care agentul local nu are cum sã rãspundã, pentru cã nu are cunoºtinþele necesare. Apar deci o serie de mesaje inutile. O primã optimizare este modelarea de cãtre agenþi a bazelor de cunoºtinþe de pe servere (Leon, Zaharia & Gâlea, 2003a). Agenþii memoreazã întrebãrile la care nu au primit rãspuns ºi nu le mai adreseazã din nou aceluiaºi server. Memorarea nu se face totuºi în lista de convingeri, ci într-o memorie de lucru, care pãstreazã ºi informaþiile de stare, deoarece se poate presupune cã o bazã de cunoºtinþe de pe un server poate fi actualizatã între douã vizite ale unui agent. De aceea, la fiecare nouã sosire pe un server, aceastã listã de întrebãri la care nu s-a primit rãspuns este resetatã. 8.4.6 Posibilitãþile de cooperare între agenþi Pentru creºterea suplimentarã a performanþelor sistemului, s-a introdus posibilitatea ca agenþii sã poatã coopera pentru rezolvarea problemelor (Leon, Zaharia & Gâlea, 2003b). Dacã un agent local de pe un server nu cunoaºte rãspunsul la o întrebare, acel rãspuns poate fi cunoscut totuºi de un alt agent de pe acel server, care a vizitat în prealabil un alt server. Rãspunsurile celorlalþi agenþi pot reduce numãrul de transporturi, demonstrând avantajele cooperãrii. Mecanismul de execuþie al unui agent se modificã: agentul îi adreseazã întrebãri agentului local de pe server pânã când nu mai primeºte rãspunsuri, apoi adreseazã (prin intermediul serverului, care realizeazã practic operaþia de broadcast) întrebãri celorlalþi agenþi. Dacã nu primeºte nici un rãspuns, se transportã pe alt server. Dacã primeºte rãspunsuri, îºi actualizeazã baza de cunoºtinþe internã ºi apoi reia întrebãrile (evident, numai întrebãrile noi) cãtre agentul local de baze de cunoºtinþe, ciclul reluându-se. Pentru nuanþarea cooperãrii, s-a introdus un aºa numit factor de cooperare, care indicã probabilitatea ca un agent sã rãspundã la întrebarea altui agent. Un agent necooperant va avea un factor de cooperare nul, în timp ce un agent total cooperant va avea un factor de cooperare unitar. Un dezavantaj al cooperãrii agenþilor este apariþia numãrului mare de mesaje. O soluþie pentru acest neajuns este descrisã în paragraful urmãtor. 194
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
8.4.7 Introducerea cozilor de prioritãþi pe servere Creºterea masivã a numãrului de mesaje în condiþii de cooperare este determinatã în principal de comunicarea întrebãrilor pentru toþi ceilalþi agenþi de pe server. Reducerea numãrului de mesaje se poate realiza scãzând numãrul agenþilor activi de pe server, menþinând în acelaºi timp posibilitatea agenþilor de a coopera. În acest scop, s-a introdus un mecanism de prioritãþi pentru agenþi. Prioritãþile sunt generate aleatoriu la iniþializarea agenþilor. Într-un caz real, sistemul de prioritãþi îºi menþine utilitatea, întrucât înºiºi utilizatorii pot avea diferite prioritãþi, având în mãsuri diferite dreptul de a accesa resursele sistemului. Prioritãþile utilizatorilor se pot transmite astfel asupra agenþilor care îi reprezintã. S-a presupus cã serverele menþin agenþii în cozi de prioritãþi, astfel încât numai un numãr maxim de agenþi sã poatã fi executaþi la un moment dat. Introducerea agenþilor în aceste cozi de execuþie se face în ordinea descrescãtoare a prioritãþilor. Situaþiile de egalitate se rezolvã aleatoriu. 8.4.8 Echilibrarea încãrcãrii Sistemul de agenþi poate fi utilizat ºi pentru rezolvarea problemelor de echilibrare a încãrcãrii. O strategie de echilibrare a încãrcãrii constã în distribuirea proceselor sau task-urilor pe procesoarele disponibile, evitânduse situaþia în care unele procesoare sunt nefolosite iar altele au task-uri multiple în coada de deservire. S-au propus mai multe abordãri pentru problema echilibrãrii încãrcãrii, de la utilizarea unor algoritmi clasici pe diverse topologii de reþele (ªova, Amarandei & Gavrilã, 2004; Zaharia, Leon & Gâlea, 2003b) pânã la utilizarea algoritmilor genetici pentru distribuirea eficientã a proceselor (Zaharia, Leon & Gâlea, 2004a). 8.5 Metode de învãþare dinamicã a cãii Mobilitatea poate fi o caracteristicã de mare importanþã pentru un agent inteligent. Fiind situat în mediul de execuþie, el trebuie sã aibã capacitatea de a-l explora pentru a acumula cunoºtinþe ºi a-ºi duce la îndeplinire scopul, indiferent cã este vorba de un agent software într-o reþea de calculatoare sau de un agent robotic acþionând în mediul fizic real. 8.5.1 Formalizarea problemei de gãsire a cãii O problemã de gãsire a cãii are douã componente principale (Yokoo & Ishida, 2000): 195
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
o mulþime de noduri N, unde fiecare nod n N reprezintã o stare; o mulþime de arce direcþionate L, unde fiecare arc l L este un operator disponibil pentru rezolvarea problemei. În general, dacã problema este rezolvatã de un agent acþionând întrun mediu multiagent, operatorii sunt acþiuni care pot fi îndeplinite de agent în starea curentã. De obicei, existã un nod unic s N care reprezintã starea iniþialã a agentului ºi o mulþime de noduri scop G N care semnificã stãrile dorite, adicã soluþiile problemei de gãsire a cãii. Fiecare arc are asociatã o pondere wl care reprezintã costul aplicãrii operatorului (sau îndeplinirii acþiunii). Uneori, ponderea conexiunii este distanþa dintre douã noduri. Nodurile care au arce direcþionate de la un anumit nod sunt vecinii acestuia. 8.5.2 Strategii de învãþare cu întãrire pentru agenþi inteligenþi mobili Extinzând structura sistemului de gãsire a cunoºtinþelor prezentat în paragraful 8.4, sã presupunem cã baza de cunoºtinþe distribuitã poate fi compusã din mai multe tipuri de cunoºtinþe aparþinând unor domenii diferite. Totuºi, chiar dacã mai multe entitãþi de cunoaºtere complexe depind de informaþii specifice din acelaºi domeniu, toate au în final o bazã perceptivã. Figura 8.8 prezintã un exemplu de 3 entitãþi de cunoaºtere perceptive ºi 9 extinse aparþinând la douã domenii generice, sugerate aici prin A ºi B.
Figura 8.8. Graf de cunoºtinþe cu domenii multiple
S-a considerat cazul general în care serverele nu sunt complet conectate; un server poate avea conexiuni directe numai cu o parte din 196
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive
celelalte servere. De asemenea, bazele de cunoºtinþe parþiale de pe servere pot conþine explicitãri ale entitãþilor de cunoaºtere din diferite domenii, în cantitãþi diferite. Un server poate fi specializat pe un anumit domeniu, în timp ce altul poate conþine entitãþi din toate domeniile în proporþii aproximativ egale. Se presupune cã ºi conexiunile dintre servere se pot modifica în timp (de exemplu, pot fi introduse noi legãturi directe) ºi noi cunoºtinþe pot fi adãugate la bazele de cunoºtinþe de pe servere. De aceea, agenþii trebuie sã dispunã de un mecanism de învãþare pentru a descoperi topologia iniþialã a reþelei ºi distribuþia cunoºtinþelor pentru a se adapta dinamic la schimbãrile intervenite în mediul de execuþie. Învãþarea cu întãrire, detaliatã în paragraful 8.3, este o metodã deosebit de utilã care se poate aplica în acest caz. Pentru a aplica algoritmul Q-learning, agenþii trebuie sã reþinã o matrice cu valorile Q estimate. Totuºi, aceeaºi matrice poate fi utilizatã pentru douã probleme diferite: gãsirea cãii în reþea ºi estimarea cantitãþii de entitãþi de cunoaºtere aparþinând unui anumit domeniu pe fiecare server. O matrice tridimensionalã poate fi proiectatã pentru valori Q, unde: prima dimensiune reprezintã serverul curent unde se aflã agentul la un moment dat; a doua dimensiune semnificã domeniul majoritar cãruia aparþin cunoºtinþele neexplicitate încã; a treia dimensiune reprezintã serverul þintã pe care trebuie sã se mute agentul la momentul urmãtor. Când agenþii învaþã mediul de execuþie, ei primesc o recompensã negativã mare de fiecare datã când încearcã sã se mute pe un server neconectat cu serverul curent. Recompensa este aplicatã pentru toate tipurile de cunoºtinþe din matrice, deoarece serverul respectiv este indisponibil indiferent de domeniul de cunoºtinþe de care este interesat agentul. A doua problemã este învãþarea distribuþiei domeniilor de cunoºtinþe pe servere. Agenþii capãtã o recompensã pozitivã proporþionalã cu numãrul de întrebãri la care primesc rãspuns de la server, pentru fiecare domeniu sau tip de entitate de cunoaºtere. De exemplu, dacã un agent primeºte douã rãspunsuri care explicã entitãþi de tip A ºi patru rãspunsuri care explicã entitãþi de tip B, valorile Q corespunzãtoare pentru tipurile A ºi B de pe acel server sunt actualizate conform ecuaþiei (8.60), unde recompensele sunt 2, respectiv 4. Prin aceastã metodã se demonstreazã (Leon, ªova & Gâlea, 2004b) cã aceeaºi matrice de valori Q poate fi utilizatã atât pentru memorarea 197
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
distribuþiei cunoºtinþelor în mediu (reþea) cât ºi pentru gãsirea cãii optime, în cazul în care nu este garantatã conexiunea între oricare douã servere. 8.5.3 Învãþarea cãii folosind gradienþii marcajelor de stare O altã metodã pentru gãsirea cãii este inspiratã din lumea vie. Multe animale lasã urme de naturã chimicã care marcheazã traseul parcurs, iar aceste urme pot fi utilizate ulterior. Dacã un agent marcheazã stãrile pe care le viziteazã, prin analogie cu lumea realã, marcajele se depreciazã (se volatilizeazã) în timp, iar acest fapt poate fi folosit de agent pentru gãsirea cãii cãtre soluþie. Agentul trece de asemenea prin faze de explorare ºi exploatare. Ideea fundamentalã este cã în prima fazã el încearcã tot timpul sã treacã într-o stare cu marcaj minim, care corespunde unei stãri nevizitate. În cea de a doua, el încearcã sã urmeze gradientul ascendent al marcajelor de stare, care îl conduce din starea iniþialã cãtre starea scop. Se propune urmãtorul algoritm (Leon, Zaharia & Gâlea, 2004): episode 1 initialize state marks with 0 initialize state s with the initial state while (s is not terminal) // alegerea acþiunii
get state marks for the neighbors wantedDirection min(possibleDirections) choose the action corresponding to the wantedDirection if (more actions possible) then favor the previous direction with a probability given by consistencyRate ties are broken randomly end-if // executarea acþiunii
get next state s’ // actualizarea marcajelor de stare
for all states t marks(t) marks(t) / decayRate end-for marks(s) 1 s s’
198
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Structura unui agent inteligent cu capacitãþi cognitive if (s = initial state and for all neighbors sn, marks(sn)>0) then episode episode + 1 restart end-if end-while
Dupã cum am menþionat, agentul trebuie sã aleagã o acþiune care îl va plasa într-o stare nevizitatã, sau cel puþin o stare vizitatã în urmã cu mult timp. Dupã gãsirea soluþiei, agentul are urma drumului sãu ºi deci trebuie doar sã îl urmeze din starea iniþialã, folosind gradientul ascendent al marcajelor de stare. Datoritã deprecierii, stãrile vizitate recent au marcaje mai mari. Ultima stare vizitatã este soluþia. Ultimul test al algoritmului previne cazurile în care agentul intrã într-o buclã. Aceastã situaþie nu este posibilã pentru cãi unice, dar este inivitabilã atunci când existã cãi multiple din starea iniþialã cãtre soluþie. Dacã, dupã o buclã, agentul revine în starea iniþialã, marcajele de stare sunt resetate ºi începe un nou episod de învãþare. Faza de exploatare este realizatã utilizând acelaºi algoritm, dar în acest caz acþiunea la un anumit moment este selectatã considerând funcþia maximum în loc de minimum: wantedDirection max(possibleDirections)
Se folosesc douã constante: rata de depreciere (engl. “decay rate”) ºi rata de consecvenþã (engl. “consistency rate”). Rata de depreciere aratã cât de repede se diminueazã marcajele de stare. O valuare acceptabilã pentru ea este 1.01. Scopul ei devine clar dacã agentul ignorã marcajele de stare sub o anumitã valoare. Rata de consecvenþã reprezintã probabilitatea ca agentul sã îºi menþinã direcþia curentã, dacã acest lucru este posibil. 8.6 Concluzii Mai întâi, s-a introdus modelul exemplarelor generalizate nesuprapuse, care are avantajul extragerii de reguli din date ºi calcularea prototipurilor hiperdreptunghiurilor formate într-o manierã de învãþare bazatã pe exemple. Calcularea prototipurilor ajutã categorizarea conceptelor compuse (sau cadrelor) cu valori stereotipe pentru unele atribute. Algoritmul NNGEP este destinat pentru proiectarea sistemului cognitiv al unui agent inteligent. El poate ajuta agentul sã îºi categorizeze stãrile ºi sã îºi planifice acþiunile într-un cadru de raþionament bazat pe cazuri. De 199
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
asemenea, în unele situaþii când agenþii coopereazã, poate fi utilã capacitatea de a da exemple atunci când este interogat despre un anumit concept de un utilizator uman sau de un alt agent, în loc de a trimite pur ºi simplu un set de reguli. Aceastã tehnicã se dovedeºte eficientã într-un sistem de e-learning, unde exemplificarea s-a dovedit întotdeauna o tehnicã puternicã. Modelul cognitiv descris în continuare demonstreazã posibilitatea utilizãrii unei infrastructuri conexioniste pentru raþionament deductiv simbolic, alãturi de achiziþia ºi integrarea de noi fapte în baza de cunoºtinþe existentã. Sistemul multiagent propus indicã o modalitate de cãutare a conceptelor într-o reþea pentru e-learning. S-au prezentat etapele de realizare a sistemului. La început, agenþii adreseazã întrebãri agenþilor locali de baze de cunoºtinþe de pe servere, fãrã modelarea acestora. Apoi, agenþii modeleazã bazele de cunoºtinþe de pe servere pentru a evita adresarea aceleiaºi întrebãri de douã ori dacã agentul local nu cunoaºte rãspunsul. În continuare, s-a introdus posibilitatea ca agenþii sã coopereze, adicã sã-ºi poatã adresa întrebãri unii altora dacã se gãsesc pe acelaºi server. S-au implementat pe servere cozi de prioritãþi, astfel încât numai un numãr maxim fixat de agenþi sã fie deserviþi la un moment dat, în ordinea descrescãtoare a prioritãþilor. De asemenea, s-a prezentat o metodã de învãþare cu întãrire pentru aflarea distribuþiei cunoºtinþelor în cazul în care sistemul dispune de cunoºtinþe din domenii multiple. În cazul general de învãþare a drumului printr-un labirint, s-a propus metoda gradienþilor marcajelor de stare, pe care agenþii o pot utiliza prin simpla inspectare a marcajelor locaþiei curente.
200
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Capitolul IX
STUDIU EXPERIMENTAL 9.1 Metodologia de test În acest capitol ne propunem compararea din punctul de vedere al performanþelor a celor mai cunoscuþi algoritmi de clasificare, luând în considerare acurateþea rezultatelor învãþãrii ºi, nu în ultimul rând, timpul de execuþie. Apoi vom studia performanþele mai multor variante ale algoritmului NNGEP propus în comparaþie cu cei mai eficienþi algoritmi clasici, distingând între problemele complexe, cu un numãr mare de instanþe ºi atribute ºi cele logice, cu un numãr mic de date de antrenare, care exprimã însã reguli sintetice ce trebuie detectate de clasificatori. Pe baza modelului de raþionament deductiv vor fi efectuate câteva studii de caz pentru a pune în evidenþã comportamentul algoritmilor propuºi în condiþii de raþionament circular, definiþii negative ºi propoziþii exprimate în limbaj cvasinatural. Sistemul distribuit va fi supus unei analize extinse privind influenþa configuraþiei ºi a valorilor parametrilor asupra modului de comportament al agenþilor inteligenþi mobili ºi a performanþelor sistemului ca ansamblu. În contextul învãþãrii cu întãrire, vor fi studiaþi algoritmii de învãþare a cãii într-o reþea de calculatoare ºi, într-un cadru mai general, într-un labirint din mediul fizic în care agenþii sunt situaþi. Se va compara algoritmul gradienþilor marcajelor de stare cu alþi algoritmi binecunoscuþi de gãsire a cãii. În final, vor fi analizate operaþiile de data mining spaþial pe care le pot efectua agenþii inteligenþi într-un sistem geografic bazat pe cunoºtinþe. 9.2 Studiu comparativ al algoritmilor de învãþare inductivã În cele ce urmeazã, se vor descrie succint algoritmii ºi problemele de test, dupã care se vor prezenta testele efectuate, împreunã cu discuþia referitoare la parametrii algoritmului NNGEP ºi interpretarea rezultatelor acestuia atât din perspectivã neuronalã, cât ºi fuzzy. 9.2.1 Algoritmii Algoritmii testaþi sunt binecunoscuþi în învãþarea automatã (engl. “machine learning”). Din punct de vedere al implementãrii, s-au considerat versiunile descrise în cartea de data mining scrisã de Witten ºi Frank (2000). 201 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Unul din scopurile acestor algoritmi este de a reþine natura distribuþiei datelor pentru a avea clasificãri bune cu erori mici la predicþie. O structurã simplã de învãþare inductivã este arborele de decizie. Datã fiind o instanþã a unui concept, specificatã de o mulþime de proprietãþi, arborele returneazã o decizie de tip „da” sau „nu” în legãturã cu apartenenþa instanþei la o clasã. Fiecare nod intern din arbore reprezintã un test asupra uneia sau mai multor proprietãþi, iar ramurile care pornesc din nodul respectiv sunt etichetate cu rezultatele posibile ale testului. Fiecare nod frunzã este un clasificator boolean pentru instanþa de intrare, deci din punct de vedere logic, arborii de decizie încearcã învãþarea unei mulþimi de implicaþii echivalente regulilor, mulþime numitã predicat-scop (Doyle, 2000). C4.5 (Quinlan, 1993) este un algoritm de inducþie a arborilor de decizie, fiind o extensie a algoritmului ID3 care spre deosebire de acesta rezolvã unele probleme precum supra-potrivirea datelor, tratarea atributelor continue ºi a atributelor cu valori lipsã, mãrirea eficienþei computaþionale (Hamilton et al., 2002). Algoritmul C4.5 genereazã un arbore de decizie prin partiþionarea recursivã a mulþimii de date (Joshi, 1997), printr-o strategie de parcurgere în adâncime (engl. “depth-first”). Algoritmul ia în considerare toate testele posibile pentru partiþionarea mulþimii de date ºi selecteazã testul care aduce cel mai mare câºtig informaþional. Dacã prin entropie se înþelege „impuritatea” unei mulþimi de exemple de antrenare S, se poate estima eficienþa unui atribut pentru clasificarea acestor exemple. Câºtigul informaþional (engl. “information gain”) mãsoarã reducerea aºteptatã a entropiei cauzatã de partiþionarea mulþimii dupã valorile unui atribut A.
IG ( S , A) H ( S )
card ( S v ) H (S v ) , vVal ( A ) card ( S )
(9.1)
unde Val(A) este mulþimea valorilor atributului A, Sv este submulþimea lui S pentru care atributul A are valoare v, iar H(S) este entropia mulþimii S cu n clase, fiecare cu probabilitãþile de apariþie pi: H ( S ) pi log 2 pi . n
i 1
(9.2)
Pentru fiecare atribut discret se propune un test cu un numãr de rezultate egal cu numãrul de valori distincte ale atributului respectiv. Pentru fiecare atribut continuu se aleg teste binare care implicã toatã gama de valori ale atributului. Dupã gãsirea partiþiilor de date, procesul se reia în mod 202 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
recursiv asupra acestora. O altã caracteristicã importantã a algoritmului este simplificarea (engl. “pruning”) arborelui dupã terminarea învãþãrii, adicã eliminarea testelor care nu îºi aduc un aport semnificativ la problema de decizie globalã. O variantã ulterioarã a algoritmului este C5, utilizat în sisteme comerciale. Pentru studiul de faþã, s-au considerat performanþele algoritmului C4.5 cu ºi fãrã simplificare (notate „C4.5”, respectiv „C4.5U”). Clasificatorul bazat pe arbori aleatorii (engl. “random tree”, RT) a fost propus de Eibe Frank ºi Richard Kirkby. El construieºte un arbore care ia în calcul k trãsãturi aleatorii pe fiecare nod ºi nu realizeazã nici o simplificare. De aceea, rata de eroare pe mulþimea de antrenare este destul de scãzutã. O pãdure aleatorie (engl. “random forest”, RF, Breiman, 2001) este compusã din mai mulþi arbori de clasificare. Pentru clasificarea unui nou obiect, vectorul de intrare este testat pe fiecare din arborii pãdurii ºi aceºtia propun o clasificare, consideratã ca un „vot” pentru clasa respectivã. Pãdurea alege clasificarea cu cele mai multe voturi. Arborele cu simplificare bazatã pe eroarea redusã (engl. “reduced error pruning tree”, REPT) este un clasificator rapid care construieºte un arbore de decizie folosind câºtigul informaþional sau reducerea varianþei ºi îl simplificã pentru reducerea erorii. Valorile atributelor numerice sunt sortate o singurã datã. Algoritmul trateazã ºi valori necunoscute ale atributelor, ca ºi C4.5. Învãþarea bazatã pe instanþe reduce efortul de învãþare prin stocarea exemplelor prezentate. De aceea, acest tip de învãþare se mai numeºte „leneº” (engl. “lazy”), spre deosebire de metodele „nerãbdãtoare” (engl. “eager”), care realizeazã prelucrãrile înainte de construirea modelului intern al problemei. În învãþarea bazatã pe instanþe clasificarea noilor obiecte se face prin mãsurarea distanþei faþã de „vecini”, adicã instanþe întâlnite anterior, cu valori similare ale atributelor. Din aceastã clasã de algoritmi, s-a ales pentru testare metoda exemplarelor generalizate nesuprapuse (engl. “non-nested generalized exemplars”, NNGE), prezentat detaliat în paragraful 3.2.2. Un alt algoritm considerat este PART (Frank & Witten, 1998), un algoritm destul de simplu care nu efectueazã optimizãri globale pentru a produce reguli de mare acurateþe, ci adoptã o strategie „separã ºi cucereºte”, adicã formeazã o regulã, ºterge instanþele acoperite de aceasta ºi continuã recursiv crearea de reguli pentru instanþele rãmase pânã când nu mai existã instanþe rãmase. Simplificarea repetatã incrementalã pentru producerea reducerii erorii (engl. “repeated incremental pruning to produce error reduction”, RIPPER, Cohen, 1995) încearcã sã mãreascã acurateþea regulilor prin 203 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
înlocuirea sau revizuirea regulilor individuale. Utilizeazã simplificarea bazatã pe eroare, care izoleazã unele date de antrenare pentru a decide când trebuie opritã adãugarea de noi condiþii la o regulã. Ca ºi criteriu de terminare, se foloseºte o euristicã bazatã pe principiul lungimii minime a descrierii (engl. “minimum description length”). Inducþia de reguli este urmatã de o etapã de post-procesare, în care se revizuiesc regulile pentru a aproxima rezultatul care s-ar fi obþinut printr-o strategie de simplificare globalã. Inducþia bayesianã de reguli se bazeazã pe teorema lui Bayes (1763) privind probabilitãþile condiþionate, care determinã distribuþia de probabilitate posterioarã a unui eveniment X (distribuþia de probabilitate a mulþimii obiectelor identice cu instanþa X datã fiind mulþimea obiectelor din clasa Y): P( X | Y )
P (Y | X ) P( X ) . P (Y )
(9.3)
În contextul clasificãrii, intereseazã probabilitãþile de apartenenþã a unei instanþe la o clasã, pe baza valorilor atributelor instanþei respective. În general, o instanþã este caracterizatã de mai multe (n) atribute Xi. Atunci formula devine: P( X i | Y )
P (Y | X i ) P ( X i )
P(Y | X n
j 1
j
) P( X j )
.
(9.4)
Clasificatorul bayesian naiv (engl. “Naïve Bayes”, NB) calculeazã probabilitãþile condiþionate ale claselor presupunând cã toate atributele sunt independente. O reþea bayesianã (engl. “Bayesian Network”, BN) este un graf asociat cu o mulþime de tabele de probabilitãþi. Nodurile reprezintã variabilele iar arcele reprezintã relaþii cauzale între variabile; prin urmare într-o reþea bayesianã o variabilã este conectatã numai cu variabilele de care depinde aceasta. 9.2.2 Problemele În acest paragraf vor fi descrise pe scurt problemele benchmark considerate pentru testarea algoritmilor. Pe lângã probleme clasice de învãþare automatã, s-au introdus douã noi probleme de clasificare, una cu o 204 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
structurã destul de greu de învãþat ºi una cu o structurã foarte simplã, pentru a verifica performanþele algoritmilor în prezenþa zgomotului. Problema florilor de Iris este probabil cea mai cunoscutã bazã de date din literatura de recunoaºtere a modelelor. Lucrarea lui Fisher (1936) este una clasicã ºi este referenþiatã frecvent (Duda & Hart, 1973). Setul de date conþine 3 clase cu 50 de instanþe fiecare, iar fiecare clasã reprezintã un tip de iris: Setosa, Versicolor ºi Virginica. Clasa Setosa este liniar separabilã de celelalte douã, iar acestea la rândul lor nu sunt liniar separabile între ele. Existã 4 atribute numerice: lungimea petalelor, lãþimea petalelor, lungimea sepalelor ºi lãþimea sepalelor, toate exprimate în centimetri. Nu existã atribute lipsã. Dacã se doreºte o imagine asupra distribuþiei datelor trebuie sã se þinã cont de faptul cã Irisul este o problemã 4-dimensionalã iar vizualizarea bidimensionalã poate fi dificilã. Totuºi, primele douã atribute (lungimea ºi lãþimea petalelor) conþin cele mai multe informaþii. În aceastã ordine de idei, figura 9.1 prezintã distribuþia instanþelor ºi rezultatele algoritmului NNGEP pentru o subproblemã cu numai aceste douã atribute.
Figura 9.1. Rezultalele NNGEP pentru o subproblemã bidimensionalã a florilor de Iris
Problema boabelor de soia (engl. “soybean”, Michalski & Chilausky, 1980) încearcã categorizarea acestora în 19 clase: “diaporthestem-canker”, “charcoal-rot”, “rhizoctonia-root-rot”, “phytophthora-rot”, “brown-stem-rot”, “powdery-mildew”, “downy-mildew”, “brown-spot”, 205 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
“bacterial-blight”, “bacterial-pustule”, “purple-seed-stain”, “anthracnose”, “phyllosticta-leaf-spot”, “alternarialeaf-spot”, “frog-eye-leaf-spot”, “diaporthe-pod-&-stem-blight”, “cyst-nematode”, “2-4-d-injury” ºi “herbicide-injury”, pe baza a 35 de atribute discrete, unele cu valori booleene. Existã atribute cu valori lipsã (necunoscute). O altã problemã este cea a votului (engl. “vote”, Schlimmer, 1987), care conþine înregistrãrile a 435 de voturi din congresul Statelor Unite din 1984 privind 16 probleme: “handicapped infants”, “water project cost sharing”, “adoption of the budget resolution”, “physician fee freeze”, “El Salvador aid”, “religious groups in schools”, “anti satellite test ban”, “aid to Nicaraguan contras”, “MX missile”, “immigration”, “synthetic fuels corporation cutback”, “education spending”, “superfund right to sue”, “crime”, “duty free exports”, “export to South Africa administration act”. Scopul este de a identifica orientarea politicã a unei persoane (democrat sau republican) în funcþie de voturi (“yea” – pentru, “nay” – împotrivã, necunoscut). Setul de date privind cancerul de sân (engl. “breast cancer”, BC, Michalski et al., 1986) îºi are originea de la centrul medical universitar al institutului de oncologie din Ljubljana (fosta Iugoslavie, actuala Slovenie). Include 286 de instanþe aparþinând la 2 clase: evenimente de recidivã sau lipsa evenimentelor de recidivã. Existã 9 atribute discrete, reale sau nominale, precum: vârstã, menopauzã, dimensiunea tumorii, iradiere etc. Problema forþei de muncã (engl. “labor”) se referã la rezultatele finale ale negocierilor de angajare din industria canadianã. Existã 57 de instanþe definite de 16 atribute: “duration of agreement”, “wage increase in first year of contract”, “wage increase in second year of contract”, “wage increase in third year of contract”, “cost of living allowance”, “number of working hours during week”, “employer contributions to pension plan”, “standby pay”, “shift differential (supplement for work on second and third shift)”, “education allowance”, “number of statutory holidays”, “number of paid vacation days”, “employer's help during employee long term disability”, “employers contribution towards the dental plan”, “employer's financial contribution towards the covering the costs of bereavement”, “employer's contribution towards the health plan”. Unele atribute sunt numerice, altele sunt discrete sau booleene. Nu existã valori necunoscute. Scopul problemei este de a decide dacã o slujbã este bunã sau rea. Problema ciupercilor (engl. “mushroom”, Lincoff & Knopf, 1981) conþine date dintr-un ghid de specialitate cu descrieri ale unor exemplare aparþinând la 23 de specii de ciuperci din familiile Agaricus ºi Lepiota, fiecare specie identificatã ca veninoasã sau comestibilã. Existã 8124 de 206 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
instanþe cu 22 de atribute, toate cu valori nominale: “cap shape”, “cap surface”, “cap color”, “bruises”, “odor”, “gill attachment”, “gill spacing”, “gill size”, “gill color”, “stalk shape”, “stalk root”, “stalk surface above ring”, “stalk surface below ring”, “stalk color below ring”, “veil type”, “veil color”, “ring number”, “ring type”, “spore print color”, “population”, “habitat”. Cele trei probleme MONK’s sunt un alt exemplu de benchmark-uri utilizate în numeroase studii (Thrun et al., 1991). Ele îºi au originea în domeniul roboticii, unde un robot se presupune ca fiind descris de 6 atribute: forma capului (rotund, pãtrat, octagonal), forma corpului (rotund, pãtrat, octagonal), dacã zâmbeºte (da, nu), obiectul pe care îl þine (sabie, balon, steag), culoarea jachetei (roºie, galbenã, verde, albastrã), dacã are cravatã (da, nu). Învãþarea presupune o clasificare binarã. Fiecare problemã este datã de o descriere logicã a unei clase. Roboþii aparþin sau nu acestei clase. În loc sã se furnizeze o descriere completã a clasei pentru problema de învãþare, se dã numai o submulþime de 432 de roboþi posibili. Clasificatorul trebuie sã generalizeze pe baza unei submulþimi destul de restrânse a celor 432 de exemple ºi sã prezicã apartenenþa la o clasã pentru celelalte instanþe. Problema 1 este definitã astfel: „(forma capului = forma corpului) sau (culoarea jachetei este roºie)”. Din cele 432 de exemple, se selecteazã aleatoriu 124 pentru antrenare, fãrã clasificãri greºite (zgomot). Problema este în formã normal disjunctivã ºi se presupune cã ar trebui sã fie învãþatã uºor de algoritmii de învãþare simbolicã. Problema 2 este: „exact douã din cele ºase atribute au prima lor valoare”. Din cele 432 de exemple, se selecteazã aleatoriu 169 pentru antrenare, fãrã zgomot. Problema este asemãnãtoare cu problemele de paritate ºi combinã diverse atribute într-o manierã care face dificilã descrierea în formã normal conjunctivã sau disjunctivã doar pe baza atributelor date. Problema 3 se defineºte astfel: „(culoarea jachetei este verde ºi þine o sabie) sau (culoarea jachetei nu este albastrã ºi forma corpului nu este octagonalã)”. Din cele 432 de exemple, se selecteazã aleatoriu 122 pentru antrenare, cu 5% clasificãri greºite. Problema este tot în FND ºi are scopul de a evalua algoritmii în prezenþa zgomotului. Prima din cele douã probleme propuse, sãgeata (engl. “arrow”) pleacã de la observaþia cã funcþia XOR este în general de greu de învãþat pentru majoritatea algoritmilor. Diagonala este dificilã pentru algoritmii de inducþie a arborilor de decizie non-oblici. De aceea, aceastã problemã de categorizare constã în 3 clase definite de o funcþie de 2 atribute numerice normalizate, x ºi y: 207 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
if x2 – y2 < 0.1 type = 0 else if (x > 0.5) type = else type = end-if end-if
then then 1 2;
Instanþe din aceastã distribuþie pot fi generate aleatoriu, rezultând în imaginea din figura 9.2a. Clasa 0 este roºie, clasa 1 este verde iar clasa 2 este albastrã. Pentru analizã s-au generat 5000 de instanþe. Harta hiperdreptunghiurilor cu prototipuri datã de NNGEP este prezentatã în figura 9.2b. O variantã a acestei probleme se bazeazã pe aceeaºi distribuþie, dar x 1 se adaugã un nou atribut: ratio . Problema testeazã 2 ( y 1) performanþele clasificatorilor când atributele sunt corelate. De asemenea, acest atribut ajutã clasificarea instanþelor din clasa 0, care sunt distribuite mai mult diagonal, ºi despre care putem spune cã au aceeaºi „formã”. Numim aceastã variantã „sãgeatã plus formã” (engl. “arrow plus shape”, AS).
Figura 9.2a. Problema „sãgeatã”: distribuþia teoreticã
208 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Figura 9.2b. Problema „sãgeatã”: harta NNGEP
O altã problemã propusã presupune un model simplu pentru a testa performanþele algoritmilor pentru distribuþii regulate, mai ales în prezenþa zgomotului. Modelul ºi imaginea sa au fost descrise în paragraful 8.2.5. O problemã de dimensiuni reduse este cea a medicamentelor (engl. “drugs”), care încearcã sã gãseascã regulile de prescriere a unuia din cele douã clase de medicamente, în concordanþã cu vârsta, tensiunea arterialã ºi sexul pacientului. Atributul vârstã este numeric iar celelalte douã sunt nominale: tensiunea poate fi micã, normalã sau mare, sexul poate fi masculin sau feminin. Un clasificator bun ar trebui sã detecteze faptul cã atributul sex este irelevant. Considerând cele douã clase de medicamente A ºi B, instanþele de antrenare sunt prezentate în tabelul 9.1. Shepard, Hovland ºi Jenkins (1961) au studiat comportamentul subiecþilor umani în probleme de clasificare. Ei au propus o serie de probleme care implicã 8 stimuli împãrþiþi în mod egal în 2 categorii. Stimulii rezultã din mulþimea tuturor variantelor de combinare posibile a trei dimensiuni binare. S-a observat cã dacã aceste dimensiuni sunt privite ca interschimbabile, existã doar ºase structuri posibile de categorizare, indicate în tabelul 9.2 (Navarro, Myung & Pitt, 2004). În prima problemã, numai primul atribut este semnificativ pentru categorizare. A doua problemã este de tip XOR. Problemele 3, 4 ºi 5 sunt probleme „regulã plus excepþie”. În studiul prezent, s-a testat numai problema 4, deoarece problemele 3 ºi 5 sunt similare. Problema 6 obligã 209 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
subiectul sã memoreze toþi stimulii, deoarece nu existã nici o regulã de grupare a lor. Tabelul 9.1. Datele de antrenare pentru problema „medicamentelor” Sex masculin feminin feminin masculin feminin masculin feminin masculin masculin feminin feminin masculin
Vârstã 20 73 37 33 48 29 52 42 61 30 26 54
Tensiune normalã normalã mare micã mare normalã normalã micã normalã normalã micã mare
Medicament A B A B A A B B B A B A
Tabelul 9.2. Problemele Shepard Stimul 1 2 3 4 5 6 7 8
Atribute 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 A A A A B B B B
2 A A B B B B A A
Clasã 3 4 A A A A A A B B B A A B B B B B
5 A A A B B B B A
6 A B B A B A A B
9.2.3 Analiza performanþelor pentru probleme complexe Tabelul 9.3 aratã performanþele algoritmilor pentru problemele complexe cu un numãr mare de atribute ºi instanþe. Liniile gri indicã rata de eroare iar liniile albe precizeazã timpul de execuþie. Experimentele au fost efectuate pe un calculator cu procesor Duron cu frecvenþa de 700 MHz, cu 256 Mb RAM. Testarea a fost realizatã în douã moduri: cu formarea modelului de clasificare luând în calcul întregul set de date, respectiv fãcând antrenarea cu douã treimi din setul de date ºi testarea asupra treimii rãmase, astfel încât sã fie pusã în evidenþã puterea de predicþie a algoritmilor (Leon, Zaharia & Gâlea, 2004b).
210 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental Tabelul 9.3. Analiza performanþelor pentru probleme complexe
Figurile 9.3a ºi 9.3b prezintã grafic ratele de eroare pentru problemele de test. La fiecare problemã existã doi indicatori: primul aratã rata de eroare numai pe setul de antrenare, iar al doilea aratã rata de eroare când antrenarea se face cu douã treimi din date ºi testarea pe treimea rãmasã. Se observã cã problemele “Soybean”, “Breast-cancer”, “Labor” ºi “Arrow” sunt cele mai dificile. Dimpotrivã, problema “Mushroom” pare sã fie uºor de rezolvat de majoritatea clasificatorilor. De asemenea, “Random Forest” ºi “Random Tree” au performanþe bune pe mulþimea de antrenare, dar generalizeazã destul de rãu. Reþelele bayesiene ºi “Naïve Bayes” generalizeazã bine deoarece se bazeazã pe estimarea distribuþiei de probabilitate a datelor, dar din nefericire au rate mari de eroare în ambele situaþii. C4.5 în general are rate de eroare bune pe mulþimea de antrenare (mai ales în versiunea nesimplificatã) ºi capacitãþi de generalizare accepatbile.
211 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 9.3a. Ratele de eroare pentru probleme complexe
Figura 9.3b. Ratele de eroare pentru probleme complexe
Problema „sãgeatã plus formã” pare sã obþinã rezultate mai bune decât „sãgeata” simplã, deoarece atributul compus ajutã clasificarea clasei 0. Totuºi, se observã diferenþele mari de erori între cazurile în care testarea se 212 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
face numai pe setul de antrenare în comparaþie cu situaþia „2/3”. Cei mai mulþi algoritmi generalizeazã ineficient pentru aceste probleme. Din acest punct de vedere, C4.5 se comportã mai bine pentru “Arrow” decât pentru “Arrow plus shape”. Reþelele bayesiene ºi “Naïve Bayes” au performanþe similare în cele douã situaþii, dar ratele lor de eroare sunt oricum mari.
Figura 9.4. Timpii de execuþie ai algoritmilor
Figura 9.4 prezintã o comparaþie între timpii de execuþie ai algoritmilor, în secunde. În trei cazuri, acest timp depãºeºte 3s, atingând aproape 16s. Totuºi, graficul a fost scalat la 3s pentru a evidenþia performanþele algoritmilor mai rapizi. Desigur, problemele mai mici necesitã un timp mai scurt de rezolvare. Totuºi, se poate observa cã “Random Forest” ºi RIPPER sunt cei mai lenþi algoritmi, în timp ce “Bayesian Networks” ºi “Naïve Bayes” sunt cei mai rapizi. PART are de asemenea performanþe bune. C4.5 are un timp de execuþie satisfãcãtor, ceea ce este un indicator bun având în vedere ratele bune de eroare. Tabelul 9.4 prezintã performanþele algoritmilor pentru cele trei probleme “MONK’s”. Se utilizeazã aceleaºi convenþii ca mai sus pentru afiºarea datelor. În acest caz, toate problemele sunt similare ca mãrime, iar diferenþele de timp pot fi explicate doar prin nivelurile diferite de dificultate. Figura 9.5 prezintã grafic ratele de eroare ale algoritmilor testaþi. Pentru 213 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
prima problemã, PART, RIPPER ºi NNGE au cele mai bune rezultate. Pentru a doua problemã, NNGE este tot cel mai bun, urmat de “Random Forest”, care este însã mai lent. Pentru a treia problemã, toþi algoritmii au rezultate mai bune, mai ales C4.5, “Bayesian Networks” ºi “Naïve Bayes”. Tabelul 9.4. Analiza performanþelor pentru problemele „MONK’s”
Figura 9.5. Ratele de eroare pentru problemele „MONK’s”
9.2.4 Analiza performanþelor pentru probleme logice Problemele grupate în categoria „logicã” se bazeazã pe o mulþime de reguli care trebuie descoperite de clasificator. Unele atribute sunt irelevante ºi trebuie ignorate, iar altele pot fi grupate pentru a forma reguli utile. Estimarea timpului de execuþie este inadecvatã în aceastã situaþie, deoarece toate problemele sunt de dimensiuni foarte mici. Tabelul 9.5 aratã performanþele algoritmilor pentru aceste probleme. Problemele „medicamentelor” ºi „Shepard 1” sunt simple, mai ales a doua, ºi nu pun probleme clasificatorilor. Problema „Shepard 6”, pe de altã parte, este dificilã ºi nu poate fi rezolvatã precis de nici unul dintre 214 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
algoritmii consideraþi. Majoritatea reuºesc sã clasifice corect doar jumãtate din instanþe. Problema Drugs Shepard 1 Shepard 2 Shepard 4 Shepard 6
Tabelul 9.5. Analiza performanþelor pentru probleme logice
C4.5 0% 0% 50% 25% 50%
C4.5U 0% 0% 0% 25% 50%
RT 0% 0% 50% 0% 50%
RF 0% 0% 12.5% 0% 12.5%
REPT 0% 0% 50% 25% 50%
NNGE 0% 0% 50% 0% 50%
PART 0% 0% 50% 25% 50%
RIPPER 8.333% 0% 25% 50% 50%
BN 25% 0% 50% 0% 50%
NB 0% 0% 50% 0% 50%
9.2.5 Metrici de distanþã pentru toleranþã la zgomot în NNGEP În cele ce urmeazã se vor analiza performanþele algoritmului NNGEP, descris în paragraful 8.2.3. Algoritmul NNGE standard este de tip “nearest neighbor” (NN) ºi deci are probleme atunci când existã zgomot în date, deºi utilizeazã un mecanism de ponderare a trãsãturilor pentru evitarea acestor probleme. Se propune examninarea unor diferite metrici de distanþã, inspirate de modelele psihologiei cognitive, pentru a îmbunãtãþi performanþele algoritmului NNGEP în condiþii de zgomot. Se va testa algoritmul pentru mai multe probleme de clasificare, fiind comparat cu algoritmii C4.5 ºi NNGE standard, care au dat cele mai bune rezultate în analiza din paragrafele anterioare. Se va considera algoritmul C4.5 fãrã simplificare, deoarece în acest caz ratele de eroare sunt mai mici. Tabelul 9.6 prezintã ratele de eroare pentru algoritmii ºi metricile de distanþã considerate, atât pentru testare cât ºi pentru predicþie. Metodologia este aceeaºi cu cea de mai sus. Pentru fiecare problemã, se considerã situaþia în care setul de antrenare conþine 25% zgomot, adicã eticheta clasei are o valoare diferitã de cea corectã. Se utilizeazã metrica definitã de ecuaþia (9.16), cu diferite valori pentru parametrul de sensibilitate c. De asemenea, se realizeazã o comparaþie a performanþelor algoritmului cu distanþa euclidianã, respectiv cu distanþa “city block”. Prin folosirea unei funcþii expondenþial negative ºi a sumei similaritãþilor faþã de exemplare, se ia în calcul influenþa mai multor vecini, fapt foarte util atunci când cel mai apropiat vecin este afectat de zgomot. Totuºi, aceastã abordare, echivalentã cu k-NN sau regresie de nucleu (engl. “kernel regression”), dã rezultate mai proaste când nu existã zgomot în date, mai ales când se testeazã setul de antrenare. În general pentru o regresie de nucleu, lãþimea idealã a nucleului depinde de problemã. În cazul nostru, mãrirea parametrului c înseamnã scãderea lãþimii nucleului, deoarece numai exemplarele cele mai apropiate 215 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
(cele mai puternice) vor influenþa categorizarea. O valoare mare pentru c este echivalentã cu abordarea NN standard. Tabelul 9.6. Ratele de eroare pentru diferite metrici de distanþã
Tendinþele ratelor de eroare când variazã c sunt diferite, depinzând de prezenþa sau absenþa zgomotului în date. Când nu existã zgomot (figura 9.6), distanþa NN standard oferã rezultate mai bune în comparaþie cu algoritmul C4.5 ºi cu distanþele „cognitive”, atât pentru testare, cât ºi pentru predicþie. Desigur, pe mãsurã ce creºte c, rezultatele tind sã se apropie de cele date de NN. Deºi rata de eroare la predicþie este acceptabilã, erorile pe setul de antrenare sunt destul de mari pentru o lãþime mare a nucleului, ceea ce cauzeazã ca exemplare mai depãrtate, din clase diferite, sã afecteze 216 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
influenþa celor mai apropiate. De asemenea, este clar cã distanþa euclidianã asigurã performanþe mai bune în comparaþie cu distanþa “city block”.
Figura 9.6. Ratele de eroare pentru problema „votului” fãrã zgomot
Figura 9.7. Ratele de eroare pentru problema „votului” cu 25% zgomot
Dupã cum s-a menþionat, abordarea cognitivã îºi dovedeºte avantajele când datele sunt afectate de zgomot. În figura 9.7, se prezintã ratele de eroare pentru problema „votului” cu 25% zgomot. Urmãrindu-se tendinþele ratelor de eroare la predicþie, se poate observa un fenomen similar celui de la antrenarea unei reþele neuronale folosind validarea încruciºatã 217 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
(engl. “cross-validation”). Acurateþea predicþiei creºte pânã într-un anumit punct (de maximã generalizare) ºi apoi începe sã scadã, chiar dacã setul de antrenare este din ce în ce mai bine aproximat. Pentru date afectate de zgomot, NN standard nu este o tehnicã potrivitã; atât testarea cât ºi predicþia au rate mari de eroare. Folosind metoda cognitivã, erorile la antrenare scad mai repede, deoarece în final algoritmul va tinde sã supra-potriveascã datele de antrenare. Acest efect este mai rapid atunci când se utilizeazã distanþa euclidianã. Spre deosebire de situaþia fãrã zgomot, predicþia este acum mai bunã cât se foloseºte metrica “city block”, dupã cum susþin experimentele psihologice cu dimensiuni separabile. Pentru problema „votului”, o alegere bunã pentru valoarea lui c este în jur de 100 pentru distanþa euclidianã ºi în jur de 250 pentru distanþa “city block”. Este important de notat faptul cã rata de eroare la predicþie scade acum sub 5%, deºi proporþia zgomotului din datele de antrenare este de cinci ori mai mare! 9.2.6 Comportamentul NNGEP în probleme logice Spre deosebire de algoritmii testaþi în paragraful 9.2.4, normalizarea ponderilor în NNGEP permite învãþarea corectã a tuturor problemelor logice considerate. Pentru problema „medicamentelor”, rezultatele NNGEP sunt urmãtoarele: Clasa A (5 instanþe) sex: female male Mod: female (3) age: 20.0000 48.0000 Prototip: 32.8000 (9.3252) blood_pressure: high normal Mod: normal (3) Clasa B (3 instanþe) sex: female male Mod: male (2) age: 26.0000 42.0000 Prototip: 33.6667 (6.5490) blood_pressure: low Mod: low (3) Clasa B (3 instanþe) sex: female male Mod: female (2) age: 52.0000 73.0000 Prototip: 62.0000 (8.6023) blood_pressure: normal Mod: normal (3) Clasa A (1 instanþã) sex: male Mod: male (1) age: 54.0000 54.0000 Prototip: 54.0000 (0.0000) blood_pressure: high Mod: high (1)
218 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Ponderile trãsãturilor corespunzãtoare sunt: wsex = 0, wage = 0.25, wblood_pressure = 0.75.
(9.5)
Pentru problema „Shepard 1”, rezultatele sunt: Clasa B (4 instanþe) x1: 1 Mod: 1 (4) x2: 0 1 Mod: 0 (2) x3: 0 1 Mod: 0 (2) Clasa A (4 instanþe) x1: 0 Mod: 0 (4) x2: 0 1 Mod: 0 (2) x3: 0 1 Mod: 0 (2)
Ponderile trãsãturilor sunt: wx1 = 1, wx2 = 0, wx3 = 0.
(9.6)
Pentru problema „Shepard 6”, rezultatele sunt 8 hiperdreptunghiuri, câte unul pentru fiecare instanþã, cu ponderile celor 3 trãsãturilor egale cu 1/3. 9.2.7 Clasificarea prin tehnici conexioniste Încã de la începutul acestui subdomeniu al inteligenþei artificiale, una din aplicaþiile reþelelor neuronale a fost recunoaºterea modelelor. De obicei, o reþea neuronalã de tip perceptron multistrat pentru clasificare are câte o ieºire corespunzãtoare fiecãrei clase. Dupã cum am explicat în capitolul 5, aplicând la intrare un model (vector de antrenare format din valorile atributelor instanþei respective), ieºirea corespunzãtoare clasei este evidenþiatã faþã de celelalte (de exemplu este 1, în timp ce ieºirile celelalte sunt 0 sau –1). O problemã este reprezentarea trãsãturilor simbolice, discrete. Majoritatea reþelelor neuronale actuale lucreazã prin excelenþã cu numere reale (extinzând primele modele binare). De aceea, pentru reprezentarea intrãrilor nominale pot exista mai multe abordãri. Dacã valorile unei astfel de trãsãturi sunt discrete, dar numerice ºi ordinale, atunci se poate folosi o singurã intrare în reþea, cu valorile propriu-zise. Dacã sunt pur simbolice, nominale, se poate atribui arbitrar o valoare numericã fiecãrei valori simbolice, însã acest lucru poate conduce la rezultate slabe ale antrenãrii. O abordare alternativã este de a considera câte o intrare pentru fiecare valoare nominalã (reprezentare echivalentã cu reprezentarea ieºirilor discrete). În acest caz însã, poate creºte mult numãrul intrãrilor reþelei ºi un 219 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
anumit atribut simbolic poate avea un numãr corespunzãtor de intrãri disproporþionat de mare în comparaþie cu un atribut numeric, de exemplu. În funcþie de natura problemei, proiectantul are sarcina de a alege o configuraþie potrivitã. În paragraful 5.4.1 s-a prezentat echivalenþa funcþionalã dintre anumite tipuri de reþele neuronale ºi sisteme fuzzy. Datoritã acestei echivalenþe, rezultatele algoritmului NNGEP propus au simultan o naturã conexionistã ºi una simbolicã. 9.2.8 Interpretarea neuronalã a rezultatelor NNGEP Pentru a exemplifica modul de interpretare neuronalã a rezultatelor algoritmului NNGEP, se va considera problema clasicã a florilor de Iris. Datele de antrenare sunt prezentate în tabelul 9.8. Tabelul 9.8. Datele de antrenare pentru problema florilor de Iris Lungimea petalelor 1.4 1.4 1.3
Lãþimea petalelor 0.2 0.2 0.2
4.7 4.5 4.9
1.4 1.5 1.5
6.0 5.1 5.9
2.5 1.9 2.1
Lungimea sepalelor 5.1 4.9 4.7 ... 7.0 6.4 6.9 ... 6.3 5.8 7.1 ...
Lãþimea sepalelor 3.5 3.0 3.2
Setosa Setosa Setosa
3.2 3.2 3.1
Versicolor Versicolor Versicolor
3.3 2.7 3.0
Virginica Virginica Virginica
Clasa
Tabelul 9.9. Interpretarea neuronalã a rezultatelor NNGEP pentru problema florilor de Iris mpetallength 1.4640 4.2348 5.6588 5.4100 5.2333 4.8000 5.0500 4.8000 3.3000 5.8000
petallength 0.1718 0.4254 0.5380 0.5108 0.2625 0.3000 0.0500 0.0000 0.0000 0.0000
mpetalwidth 0.2440 1.3087 2.1706 1.8000 1.4667 1.7500 1.6500 1.8000 1.0000 1.6000
petalwidth 0.1061 0.1717 0.1871 0.0000 0.0471 0.0500 0.0500 0.0000 0.0000 0.0000
msepallength 5.0060 5.9413 6.7059 6.5000 6.1333 5.4000 6.3500 5.9000 4.9000 7.2000
sepallength 0.3489 0.4976 0.6216 0.4195 0.1247 0.5000 0.3500 0.0000 0.0000 0.0000
msepalwidth 3.4180 2.7652 3.0441 2.9100 2.5333 2.7500 2.8500 3.2000 2.4000 3.0000
sepalwidth 0.3772 0.3108 0.3219 0.1921 0.2494 0.2500 0.1500 0.0000 0.0000 0.0000
Clasa Setosa Versicolor Virginica Virginica Virginica Virginica Versicolor Versicolor Versicolor Virginica
Datoritã prototipurilor, hiperdreptunghiurile pot fi interpretate ca reþele neuronale cu funcþii de bazã elipticã paralelã cu axele generalizate, întrucât utilizeazã mecanismul de selecþie a centrelor specific algoritmului 220 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
NNGEP. Pentru problema consideratã, la antrenarea cu tot setul de date, rezultã 10 centre, afiºate în tabelul 9.9, identificate ca medie ºi deviaþie standard pentru fiecare din cele 4 dimensiuni. Tabelul 9.10. Interpretarea fuzzy a rezultatelor NNGEP pentru problema florilor de Iris Lungimea petalelor 1.4 1.4 1.3
Lãþimea petalelor 0.2 0.2 0.2
Lungimea sepalelor 5.1 4.9 4.7
4.7 4.5 4.9
1.4 1.5 1.5
7.0 6.4 6.9
6.0 5.1 5.9
2.5 1.9 2.1
6.3 5.8 7.1
Lãþimea sepalelor 3.5 3.0 3.2 ... 3.2 3.2 3.1 ... 3.3 2.7 3.0 ...
Setosa Setosa Setosa
Grad de apartenenþã 0.9839 0.9682 0.9331
Versicolor Versicolor Versicolor
0.8257 0.8881 0.7699
Virginica Virginica Virginica
0.8375 0.8145 0.9758
Clasa
9.2.9 Interpretarea fuzzy a rezultatelor NNGEP Limitele hiperdreptunghiurilor pot fi interpretate ca reguli stricte de apartenenþã a unei instanþe la o clasã. Datoritã prezenþei prototipurilor, apartenenþa la o clasã poate fi gradatã ºi deci aceloraºi rezultate li se poate da ºi o interpretare fuzzy. În tabelul 9.10 se prezintã gradele de apartenenþã ale instanþelor la clasele induse, considerând acest grad de apartenenþã echivalent cu similaritatea faþã de prototip. Ponderile trãsãturilor sunt: wpetallength = 0.3503, wpetalwidth = 0.3664, wsepallength = 0.1771, wsepalwidth = 0.1062.
(9.7)
9.3 Studiul modelului de învãþare deductivã În cele ce urmeazã, va fi prezentat un studiu asupra modelului de raþionament deductiv bazat pe algoritmii din paragraful 8.3. Pentru a testa diferite situaþii, s-a dezvoltat un limbaj scriptic care permite introducerea de noi cunoºtinþe ºi enunþarea problemelor deductive (Zaharia, Leon & Gâlea, 2004). Sintaxa permisã a acestui limbaj este descrisã mai jos: := define is [not] { } := find := forget := list := listproc
221 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Urmãtoarele douã linii sunt exemple valide de cunoºtinþe: define ANIMAL is BEING MOVE SENSE define ANIMAL is not PLANT
Urmãtoarele douã linii sunt exemple valide de probleme deductive: find GEORGE SENSE find ANIMAL PLANT
Fie scriptul de mai jos: define define define define find A
A B D C F
is is is is
B C not D E F A F
Cele ºase piese de cunoaºtere genereazã graful din figura 9.8. Se observã cã acest exemplu conþine un raþionament circular: A este definit drept C ºi viceversa. Procedura de raþionament decurge astfel: Start reasoning Activate Dict(A): 1 Activate Dict(F): 1 Activate Node0: 0.148885 Update connection: Dict(A) - Node0: 0.350000 Dict(A) already activated: 1.000000 Activate Node1: 0.007444 Update connection: Node0 - Node1: 0.150000 Activate Dict(B): 0.001117 Update connection: Node1 - Dict(B): 0.350000 Node1 already activated: 0.007444 Update connection: Node1 - Dict(B): 0.300000 Update connection: Node0 - Node1: 0.100000 Activate Node2: 0.007444 Update connection: Node0 - Node2: 0.150000 Activate Dict(C): 0.001117 Update connection: Node2 - Dict(C): 0.350000 Node2 already activated: 0.007444 Update connection: Node2 - Dict(C): 0.300000 Node0 already activated: 0.148885 Activate Node5: 0.000372 Update connection: Node2 - Node5: 0.150000 Dict(F) already activated: 1.000000 Path found
222 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental New connection: Node0 - Node5: 0.100000 Deactivate working memory nodes End reasoning
Figura 9.8. Model de memorie pentru raþionament circular
Agentul nu intrã într-o buclã infinitã datoritã memoriei sale de lucru, care conþine nodurile activate ale memoriei de lungã duratã. Când este întâlnit un nod deja vizitat, agentul nu îl activeazã din nou, ci doar recunoaºte situaþia: “Node X already activated” („Nodul X deja activat”). Nodul scop este activat de la început. Dacã un nod activat este soluþia, înseamnã cã s-a gãsit o cale. De asemenea, se poate observa cã ponderile conexiunilor de pe cale se mãresc. Urmãtorul script determinã o situaþie în care nu poate fi gãsitã nici o cale: define define find A find A
A is B B is not C C C
Procedura de raþionament corespunzãtoare este: Start reasoning Activate Dict(A): 1 Activate Dict(D): 1 Activate Node0: 0,099668 Update connection: Dict(A) - Node0: 0,250000
223 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive Dict(A) already activated: 1,000000 Activate Node1: 0,004983 Update connection: Node0 - Node1: 0,150000 Activate Dict(B): 0,000748 Update connection: Node1 - Dict(B): 0,350000 Node1 already activated: 0,004983 Update connection: Node1 - Dict(B): 0,300000 Connection: Node1 - Node2: -0,100000 A path may not be found Update connection: Node0 - Node1: 0,100000 Update connection: Dict(A) - Node0: 0,200000 Path not found New connection: Node0 - Node2: -0,100000 Deactivate working memory nodes End reasoning
Când agentul gãseºte o conexiune inhibitoare cãtre un nod de prelucrare legat de nodul scop, el prezintã o atenþionare “A path may not be found” („Gãsirea unei cãi ar putea fi imposibilã”). Totuºi, agentul continuã cãutarea deoarece pot exista alte cãi. Dacã sarcina nu este foarte importantã sau dacã existã o limitã de timp pentru îndeplinirea sa, agentul poate sã opreascã în acest moment cãutarea ºi sã tragã o concluzie negativã. Dupã cãutare, o conexiune directã inhibitoare se creeazã între A ºi C. Memoria agentului dupã a doua cãutare este prezentatã în figura 9.9.
Figura 9.9. Model de memorie pentru propoziþii negative
Urmãtorul script demonstreazã capacitatea de învãþare a modelului cognitiv propus:
224 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental define define define define find A forget find A forget find A forget find A forget define find A list
A B D C F
is is is is
B C D G H E F
E H H H is I I
În figura 9.10 se prezintã o structurã simplã, mai intuitivã, a bazei de cunoºtinþe corespunzãtoare.
Figura 9.10. Structurã simplificatã a unei baze de cunoºtinþe
La început, când agentul trebuie sã gãseascã o cale de la A la F, el viziteazã nodurile de prelucrare corespunzãtoare urmãtoarelor noduri dicþionar: A – B – D – G – H – C – E – F. Deoarece poate fi gãsitã o cale (A – C – F), ponderile conexiunilor dintre aceste noduri sunt mãrite. Astfel, ponderea conexiunii dintre nodurile de prelucrare ale lui A ºi B devine mai micã decât conexiunea corespunzãtoare nodurilor A ºi C. Când agentul trebuie sã gãseascã o cale între A ºi E, ordinea în care sunt vizitate nodurile se schimbã: A – C – F – E. Ponderea conexiunii dintre nodurile de prelucrare care corespund lui A, respectiv C, este încã o datã mãritã. Când agentul trebuie sã gãseascã calea dintre A ºi H, mai întâi proceseazã legãtura dintre A ºi C. Nu gãseºte o soluþie în acest mod, aºa cã se întoarce mai târziu în B ºi gãseºte calea cãtre H. Nodurile sunt activate în aceastã ordine: A – C – E – F – B – D – G – H. A doua oarã, legãtura dintre A ºi B este tot mai slabã decât cea dintre 225 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
A ºi C. La fel ºi legãtura nou creatã între A ºi H. Singura diferenþã în rãspunsul agentului este faptul cã G nu mai este activat, deoarece conexiunea dintre D ºi H este acum mai mare decât cea dintre D ºi G. Ordinea de activare devine: A – C – E – F – B – D – H. Un nou concept, I, este introdus ºi legat de H. O cale de la A la I trebuie sã treacã prin H. Dar o legãturã directã între A ºi H a fost creatã prima datã ºi întãritã a doua oarã, astfel încât nodurile activate sunt acum doar: A – H – I. Acest exemplu demonstreazã clar capacitatea de învãþare a modelului. Desigur, baza de cunoºtinþe poate conþine ºi concepte ale limbajului natural. Scriptul urmãtor aratã modul în care aceste concepte sunt integrate în memoria agentului: define HUMAN is RATIONAL ANIMAL define GEORGE is MAN define MAN is MALE HUMAN define GEORGE is TALL define ANIMAL is BEING MOVE SENSE define ANIMAL is not PLANT find GEORGE RATIONAL find GEORGE PLANT find GEORGE SENSE
Agentul poate demonstra cã George este raþional, cã poate simþi, dar nu poate demonstra cã e plantã. Figura 9.11 ilustreazã faptul cã o bazã de cunoºtinþe foarte simplã bazatã pe un astfel de limbaj cvasinatural necesitã un numãr mare de noduri de memorie.
Figura 9.11. Model de memorie pentru propoziþii în limbaj cvasinatural
226 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
9.4 Analiza comportamentului sistemului multiagent În acest paragraf, se vor studia performanþelor sistemului multiagent propus, pentru diferite configuraþii ºi valori ale parametrilor implicaþi. 9.4.1 Modelarea bazelor de cunoºtinþe de pe servere de cãtre agenþi Fie Ag numãrul de agenþi, S numãrul de servere din sistem, PKI numãrul de entitãþi de cunoaºtere perceptive iar EKI numãrul de entitãþi de cunoaºtere extinse din bazele de cunoºtinþe. Fie Q numãrul de întrebãri puse de un agent iar A numãrul de rãspunsuri pe care îl primeºte un agent de la agentul local de baze de cunoºtinþe. Fie D numãrul de transporturi (engl. “dispatches”) al unui agent iar M numãrul total de mesaje transmise între agenþi ºi servere într-o sesiune de rezolvare de probleme în context multiagent. Tabelul 9.11 prezintã performanþele sistemului pentru diferite condiþii iniþiale, în ipoteza cã agenþii nu modeleazã bazele de cunoºtinþe de pe server. Asupra datelor, dupã 10 rulãri ale sistemului, s-au realizat prelucrãri statistice, calculându-se media ºi deviaþia standard.
Nr. crt. 1 2 3 4 5 6 7 8 9 10
Ag 10 10 10 10 50 10 50 50 50 100
S 3 3 3 3 5 5 2 10 20 5
Tabelul 9.11. Performanþele sistemului când agenþii nu modeleazã bazele de cunoºtinþe de pe servere
PKI 4 8 2 8 10 10 10 10 10 10
EKI 16 16 18 12 90 90 90 10 90 90
mQ 35.48 43.54 42.2 33.3 193.69 177 98.32 329.02 526.55 194.25
óQ 9.57 9.05 11.4 8.3 60.65 65.2 31.67 124.05 180.49 72.37
mA 12.8 14.5 13.2 12.2 36.16 33.2 38.12 36.5 34.38 36.55
óA 1.83 1.8 2.27 2.79 8.9 9.47 9.46 11.19 9.84 10.99
mD 4.25 3.56 4.3 4.08 13.19 12.35 3.24 27.92 57.66 13.23
óD 1.49 1.08 1.39 1.33 3.06 2.33 0.97 6.98 13.78 2.89
mM 587.8 671.6 660 556.6 12911.1 2369 7246 21168.2 33912.3 25926.9
óM 12.24 11.26 22.15 5.34 110.7 70.63 0 182.06 436.86 173.92
Toate determinãrile au fost realizate în urmãtoarele condiþii prestabilite: o entitate de cunoaºtere extinsã se bazeazã pe un numãr între 2 ºi 4 de alte entitãþi, redundanþa informaþionalã este de 20% iar în lista iniþialã de dorinþe a unui agent existã între 3 ºi 5 de entitãþi de cunoaºtere. Este evident cã numãrul de rãspunsuri (A) ºi de transporturi (D) nu depinde de modelul pe care agentul îl face serverelor. Numãrul de rãspunsuri este acelaºi deoarece numãrul de cunoºtinþe din baza de cunoºtinþe este independent de modelul cognitiv al agentului – agentul local rãspunde numai la întrebãrile la care cunoaºte rãspunsul; dacã agentul pune mai multe întrebãri, restul sunt ignorate. Numãrul de transporturi este de 227 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
asemenea acelaºi, întrucât depinde numai de rãspunsurile primite de la agentul static local de baze de cunoºtinþe de pe server.
Figura 9.12. Influenþa tipurilor de cunoºtinþe asupra numãrului mediu de rãspunsuri ale agentului local de pe server
Figura 9.12 prezintã influenþa tipurilor de cunoºtinþe asupra numãrului mediu de rãspunsuri ale agentului local de pe server, în condiþiile menþinerii constante a numãrului de agenþi (Ag = 50) ºi servere (S = 5). La acelaºi numãr total de entitãþi de cunoaºtere (“knowledge items”), PKI + EKI = 100, creºterea numãrului de itemi perceptivi determinã scãderea numãrului de rãspunsuri. Fenomenul este cauzat de faptul cã dacã existã mai mulþi itemi extinºi, aceºtia vor determina de asemenea explicitarea conceptelor din lista de definiþie. Figura 9.13 prezintã influenþa numãrului de agenþi asupra numãrului de transporturi pe care le efectueazã un agent, în condiþiile menþinerii constante a numãrului de servere (S = 5) ºi entitãþi de cunoaºtere (PKI = 10, EKI = 90).
Figura 9.13. Influenþa numãrului de agenþi asupra numãrului de transporturi
228 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Se remarcã faptul cã numãrul de transporturi pe care le efectueazã un singur agent este relativ independent de numãrul de agenþi din sistem. Este normal sã fie aºa, deoarece în acest stadiu al sistemului, agenþii se comportã practic independent, evoluþia unuia nedepinzând de evoluþia celorlalþi. Avem de-a face cu un sistem multiagent omogen necomunicativ. În paragrafele urmãtoare, vor fi prezentate mai multe modalitãþi de creºte a complexitãþii sistemului, prin integrarea posibilitãþii comunicãrii directe între agenþii de cãutare. Figura 9.14 prezintã influenþa numãrului de servere asupra numãrului de transporturi pe care le efectueazã un agent, în condiþiile menþinerii constante a numãrului de agenþi (Ag = 50) ºi entitãþi de cunoaºtere (PKI = 10, EKI = 90). Se remarcã faptul cã numãrul de transporturi pe care le efectueazã un agent creºte aproximativ liniar cu numãrul de servere din sistem.
Figura 9.14. Influenþa numãrului de servere asupra numãrului de transporturi
Figura 9.15. Influenþa numãrului de agenþi asupra numãrului de întrebãri
229 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
În tabelul 9.12 se prezintã performanþele sistemului pentru diferite condiþii iniþiale, în ipoteza cã agenþii modeleazã bazele de cunoºtinþe de pe server (Leon, Zaharia & Gâlea, 2003a). Aceleaºi prelucrãri statistice s-au realizat asupra datelor, dupã 10 rulãri. Au fost omise informaþiile referitoare la rãspunsuri ºi transporturi, întrucât sunt egale cu cele din tabelul 9.11. Figura 9.15 prezintã influenþa numãrului de agenþi asupra numãrului de întrebãri puse de un agent, în condiþiile menþinerii constante a numãrului de servere (S = 5) ºi entitãþi de cunoaºtere (PKI = 10, EKI = 90). Ca ºi în figura 9.13, se constatã cã numãrul mediu de întrebãri puse de un agent nu depinde de numãrul agenþilor din sistem. Dimpotrivã, numãrul de întrebãri creºte aproximativ liniar cu numãrul de servere, întrucât agentul poate pune aceleaºi întrebãri fiecãrui server în parte. Tabelul 9.12. Performanþele sistemului când agenþii modeleazã bazele de cunoºtinþe de pe servere Nr. crt. 1 2 3 4 5 6 7 8 9 10
Ag 10 10 10 10 50 10 50 50 50 100
S 3 3 3 3 5 5 2 10 20 5
PKI 4 8 2 8 10 10 10 10 10 10
EKI 16 16 18 12 90 90 90 10 90 90
mQ 22.2 24.06 25.41 20.39 113.39 103.71 52.8 199.97 368.48 112.49
óQ 5.42 4.32 6.61 4.97 30.86 30.77 14.36 69.41 118.03 36.15
mM 453 477.8 490.1 426.5 8879 1636.1 4970 14707.5 25998.3 17743
óM 9.41 4.88 8.81 9.33 84.38 21.57 0 165.23 368.71 82.52
Figura 9.16 prezintã influenþa numãrului de servere asupra numãrului de întrebãri puse de un agent, în condiþiile menþinerii constante a numãrului de agenþi (Ag = 5) ºi entitãþi de cunoaºtere (PKI = 10, EKI = 90).
Figura 9.16. Influenþa numãrului de servere asupra numãrului de întrebãri
230 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Figura 9.17 prezintã influenþa numãrului de entitãþi de cunoaºtere asupra numãrului de întrebãri puse de un agent, în condiþiile menþinerii constante a numãrului de agenþi (Ag = 50) ºi servere (S = 5). Este normal ca numãrul de întrebãri sã creascã dacã existã mai multe concepte care trebuie cãutate.
Figura 9.17. Influenþa numãrului de entitãþi de cunoaºtere asupra numãrului de întrebãri
În final, se va compara numãrul total de mesaje vehiculate în cele douã situaþii analizate; acest numãr este un indicator al activitãþii generale a sistemului. Utilitatea modelãrii bazelor de cunoºtinþe de pe server apare evidentã datoritã scãderii numãrului de mesaje, demonstratã de figura 9.18. Abscisa corespunde numãrului total de mesaje în condiþiile modelãrii bazelor de cunoºtinþe, iar ordonata identificã raportul dintre numãrul de mesaje în condiþiile lipsei modelului ºi numãrul de mesaje în condiþiile modelãrii. Se observã cã scãderea numãrului de mesaje este relativ constantã. În condiþiile modelãrii, numãrul de mesaje scade cu aproximativ 25%.
Figura 9.18. Scãderea numãrului total de mesaje în condiþiile modelãrii bazelor de cunoºtinþe de cãtre agenþi
231 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Studiind din nou tabelele 9.11 ºi 9.12, se constatã pe linia 7 cã deviaþia standard a mesajelor este 0 dacã numãrul de servere este 2. Acest lucru sugereazã cã evoluþia sistemului este deterministã, întrucât agenþii vor „pendula” între cele douã servere pânã gãsesc toate cunoºtinþele de care au nevoie. Pentru ca toþi agenþii sã rezolve problemele de cãutare, sunt necesare mai multe runde de server, adicã secvenþa de rulare a serverelor de cãtre platformã trebuie executatã de mai multe ori. Figura 9.19 aratã modul cum variazã numãrul de mesaje transmise în funcþie de rundele de server. Graficul este o mãsurã globalã a evoluþiei sistemului. Se constatã cã mai întâi numãrul de mesaje are o tendinþã crescãtoare. Agenþii au pus întrebãrile iniþiale ºi încep sã adune din ce în ce mai multe concepte neexplicate. Pe mãsurã ce viziteazã tot mai multe servere, numãrul dorinþelor începe sã descreascã. Apoi din ce în ce mai mulþi agenþi îºi îndeplinesc scopul, intrã în starea de suspendare ºi deci nu mai contribuie la transmiterea de mesaje. Spre sfârºit, în sistem mai existã numai câþiva agenþi care mai cautã rãspunsuri la un numãr restrâns de întrebãri.
Figura 9.19. Variaþia numãrului de mesaje transmise pe parcursul execuþiei sistemului
9.4.2 Posibilitãþile de cooperare între agenþi În tabelul 9.13 sunt prezentate performanþele sistemului pentru diferite valori ale factorului de cooperare (FC). Sunt prelucrate statistic urmãtoarele valori: numãrul de transporturi (D) ºi numãrul de runde de agent necesare pentru atingerea scopului (R), în condiþiile unui sistem cu 10 agenþi care ruleazã pe 5 servere cu 100 de entitãþi de cunoaºtere (Leon, Zaharia & Gâlea, 2003b).
232 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental Tabelul 9.13. Performanþele sistemului pentru diferiþi factori de cooperare FC 0 0.25 0.5 0.75 1
mD 12.4 10.91 9.91 9.27 8.75
óD 2.42 2.44 2.1 2.88 2.38
mR 53.63 52.21 48.92 46.83 45.77
óR 9.23 9.91 8.93 11.17 9.92
Figura 9.20 aratã tendinþa de scãdere a numãrului de transporturi pe mãsurã ce creºte factorul de cooperare.
Figura 9.20. Scãderea numãrului de transporturi pe mãsura creºterii factorului de cooperare
Mai mult, chiar ºi numãrul de runde de execuþie în care este rezolvatã problema scade odatã cu creºterea cooperãrii, dupã cum indicã figura 9.21.
Figura 9.21. Scãderea numãrului rundelor de execuþie pe mãsura creºterii factorului de cooperare
233 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Totuºi, cooperarea inter-agent se face pe baza transmiterii unor întrebãri cãtre toþi agenþii de pe server (broadcast). Acest fapt conduce la creºterea numãrului de mesaje transmise în sistem. Tabelul 9.14 prezintã o comparaþie între numãrul de mesaje în condiþii de funcþionare independentã (vezi ºi tabelul 9.12) ºi numãrul de mesaje în condiþii de cooperare. Se observã cã numãrul de mesaje creºte foarte mult când numãrul mediu de agenþi de pe un server este mare (deoarece fiecare îºi trimite întrebãrile fiecãruia dintre ceilalþi). Se observã pe ultima linie a tabelului cã numãrul de mesaje nu mai este determinist în condiþii de cooperare, deoarece intervin ºi mesajele transmise între agenþi. Figura 9.22 prezintã dependenþa aproximativ liniarã dintre mMC / mMI ºi Ag / S . Tabelul 9.14. Comparaþie între numãrul de mesaje în condiþii de independenþã ºi cooperare Ag 10 50 10 50
S 3 5 5 2
PKI 4 10 10 10
EKI 16 90 90 90
mMI 453 8879 1636.1 4970
óMI 9.41 84.38 21.57 0
mMC 990.2 42651 4123 41311.7
óMC 53.27 1035.53 108.06 525.25
Figura 9.22. Dependenþa dintre numãrul mediu de agenþi pe server ºi raportul mesajelor în prezenþa sau absenþa cooperãrii
9.4.3 Introducerea cozilor de prioritãþi pe servere Tabelul 9.15 prezintã câteva mãsurãtori ale numãrului de transporturi (D) ºi ale numãrului de mesaje transmise (M) pentru un sistem 234 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
cu 50 de agenþi rulând pe 5 servere care conþin 100 de entitãþi de cunoaºtere. Agenþii au un factor de cooperare unitar. Tabelul 9.15. Influenþa cozilor de prioritãþi asupra performanþelor sistemului fãrã coadã de prioritãþi coadã de prioritãþi cu capacitatea Q=5
mD 5.65 6.97
óD 2.19 3.06
mM 43198.3 19716.7
óM 2799.22 134.4
Se observã scãderea numãrului de mesaje transmise (de douã ori mai mare), în timp ce numãrul de transporturi este acceptabil. În urma acestor mãsurãtori se poate trage concluzia cã introducerea cozilor de prioritãþi pe servere reduce mult numãrul de mesaje determinat de cooperarea agenþilor, în timp ce numãrul transporturilor rãmâne la valori rezonabile, mai ales dacã ar fi comparat cu valoarea sa pentru un factor de cooperare nul (mD = 13, óD = 2.84). Se pune acum problema: ce capacitate este cea mai potrivitã pentru cozile de prioritãþi. Într-un sistem real distribuit eterogen, în care calculatoarele pot avea performanþe diferite, capacitatea cozii de prioritãþi de pe un server poate fi în directã relaþie cu capacitatea de procesare a acelui calculator. În sistemul prezentat, s-au fãcut un numãr de teste pentru configuraþia de mai sus, modificând capacitatea cozii. Rezultatele sunt prezentate în tabelul 9.16. Plecând de la premisa cã aceastã capacitate va influenþa ºi viteza cu care agenþii îºi îndeplinesc scopurile (deoarece agenþii mai puþini prioritari sunt practic blocaþi în unele situaþii), s-au inclus în tabel ºi date referitoare la numãrul mediu de runde de server necesare pentru agent pentru a-ºi îndeplini scopul. Tabelul 9.16. Influenþa capacitãþii cozilor de prioritãþi asupra performanþelor sistemului Capacitate 2 3 5 7
mD 9.69 8.47 6.97 6.55
óD 2.98 2.96 3.06 3.36
mM 13611.6 15445.3 19716.7 25583
óM 121.13 179.84 134.4 175.08
mSR 160.82 107.02 66.4 53.13
óSR 73.96 47.82 24.05 20.41
O capacitate a cozii egalã cu numãrul de agenþi echivaleazã cu lipsa mecanismului de prioritate. Dupã cum indicã ºi figura 9.23, numãrul mediu de transporturi creºte cu cât capacitatea cozii scade, întrucât la limitã, când coada are capacitate micã, se anuleazã practic cooperarea interagent.
235 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 9.23. Dependenþa dintre numãrul mediu de transporturi ºi capacitatea cozilor de prioritãþi
Din acelaºi motiv creºte ºi numãrul de mesaje transmise atunci când capacitatea cozii este mare. Când agenþii sunt mai puþin restricþionaþi, ei încep sã comunice din ce în ce mai mult, fenomen prezentat în figura 9.24.
Figura 9.24. Dependenþa dintre numãrul mediu de mesaje ºi capacitatea cozilor de prioritãþi
Deoarece o parte din agenþi (cei cu prioritãþi mai mici) sunt blocaþi pe servere pânã terminã agenþii cu prioritate mare, numãrul mediu de runde de server necesare pentru îndeplinirea dorinþelor scade atunci când capacitatea cozii creºte (figura 9.25). Pentru a preciza ºi mai clar influenþa prioritãþii asupra performanþelor agenþilor, tabelul 9.17 descrie numãrul mediu de runde de server necesare pentru îndeplinirea scopurilor în funcþie de prioritatea agentului. Datele din tabel sunt redate mai sugestiv de figura 9.26. Se observã cã pe mãsurã ce prioritatea agentului creºte, el îºi poate realiza mai rapid obiectivele. 236 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Figura 9.25. Dependenþa dintre numãrul mediu de runde de server necesare pentru îndeplinirea scopului ºi capacitatea cozilor de prioritãþi Tabelul 9.17. Influenþa prioritãþi asupra intervalului de timp necesar pentru îndeplinirea scopului Prioritate 1 2 3 4 5 6 7 8 9 10
mSR 96.96 94 79.33 74.8 70.73 55.22 51.58 44.13 39.28 38.22
óSR 15.31 12.31 11.32 18.74 12.13 11.3 9.86 8.94 8.45 5.67
Figura 9.26. Influenþa prioritãþi asupra intervalului de timp necesar pentru îndeplinirea scopului
9.4.4 Studiu de caz În cele ce urmeazã, se va descrie explicit comportamentul sistemului pentru unele setãri iniþiale. Se considerã un sistem foarte simplu, format din 237 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
3 agenþi care ruleazã pe 2 servere cãutând informaþii despre 20 de entitãþi de cunoaºtere (4 perceptive ºi 16 extinse). Structurile iniþiale ale agenþilor ºi serverelor (mai exact ale agenþilor locali de baze de cunoºtinþe de pe servere) sunt prezentate în cele ce urmeazã:
agent1.kbf
agent2.kbf
agent3.kbf
[Beliefs] Origin server1 Priority 1 [Desires] KI_5 KI_7 KI_14 KI_19
[Beliefs] Origin server1 Priority 2 [Desires] KI_2 KI_3 KI_14
[Beliefs] Origin server2 Priority 3 [Desires] KI_1 KI_2 KI_3 KI_17 KI_19 KI_20
server1.kbf
server2.kbf
Serverlist Server1 Server2 KI_3 perceptual KI_4 perceptual KI_5 extends KI_3 KI_4 KI_2 KI_10 extends KI_5 KI_6 KI_11 extends KI_3 KI_1 KI_12 extends KI_5 KI_9 KI_12 extends KI_5 KI_9 KI_13 extends KI_5 KI_6 KI_14 extends KI_8 KI_13 KI_12 KI_15 extends KI_6 KI_9 KI_5 KI_16 extends KI_12 KI_13 KI_17 extends KI_2 KI_11 KI_18 extends KI_10 KI_12 KI_19 extends KI_7 KI_8 KI_20 extends KI_16 KI_18
Serverlist Server1 Server2 KI_1 perceptual KI_2 perceptual KI_5 extends KI_3 KI_4 KI_2 KI_5 extends KI_3 KI_4 KI_2 KI_5 extends KI_3 KI_4 KI_2 KI_6 extends KI_3 KI_2 KI_7 extends KI_5 KI_6 KI_1 KI_8 extends KI_6 KI_4 KI_9 extends KI_1 KI_4 KI_9 extends KI_1 KI_4 KI_19 extends KI_7 KI_8
În decursul execuþiei, în funcþie de prioritate, un agent poate fi: în execuþie: agentul este executat normal; în aºteptare: pe server se aflã mai mulþi agenþi decât numãr maxim admis pentru execuþie iar agentul este în coada de aºteptare întrucât are prioritate prea micã pentru a fi executat; suspendat: agentul este suspendat deoarece ºi-a îndeplinit scopul ºi nu mai contribuie cu nimic la funcþionarea sistemului. Dupã terminare, baza internã de cunoºtinþe a agenþilor aratã astfel:
agent1.kbf
agent2.kbf
agent3.kbf
[Beliefs] Origin server1 Priority 1 KI_5 extends KI_3 KI_4 KI_2 KI_5 from kbserver1 KI_14 extends KI_8 KI_13 KI_12 KI_14 from kbserver1 KI_19 extends KI_7 KI_8 KI_19 from kbserver1
[Beliefs] Origin server1 Priority 2 KI_3 perceptual KI_3 from kbserver1 KI_14 extends KI_8 KI_13 KI_12 KI_14 from kbserver1 KI_13 extends KI_5 KI_6 KI_13 from kbserver1
[Beliefs] Origin server2 Priority 3 KI_1 perceptual KI_1 from kbserver2 KI_2 perceptual KI_2 from kbserver2 KI_19 extends KI_7 KI_8 KI_19 from kbserver2
238 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental KI_3 perceptual KI_3 from kbserver1 KI_4 perceptual KI_4 from kbserver1 KI_13 extends KI_5 KI_6 KI_13 from kbserver1 KI_12 extends KI_5 KI_9 KI_12 from kbserver1 Serverlist Server1 Server2 Serverlist from kbserver1 Visited 0 server1 server2 KI_7 extends KI_5 KI_6 KI_1 KI_7 from kbserver2 KI_2 perceptual KI_2 from kbserver2 KI_8 extends KI_6 KI_4 KI_8 from kbserver2 KI_6 extends KI_3 KI_2 KI_6 from kbserver2 KI_9 extends KI_1 KI_4 KI_9 from kbserver2 KI_1 perceptual KI_1 from kbserver2 [Desires]
KI_12 extends KI_5 KI_9 KI_12 from kbserver1 KI_5 extends KI_3 KI_4 KI_2 KI_5 from kbserver1 KI_4 perceptual KI_4 from kbserver1 Serverlist Server1 Server2 Serverlist from kbserver1 KI_2 perceptual KI_2 from agent3 KI_8 extends KI_6 KI_4 KI_8 from agent3 KI_6 extends KI_3 KI_2 KI_6 from agent3 Visited 0 server1 server2 KI_9 extends KI_1 KI_4 KI_9 from kbserver2 KI_1 perceptual KI_1 from kbserver2 [Desires]
KI_7 extends KI_5 KI_6 KI_1 KI_7 from kbserver2 KI_8 extends KI_6 KI_4 KI_8 from kbserver2 KI_5 extends KI_3 KI_4 KI_2 KI_5 from kbserver2 KI_6 extends KI_3 KI_2 KI_6 from kbserver2 Serverlist Server1 Server2 Serverlist from kbserver2 Visited 0 server2 server1 KI_3 perceptual KI_3 from kbserver1 KI_17 extends KI_2 KI_11 KI_17 from kbserver1 KI_20 extends KI_16 KI_18 KI_20 from kbserver1 KI_4 perceptual KI_4 from kbserver1 KI_11 extends KI_3 KI_1 KI_11 from kbserver1 KI_16 extends KI_12 KI_13 KI_16 from kbserver1 KI_18 extends KI_10 KI_12 KI_18 from kbserver1 KI_12 extends KI_5 KI_9 KI_12 from kbserver1 KI_13 extends KI_5 KI_6 KI_13 from kbserver1 KI_10 extends KI_5 KI_6 KI_10 from kbserver1 Visited 1 server2 KI_9 extends KI_1 KI_4 KI_9 from kbserver2 [Desires]
Trebuie remarcat faptul cã în baza de cunoºtinþe, de fapt în secþiunea de convingeri, întrucât secþiunea de dorinþe e acum vidã, avem cunoºtinþe care corespund atât memoriei semantice (care reþine cunoºtinþe generale, fãrã legãturã directã cu experienþa individualã), de exemplu KI_9 extends KI_1 KI_4, cât ºi memoriei episodice (care reþine cunoºtinþe legate de experienþa proprie subiectivã), de exemplu KI_9 from kbserver2. Explicitarea unei entitãþi de cunoaºtere este unicã, altfel baza de cunoºtinþe de pe servere ar fi inconsistentã, însã de vreme ce un concept poate fi gãsit pe mai multe servere (datoritã redundanþei informaþionale) sau poate fi trimis de un alt agent, gãsirea definiþiilor are un caracter subiectiv ºi poate diferi de la un agent la altul. 9.5 Studiu comparativ al tehnicilor de învãþare dinamicã a cãii În acest paragraf se va insista asupra performanþelor algoritmilor de învãþare dinamicã a cãii. Mai întâi se va considera problema gãsirii drumului într-o reþea de calculatoare utilizând algoritmul Q-learning într-un 239 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
mod în care sã permitã o folosire eficientã a matricei de valori Q. Apoi se va studia cazul general de gãsire a drumului într-un labirint, comparându-se algoritmii Q-learning, LRTA* ºi algoritmul propus bazat pe gradienþii marcajelor de stare. 9.5.1 Problema drumului în reþea Pentru testarea metodei descrise în paragraful 8.5.2, se va considera o reþea cu topologia din figura 9.27 (Leon, ªova & Gâlea, 2004b). Existã trei domenii (tipuri) de entitãþi de cunoaºtere: A, B ºi C. Pentru domeniul A existã 20 de entitãþi de cunoaºtere perceptive ºi 180 de entitãþi de cunoaºtere extinse. Pentru domeniul B existã 10 entitãþi de cunoaºtere perceptive ºi 90 de entitãþi de cunoaºtere extinse. Pentru domeniul C existã 10 entitãþi de cunoaºtere perceptive ºi 140 de entitãþi de cunoaºtere extinse. Acestea sunt distribuite pe servere în diferite proporþii. De exemplu, se poate vedea în figura 9.27 cã server3 este specializat pe domeniul B, deoarece menþine 80% din cantitatea totalã de entitãþi de cunoaºtere de tip B. Lista iniþialã de dorinþe (scopuri) a agenþilor conþine 7-10 itemi. Parametrii algoritmului Q-learning utilizaþi sunt: o ratã iniþialã de explorare egalã cu 1 (agenþii trebuie mai întâi sã exploreze deoarece nu deþin cunoºtinþe iniþiale despre mediu); aceastã ratã descreºte cu 0.03 de fiecare datã când agentul de mutã pe alt server, dar nu scade sub 0.1, deoarece agenþii trebuie sã îºi pãstreze ºansa de a explora din timp în timp chiar ºi atunci când au suficiente informaþii, pentru a se putea adapta la schimbãri ulterioare. Rata de învãþare ç este 0.2. Recompensa negativã pentru încercarea de mutare pe un server neconectat cu locaþia curentã este –100.
Figura 9.27. Topologia reþelei de test
S-au studiat douã posibilitãþi pentru factorul de reducere . Scopul a fost de a da agenþilor o imagine precisã asupra distribuþiei cunoºtinþelor de 240 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
pe fiecare server. O valoare mare pentru ar lua în calcul recompensele viitoare. De exemplu, pe server3 valorile Q pentru tipurile A ºi C ar fi nenule, deoarece agentul ar putea gãsi aceste tipuri mutându-se de pe server3 pe server4. Mai întâi, s-a ales = 0.2. Dupã o epocã de învãþare, matricea Q a unui agent avea valorile din tabelul 9.18, cu parametrii descriºi în paragraful 3.5.2. Se poate vedea cã dupã doar o epocã de învãþare, matricea Q aratã conexiunile inexistente dintre servere drept valori negative. Pe mãsurã ce antrenarea progreseazã, matricea tinde sã indice valori apropiate de distribuþia tipurilor de entitãþi de cunoaºtere. Este important de subliniat faptul cã un agent are doar o viziune localã, parþialã, a sistemului, care depinde de sarcinile specifice pe care trebuie sã le îndeplineascã. De aceea, este posibil ca agenþii sã nu ajungã sã aibã niciodatã o descriere completã a mediului de execuþie. De exemplu, server3 are doar cunoºtinþe de tip B; totuºi, dacã sarcinile agentului nu includ acest tip, el nu va primi niciodatã o recompensã pe server3 ºi deci nu va reuºi sã modeleze distribuþia domeniului de cunoºtinþe de pe acest server. Tabelul 9.18. Matricea Q a unui agent dupã o epocã de antrenare cu = 0.2 Q[1,A,1] = 0.123 Q[1,B,1] = 0.046 Q[1,C,1] = 0.316 Q[2,A,1] = 0.098 Q[2,B,1] = 0.046 Q[2,C,1] = 0.296 Q[3,A,1] = -8.482 Q[3,B,1] = -8.309 Q[3,C,1] = -8.404 Q[4,A,1] = 0.123 Q[4,B,1] = 0.286 Q[4,C,1] = 0.316 Q[5,A,1] = 0.123 Q[5,B,1] = 0.000 Q[5,C,1] = 0.303
Q[1,A,2] = 0.106 Q[1,B,2] = 0.153 Q[1,C,2] = 0.254 Q[2,A,2] = 0.090 Q[2,B,2] = 0.153 Q[2,C,2] = 0.232 Q[3,A,2] = 0.106 Q[3,B,2] = 0.326 Q[3,C,2] = 0.241 Q[4,A,2] = 0.106 Q[4,B,2] = 0.326 Q[4,C,2] = 0.254 Q[5,A,2] = -8.504 Q[5,B,2] = -8.493 Q[5,C,2] = -8.459
Q[1,A,3] = -32.542 Q[1,B,3] = -32.766 Q[1,C,3] = -32.414 Q[2,A,3] = -85.146 Q[2,B,3] = -84.963 Q[2,C,3] = -85.019 Q[3,A,3] = 0.200 Q[3,B,3] = 1.255 Q[3,C,3] = 0.335 Q[4,A,3] = 0.200 Q[4,B,3] = 1.255 Q[4,C,3] = 0.338 Q[5,A,3] = -86.450 Q[5,B,3] = -86.554 Q[5,C,3] = -86.387
Q[1,A,4] = 0.310 Q[1,B,4] = 0.006 Q[1,C,4] = 0.405 Q[2,A,4] = 0.248 Q[2,B,4] = 0.006 Q[2,C,4] = 0.351 Q[3,A,4] = 0.310 Q[3,B,4] = 0.266 Q[3,C,4] = 0.404 Q[4,A,4] = 0.310 Q[4,B,4] = 0.266 Q[4,C,4] = 0.405 Q[5,A,4] = 0.310 Q[5,B,4] = 0.000 Q[5,C,4] = 0.344
Q[1,A,5] = 0.189 Q[1,B,5] = 0.011 Q[1,C,5] = 0.410 Q[2,A,5] = -63.430 Q[2,B,5] = -63.438 Q[2,C,5] = -63.379 Q[3,A,5] = -13.278 Q[3,B,5] = -13.101 Q[3,C,5] = -13.153 Q[4,A,5] = 0.189 Q[4,B,5] = 0.330 Q[4,C,5] = 0.410 Q[5,A,5] = 0.189 Q[5,B,5] = 0.000 Q[5,C,5] = 0.360
În situaþia studiatã, dupã 5 epoci de antrenare, agentul poate gãsi relaþii precum: Conexiune inexistentã între server5 ºi server2: Q[5,*,2] = -94.312; Domenii de cunoºtinþe pe server3: Q[*,A,3] = 1.274, Q[*,B,3] = 5.314, Q[*,C,3] = 2.344; Domenii de cunoºtinþe pe server1: Q[*,A,1] = 1.967, Q[*,B,1] = 0.377, Q[*,C,1] = 8.236. Valorile de mai sus sunt mediile pentru toate tipurile (în cazul detectãrii prezenþei unei conexiuni) ºi pentru toate serverele (în cazul 241 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
învãþãrii distribuþiei tipurilor de entitãþi de cunoaºtere). Distribuþia tipurilor de entitãþi de cunoaºtere este mediatã doar pentru valorile pozitive, când agentul se poate muta efectiv pe serverul respectiv din locaþia sa curentã. Se poate observa influenþa factorului de reducere nenul, deoarece apar valori diferite de zero chiar ºi pentru tipuri de cunoºtinþe care nu sunt prezente pe serverele considerate. Valorile nu reflectã procentajele absolute, ci au o naturã subiectivã, parþialã ºi ordinalã a distribuþiei cunoºtinþelor. Totuºi, utilitatea lor apare din faptul cã îi dau agentului posibilitatea de a alege serverul þintã cu recompensa potenþialã maximã în faza de exploatare când numai ordinea recompenselor potenþiale ale destinaþiilor este importantã pentru el. Într-un al doilea experiment, factorul de reducere a fost setat la 0. De asemenea, s-a permis agenþilor sã execute sarcini diferite reþinându-ºi valorile Q între sarcini. Dupã trei epoci de antrenare, matricea Q a unui agent a fost cea prezentatã în tabelul 9.19. Tabelul 9.19. Matricea Q a unui agent dupã trei epoci de antrenare cu = 0 Q[1,A,1] = 0.447 Q[1,B,1] = 0.000 Q[1,C,1] = 0.146 Q[2,A,1] = 0.447 Q[2,B,1] = 0.000 Q[2,C,1] = 0.146 Q[3,A,1] = -79.931 Q[3,B,1] = -80.020 Q[3,C,1] = -79.992 Q[4,A,1] = 0.447 Q[4,B,1] = 0.000 Q[4,C,1] = 0.146 Q[5,A,1] = 0.447 Q[5,B,1] = 0.000 Q[5,C,1] = 0.146
Q[1,A,2] = 0.134 Q[1,B,2] = 0.218 Q[1,C,2] = 0.000 Q[2,A,2] = 0.134 Q[2,B,2] = 0.218 Q[2,C,2] = 0.000 Q[3,A,2] = -0.244 Q[3,B,2] = -0.160 Q[3,C,2] = -0.378 Q[4,A,2] = 0.134 Q[4,B,2] = 0.218 Q[4,C,2] = 0.000 Q[5,A,2] = -8.219 Q[5,B,2] = -8.096 Q[5,C,2] = -8.265
Q[1,A,3] = -1.439 Q[1,B,3] = 1.620 Q[1,C,3] = -1.439 Q[2,A,3] = -1.433 Q[2,B,3] = 1.626 Q[2,C,3] = -1.433 Q[3,A,3] = 0.000 Q[3,B,3] = 3.092 Q[3,C,3] = 0.000 Q[4,A,3] = 0.000 Q[4,B,3] = 3.092 Q[4,C,3] = 0.000 Q[5,A,3] = -1.420 Q[5,B,3] = 1.639 Q[5,C,3] = -1.420
Q[1,A,4] = 0.039 Q[1,B,4] = 0.000 Q[1,C,4] = 0.000 Q[2,A,4] = 0.039 Q[2,B,4] = 0.000 Q[2,C,4] = 0.000 Q[3,A,4] = 0.039 Q[3,B,4] = 0.000 Q[3,C,4] = 0.000 Q[4,A,4] = 0.039 Q[4,B,4] = 0.000 Q[4,C,4] = 0.000 Q[5,A,4] = 0.039 Q[5,B,4] = 0.000 Q[5,C,4] = 0.000
Q[1,A,5] = 2.756 Q[1,B,5] = 0.000 Q[1,C,5] = 1.892 Q[2,A,5] = -24.070 Q[2,B,5] = -26.008 Q[2,C,5] = -24.783 Q[3,A,5] = -95.185 Q[3,B,5] = -95.361 Q[3,C,5] = -95.269 Q[4,A,5] = 2.756 Q[4,B,5] = 0.000 Q[4,C,5] = 1.892 Q[5,A,5] = 2.756 Q[5,B,5] = 0.000 Q[5,C,5] = 1.892
Se poate observa cã matricea indicã modelul de conectare a serverelor ºi reþine o reprezentare mai precisã a distribuþiei domeniilor de cunoºtinþe. 9.5.2 Problema labirintului Pentru problema labirintului (Leon, Zaharia & Gâlea, 2004a), mulþimea de acþiuni posibile este: A {nord , est , sud , vest} ,
(9.6)
iar mulþimea stãrilor: 242 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
S sij , 1 i inaltime,1 j latime ,
sij {liber , obstacol , start , stop} .
(9.7) (9.8)
Recompensele utilizate sunt: 100 pentru atingerea stãrii scop; –100 pentru încercarea de a se muta într-o stare obstacol; 0 pentru mutarea într-o altã stare liberã. Într-o primã abordare, nu s-au pus constrângeri asupra miºcãrilor agentului. Astfel, el se putea muta într-o stare obstacol, aceasta s-ar fi considerat o stare terminalã ºi algoritmul s-ar fi restartat într-un nou episod de învãþare. Totuºi, pentru a accelera învãþarea, s-a decis ca agentul sã primeascã o penalizare de –100 pentru mutarea într-o stare obstacol, dar sã îºi pãstreze poziþia anterioarã. Aceastã abordare este mai realistã considerând situaþia în care un robot se miºcã printr-un labirint fizic. Când atinge un zid, nu este obligatoriu sã se defecteze pentru ca învãþarea sã fie reluatã de la început. S-a ales o ratã iniþialã de explorare 0 {0.8, 0.9, 1} ºi s-au efectuat mai multe teste de performanþã. Când agentul gãseºte o soluþie, rata scade cu 0.05, totuºi nu scade sub 0.1 (dacã dupã mai multe episoade funcþia Q nu a convers, agentul trebuie sã mai aibã ºansa de a gãsi soluþia prin explorare). S-au considerat douã situaþii: în prima, agentul aplicã pur ºi simplu Q-learning; în cea de a doua, el marcheazã stãrile vizitate ºi primeºte o penalizare de –10 dacã se întoarce din nou într-o stare deja vizitatã. Astfel, este descurajat sã intre în bucle. Performanþa agentului este datã de numãrul de episoade de antrenare în care învaþã calea. Trebuie menþionat faptul cã învãþarea cãii nu este acelaºi lucru cu gãsirea cãii. Agentul va gãsi calea de multe ori, însã importantã este ajustarea valorilor Q astfel încât sã poatã gãsi soluþia într-un singur episod, bazându-se numai pe acestea.
Figura 9.28. Calea într-un labirint simplu cu soluþie unicã
243 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 9.29. Calea într-un labirint complex cu soluþie unicã
Figura 9.30. Cãi posibile într-un labirint complex cu soluþii multiple
244 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Algoritmul a fost testat pe trei labirinturi: unul simplu (11x11) cu o singurã soluþie posibilã, unul mai complex (25x25) tot cu o singurã soluþie ºi încã unul complex (19x30), care permite soluþii multiple (figurile 9.28, 9.29, respectiv 9.30). S-a mãsurat numãrul de episoade de învãþare ºi numãrul total de paºi necesari pentru atingerea soluþiei. Datele au fost prelucrate statistic, calculându-se media ºi deviaþia standard. Tabelul 9.20 prezintã rezultatele pentru diferite valori ale ratei iniþiale de explorare 0 , obþinute dupã 20 de epoci de învãþare. Tabelul 9.20. Performanþele algoritmului Q-learning cu diferite rate iniþiale de explorare, în prezenþa ºi absenþa marcajelor de stare Labirint
Marcaje Nu
simplu (11x11) soluþie unicã Da
Nu complex (25x25) soluþie unicã
Da
Nu complex (19x30) soluþii multiple Da
å0 1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 1 0.9 0.8
mepisodes 9.1 13.15 17.75 8.9 8.25 9.85 18.55 191.8 295.65 >1000 12.6 13.45 43.7 99.55 151.3 101.3 68.8 59
óepisodes 3.375 4.028 7.569 4.625 2.385 2.475 4.717 26.658 37.936 4.363 3.263 10.194 22.675 34.134 51.424 23.134 18.501
mtotalsteps 19727 13516 14814 21671 8830 5907 1368121 749443 779560 ~73900000 106253 57640 138489 106341 98464 329483 74729 41541
ótotalsteps 5880 3067 6134 9627 2203 1573 285868 60625 137781 30783 14753 26510 16196 15771 169084 19438 8003
Trebuie notat cã în ambele cazuri, rate iniþialã de explorare are o influenþã mare asupra numãrului de episoade de învãþare. Când agentul nu-ºi aminteºte stãrile vizitate, învãþarea este cea mai rapidã când 0 este 1 (figura 9.31). Totuºi, numãrul de paºi din fiecare episod de învãþare este mai mare când 0 este mai mare. Dacã agentul are un comportament condus doar de explorare, el acþioneazã într-o manierã aleatorie ºi deci numãrul de stãri prin care trece este mai mare. Când 0 este mai mic, avem un numãr mai mare de episoade de învãþare, dar în fiecare episod agentul gãseºte soluþia mai repede, deoarece se bazeazã mai mult pe cunoºtinþele „reale” (figura 9.32) . 245 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
Figura 9.31. Numãrul de paºi pe episod de învãþare pentru un labirint simplu cu soluþie unicã, fãrã marcaje de stare ºi ratã iniþialã de explorare 0 = 1
Figura 9.32. Numãrul de paºi pe episod de învãþare pentru un labirint simplu cu soluþie unicã, fãrã marcaje de stare ºi ratã iniþialã de explorare 0 = 0.9
Figura 9.33. Numãrul de paºi pe episod de învãþare pentru un labirint complex cu soluþie unicã, fãrã marcaje de stare ºi ratã iniþialã de explorare 0 = 0.9
246 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
Dupã fiecare episod de învãþare reuºit, rata de explorare este micºoratã ºi agentul începe sã-ºi foloseascã informaþiile dobândite anterior, deci numãrul de paºi pentru atingerea soluþiei în fiecare episod de învãþare se diminueazã gradat (figura 9.33). Mai existã încã impulsuri, deoarece rata de explorare nu este niciodatã nulã iar o decizie aleatorie într-o stare cheie (de exemplu o bifurcaþie unde o cale duce spre soluþie iar alta într-o fundãturã) poate influenþa rezultatul procesului de învãþare. Un alt fenomen apare când agentul marcheazã stãrile ºi primeºte o penalizare pentru revenirea într-o stare deja vizitatã. În acest caz, cele mai bune performanþe sunt obþinute cu 0 0.9 , ºi nu cu 0 1 (figura 9.34).
Figura 9.34. Numãrul de paºi pe episod de învãþare pentru un labirint complex cu soluþii multiple, cu marcaje de stare ºi ratã iniþialã de explorare 0 = 0.8
Caracterul aleatoriu într-o mai mare mãsurã a procesului de învãþare impieteazã asupra performanþelor agentului, deoarece existã mai multe ºanse ca agentul sã se întoarcã într-o stare marcatã. Agentul îºi modificã valorile Q ºi încearcã sã evite starea respectivã, deºi aceasta ar putea fi o stare utilã. Cu o ratã iniþialã de explorare subunitarã, algoritmul are performanþe mai bune decât în cazul simplu. De asemenea, când 0 0.9 , numãrul paºilor pe episod este de obicei mai mic decât în situaþia fãrã marcaje. Dupã ce s-a demonstrat cã agentul învaþã mai repede dacã foloseºte marcaje de stare cu o ratã iniþialã de explorare de 0.9, se va analiza influenþa ratei de învãþare ç ºi a factorului de reducere asupra eficienþei cu care este învãþatã calea. Tabelul 9.21 prezintã rezultatele pentru valori diferite ale lui ç ºi , obþinute dupã 20 de epoci de învãþare.
247 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive Tabelul 9.21. Performanþele algoritmului Q-learning cu marcaje de stare pentru diferite valori ale ratei de învãþare ºi factorului de reducere Labirint
ç
0.1 simplu (11x11) soluþie unicã
0.5
0.9
0.1 complex (25x25) soluþie unicã
0.5
0.9
0.1 complex (19x30) soluþii multiple
0.5
0.9
ã 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9 0.1 0.5 0.9
mepisodes 7.6 8.15 12.8 5.5 5.7 6.95 13.55 21.8 6.05 20.95 14.95 47.15 >1000 >1000 >1000 >1000 >1000 >1000 71.7 70.4 78.15 >1000 >1000 46.8 >1000 >1000 391.7
óepisodes 2.458 2.574 4.082 2.674 2.61 1.658 13.204 17.882 1.687 7.074 4.189 16.135
19.662 32.469 19.764
9.026
385.956
mtotalsteps 14780 8374 9368 6272 4124 4292 11861 15513 4042 369139 131756 183783 ~5500000 ~8300000 ~4500000 ~18300000 ~12800000 ~8100000 78764 73511 78814 ~1400000 ~1200000 46736 ~1600000 ~1400000 319561
ótotalsteps 6048 2797 2284 2734 1230 724 12152 12753 1139 147502 50757 32608
19135 26015 13126
6517
306239
Deºi pentru probleme simple o ratã de învãþare medie este satisfãcãtoare, în general o ratã de învãþare mai micã produce rezultate mai bune. Dacã ç este mare, valoarea curentã a lui Q(s,a) devine mai puþin importantã iar valoarea urmãtoare este determinatã în principal de recompensã ºi starea urmãtoare: r max Q ( s ' , a ' ) . Când labirintul este a 'A
simplu, un factor de reducere mare produce rezultate mai bune, dar în labirinturi complexe, pentru rate de învãþare mici, se preferã o valoare medie. Figura 9.35 aratã schimbãrile de performanþã pentru un labirint simplu (11x11) cu soluþie unicã, atunci când rata de învãþare este constantã (0.1) iar factorul de reducere variazã. Se poate observa cã numãrul de episoade de învãþare este mai mic atunci când factorul de reducere este mic, 248 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental
adicã agentul se concentreazã asupra recompensei imediate. Totuºi, dupã cum s-a arãtat, numãrul total de paºi pentru gãsirea soluþiei are o tendinþã opusã.
Figura 9.35. a) Numãrul de episoade când ç = 0.1 ºi ã variazã b) Numãrul total de paºi când ç = 0.1 ºi ã variazã
Figura 9.36 indicã schimbãrile de performanþã pentru acelaºi labirint, de aceastã datã menþinând factorul de reducere constant (0.5) ºi variind rata de învãþare. În acest caz, atât numãrul de episoade cât ºi numãrul total de paºi pentru gãsirea soluþiei sunt minime când rata de învãþare este medie.
Figura 9.36. a) Numãrul de episoade când ã = 0.5 ºi ç variazã b) Numãrul total de paºi când ã = 0.5 ºi ç variazã
O abordare clasicã pentru determinarea cãii de cost minim este A* (Hart, Nilsson & Raphael, 1968), un algoritm de cãutare off-line care calculeazã întreaga cale pânã la soluþie înainte de a executa primul pas de pe cale. Totuºi, într-un sistem multiagent nu este întotdeauna posibilã 249 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
efectuarea de calcule locale pentru toate nodurile, din cauza limitãrilor de timp. Algoritmul LRTA* (Korf, 1990) rezolvã aceastã problemã impunând ca agentul sã efectueze calcule numai pentru nodurile vecine. S-a demonstrat cã prin iteraþii multiple rezultatul converge în final cãtre soluþia optimã. Agentul trebuie sã estimeze distanþa cãtre scop h(i) pentru fiecare nod i vizitat. Algoritmul LRTA* este prezentat mai jos (Yokoo & Ishida, 2000): Look-ahead: calculate f(j) k(i, j) h(j) for each neighbor j of the current node i, where h(j) is the current estimate of the shortest distance from j to the goal node, and k(i,j) is the link cost from i to j Update the estimate of node i: h(i) min f(j) j
Action selection: move to the neighbor j that has the minimum f(j) value (ties are broken randomly)
Deoarece agentul determinã acþiunea urmãtoare în timp constant, LRTA* este considerat un algoritm de timp real, on-line. El actualizeazã estimãrile cu cea mai bunã valoare de pânã la un anumit moment pentru a nu supraestima costul real. De aceea, valoarea iniþialã a lui h(i) trebuie sã fie optimistã, adicã sã nu supraestimeze niciodatã valoarea realã. S-a demonstrat (Cakir & Polat, 2002) cã metodele de cãutare de timp real sunt metode sub-optime puternice care pot depãºi metodele de cãutare off-line din punctul de vedere al timpului total de execuþie. S-a utilizat LRTA* pentru gãsirea soluþiilor pentru labirinturile propuse. S-au mãsurat numãrul de paºi pe episod de învãþare ºi numãrul total de paºi în care agentul gãseºte soluþia. Rezultatele sunt prezentate în tabelul 9.22. Este evident cã LRTA* are performanþe mai bune decât Q-learning pentru aceste probleme de gãsire a cãii. LRTA* este un algoritm special proiectat pentru acest tip de probleme, pe când tehnicile de învãþare cu întãrire sunt metode generale de învãþare. Considerând acum algoritmul propus în paragraful 8.5.3, tabelul 9.23 precizeazã rezultatele învãþãrii cu diferite rate de consecvenþã, dupã 100 de epoci de antrenare.
250 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Studiu experimental Tabelul 9.22. Performanþele algoritmului LRTA* pentru problemele considerate Labirint simplu (11x11) soluþie unicã complex (25x25) soluþie unicã complex (19x30) soluþii multiple
mepisodes
óepisodes
msteps/ep
ósteps/ep
mtotalsteps
ótotalsteps
15.3
0.461
47.111
23.428
720.8
7.369
111.2
0.402
213.439
87.273
23734.4
45.026
96.6
23.02
77.172
81.232
7454.8
951.227
Este clar cã în cazul unui labirint cu soluþie unicã, unde calea este foarte strictã, rata de consecvenþã nu este importantã. Agentul va fi constrâns de structura labirintului ºi singurele decizii pe care le poate lua se referã la punctele de ramificaþie. Pentru labirinturi complexe, cu soluþii multiple, dacã rata de consecvenþã este mare, numãrul total de paºi pentru gãsirea soluþiei este mai mic, deoarece agentul va acþiona mai puþin într-o manierã aleatorie, crescându-ºi deci ºansele sã descopere mai repede soluþia. Tabelul 9.23. Performanþele algoritmului gradienþilor marcajelor de stare pentru diferite rate de consecvenþã Labirint simplu (11x11) soluþie unicã
complex (25x25) soluþie unicã
complex (19x30) soluþii multiple
Ratã de consecvenþã 0.9 0.8 0.5 0.1 0.9 0.8 0.5 0.1 0.9 0.8 0.5 0.1
mepisodes
óepisodes
mtotalsteps
ótotalsteps
1 1 1 1 1 1 1 1 2.9 3.25 4.25 6.36
0 0 0 0 0 0 0 0 2.385 2.875 3.708 5.572
68.8 58.8 50.6 50.32 260.4 261.6 237.2 242.48 614.56 612.76 637.92 811.28
13.717 22.454 21.514 23.981 80.039 87.447 76.578 86.238 505.517 462.663 450.715 544.777
Algoritmul propus se dovedeºte mai eficient decât Q-learning ºi LRTA*, deoarece descoperã soluþia în mult mai puþine episoade de antrenare (un singur episod dacã nu sunt permise bucle în labirint). De asemenea, numãrul de paºi în care agentul atinge nodul scop este aproximativ de zece ori mai mic decât numãrul de paºi necesari algoritmului LRTA*!
251 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
9.6 Concluzii S-a arãtat cã algoritmul NNGEP are rate de eroare mai mici decât clasificatorii cu care s-a realizat comparaþia ºi de asemenea metricile pentru distanþã bazate pe rezultatele din psihologia cognitivã asigurã toleranþã la zgomotele din date, astfel încât este posibilã situaþia ca rata de eroare de la predicþie sã fie de aproximativ cinci ori mai micã decât rata erorilor de clasificare din setul de antrenare. S-a efectuat apoi o analizã a modelului de raþionament simbolic deductiv pe infrastructurã conexionistã, studiindu-se comportamentul acestuia în cazul raþionamentelor circulare ºi a relaþiilor dintre concepte exprimate într-un limbaj cvasinatural, evidenþiindu-se posibilitatea de învãþare a relaþiilor deduse prin crearea ºi întãrirea ponderilor dintre concepte. În continuare, s-a efectuat un studiu detaliat asupra performanþelor sistemului distribuit de agenþi inteligenþi mobili, arãtându-se influenþa asupra comportamentului global a schimbãrii unor parametri precum modelarea bazelor de cunoºtinþe de pe servere, cooperarea între agenþi, cozile de prioritate de pe servere ºi gãsirea dinamicã a cãii în reþea prin metode de învãþare cu întãrire. În cazul general al gãsirii drumului într-un labirint, s-a propus un algoritm bazat pe detectarea gradienþilor marcajelor de stare, care rezolvã problema mult mai repede decât algoritmi precum Q-learning ºi de zece ori mai eficient chiar decât algoritmi dedicaþi precum LRTA*.
252 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
BIBLIOGRAFIE
[1] Abraham, A. (2001). Beyond Neuro-Fuzzy Systems: Reviews, Architectures, Perspectives and Directions, MENDEL 2001, 7th International Mendel Conference on Soft Computing, Brno, Czech Republic. [2] Aflori, C., Leon, F. (2004). Efficient Distributed Data Mining using Intelligent Agents, in Proceedings of the Eighth International Symposium on Automatic Control and Computer Science, Iaºi. [3] Agrawal, R., Srikant, R. (1994). Fast Algorithms for Mining Association Rules, Proc. 20th Int. Conf. Very Large Data Bases, VLDB. [4] Aha, D. (1992). Tolerating noisy, irrelevant and novel attributes in instance-based learning algorithms, International Journal of ManMachine Studies, 36: 267-287. [5] Aisbett, J., Gibbon, G. (2001). A general formulation of conceptual spaces as a meso level representation, Elsevier, Artificial Intelligence 133, 189–232. [6] Almeida, L. B. (1997). Multilayer perceptrons, in Handbook of Neural Computation, IOP Publishing Ltd and Oxford University Press. [7] Anderson, J. R. (1983). The Architecture of Cognition, Harvard University Press, Cambridge, MA. [8] Årzén, K. E. (2003). Real-Time Systems, Lund Institute of Technology, Suedia, http://www.control.lth.se/~kurstr/L9_01_slides8.pdf. [9] Ascoli, G. (2001). Physiological Psychology, http://www.krasnow. gmu.edu/ascoli/Teaching/Psyc372_01/Cla1.html. [10] Ashby, F. G., Alfonso-Reese, L. L., Turken, A. U., Waldron, E. M. (1998). A Neuropsychological theory of multiple systems in category learning, Psychological Review, 105, 442-482. [11] Ashby, F. G., Maddox, W. T. (1993). Relations between prototype, exemplar, and decision-bound models of categorization, Journal of Mathematical Psychology, 37, 372–400. [12] Austin, J. (1962). How to do things with words, Harvard University Press. [13] Azvine, B., Azarmi, N., Tsui, K. C. (1996). Soft computing - a tool for building intelligent systems, BT Technology Journal, vol. 14, no.4. 253 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [14] Bach, K. (2004). Speech Acts in Routledge Encyclopedia of Philosophy, http://userwww.sfsu.edu/~kbach/ spchacts.html. [15] Barbuceanu, M., Fox, M. S. (1995). COOL: A Language for Describing Coordination in Multi Agent Systems, Proceedings of the First International Conference of Multi-Agent Systems. [16] Bayes, Rev. T. (1763). An Essay Toward Solving a Problem in the Doctrine of Chances, Philos. Trans. R. Soc. London 53, pp. 370-418. [17] Baylor, A. (1999). Intelligent agents as cognitive tools for education, Educational Technology, Volume XXXIX (2), 36-41. [18] Bergmann, K. (1998). Ansätze von Rodney Brooks, Subsumption Architecture, Seminar Lernalgorithmen in der Robotik, http://www.cis.tugraz.at/igi/STIB/WS98/Bergmann/ einleitung.htm. [19] Bowling, M., Veloso, M. M. (2000). An Analysis of Stochastic Game Theory for Multiagent Reinforcement Learning, Technical Report CMU-CS-00-165, Computer Science Department, Carnegie Mellon University. [20] Bratman, M., Israel, D., Pollack, M. (1988). Plans and ResourceBounded Practical Reasoning, Computational Intelligence, 4, 349-355. [21] Breiman, L. (2001). Random Forests, Machine Learning, 45 (1):5-32. [22] Brooks, R. A. (1986). A Robust Layered Control System For A Mobile Robot, IEEE Journal Of Robotics And Automation, RA-2, 14-23. [23] Brooks, R. A. (1991a). Intelligence without Reason, Proceedings of the Twelfth International Joint Conference on Artificial Intelligence (IJCAI-91), 569-595, Sydney, Australia. [24] Brooks, R. A. (1991b). Intelligence without Representation, Artificial Intelligence, 47: 139-159. [25] Broomhead, D. S., Lowe, D. (1988). Multivariable functional interpolation and adaptive networks, Complex Syst. 2, 321–55. [26] Brudaru, O., Leon, F., Buzatu, O. (2004). Genetic Algorithm for Solving Fuzzy Equations, in Proceedings of the 8th International Symposium on Automatic Control and Computer Science, Iaºi. [27] Bruner, J. S., Goodnow, J. J., Austin, G. A. (1956). A study of thinking, New York, Wiley. [28] Bryson, A. E., Ho, Y. C. (1969). Applied Optimal Control, Blaisdell, New York. [29] Buiu, C. (1999). Distributed Artificial Intelligence, http://www.cl.inf. tu-dresden.de/compulog/lectures/winter99/lpisa/mod_1_07.html. [30] Bulea, M. (1997). Structuri ºi algoritmi paraleli pentru prelucrarea imaginilor ºi recunoaºterea formelor, Tezã de doctorat, Universitatea Tehnicã „Gh. Asachi” Iaºi, Facultatea de Automaticã ºi Calculatoare. 254 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[31] Caglayan, A., Harrison, C. G. (1997). Agent Sourcebook: Commercial Agent Software, Wiley & Sons Computer Publishing. [32] Cakir, A., Polat, F. (2002). Coordination of intelligent agents in realtime search, Expert Systems, Vol. 19, No.2. [33] CarsonMedia, Inc. (2003). Why Use eLearning?, http://www.carsonmedia.com/pages/elearning/whyElearning.htm. [34] Casas Pardo, J., Montoro-Pons, J. D. (2000). Cooperative Behavior In The Prisoner Dilemma: The Role Of Rules In Institutions, http://www.ucm.es/info/iudem/casas.DT00-3.pdf. [35] Castelfranchi, C. (1995). Commitments: From Individual Intentions to Groups and Organizations, In Proceedings of the First International Conference on Multi-Agent Systems, 41-48, Menlo Park, California, AAAI Press. [36] Castelfranchi, C. (2001). The theory of social functions: challenges for computational social science and multi-agent learning, Journal of Cognitive Systems Research 2, 5-38, http://www.cecs.missouri.edu/ ~rsun/si-mal/article1.pdf. [37] Cohen, P., Levesque, H. (1990). Intention is Choice with Commitment, Artificial Intelligence, 42. [38] Cohen, W. W. (1995). Fast effective rule induction, in Proc. Of the 12th International Conference on Machine Learning, pp. 115-123, Morgan Kaufmann. [39] Conte, R. (2001). Emergent (info)institutions, Journal of Cognitive Systems Research 2, 97-110. [40] Curteanu, S., Leon, F., Gâlea, D. (2003). Neural Network Models for Free Radical Polymerization of Methyl Methacrylate, Eurasian Chemico-Technological Journal, volume 5, number 3, pp. 225-231, http://eurasianchemtech.vub.ac.be/contents/2003v5n3.html. [41] Curteanu, S., Petrila, C., Ungureanu, ª., Leon, F. (2003). Genetic Algorithms and Neural Networks Used in Optimization of a Radical Polymerization Process, Buletinul Universitãþii Petrol-Gaze din Ploieºti, vol. LV, seria tehnicã, nr. 2/2003, pp. 85-93. [42] Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function, Math. Control, Signal Syst. 2 303–14. [43] Decker, K. S. (1987). Distributed problem solving: A survey, IEEE Transactions on Systems, Man, and Cybernetics, 17(5):729-740. [44] Dimitriu, G. (2001). Sisteme informatice geografice GIS, Editura Albastrã, Cluj-Napoca. [45] do Carmo Nicoletti, M., Santos, M. O. (1996). A Fuzzified Nested Generalized Exemplar Theory, Universidade Federal de São Carlos, 255 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive
[46] [47]
[48] [49] [50] [51]
[52]
[53]
[54] [55] [56]
[57] [58] [59] [60]
Departamento de Computação, http://www.dc.ufscar.br/~carmo/ relatorios/Alemanha.ps. Doyle, P. (2000). AI Qual Summary: Learning, http://www-csstudents.stanford.edu/~pdoyle/ quail/notes/pdoyle/learning.html. Dubois, D., Prade, H. (1987). Fuzzy numbers: an overview, in: J. Bezdek (ed.), Analysis of Fuzzy Information, CRC Press, Boca Raton, FL, pp. 112-148. Duda, R. O., Hart, P. E. (1973). Pattern Classification and Scene Analysis, John Wiley & Sons, p. 218. Dumitrescu D. (1999). Principiile inteligenþei artificiale, Ed. Albastrã, Cluj-Napoca. Dumitrescu, D., Costin, H. (1996). Reþele neuronale, Teorie ºi aplicaþii, Ed. Teora, Bucureºti. Durfee, E. H., Lesser, V. R., Corkill, D. D. (1987). Coherent Cooperation among Communicating Problem Solvers, IEEE Transactions on Computers, C-36(11):1275-1291. Erickson, M. A., Kruschke, J. K. (1998). Rules and exemplars in category learning, Journal of Experimental Psychology: General, 127, 107-140. Ester, M., Frommelt, A., Kriegel, H. P., Sander, J. (1999). Spatial Data Mining: Database Primitives, Algorithms and Efficient DBMS Support, Integration of Data Mining with Database Technology, Data Mining and Knowledge Discovery, an International Journal, Kluwer Academic Publishers. European Commission (2002). Sixth Framework Programme (20022006), http://europa.eu.int/comm/ research/fp6/index_en.html. Ferber, J. (1995). Les systèmes multi-agents – vers une intelligence collective, InterEditions, Paris. Finin, T., Labrou, Y., Mayfield, J. (2003). A Brief Introduction to the Knowledge Interchange Format, http://www.cs.umbc.edu/kse/kif/ kif101.shtml. Fisher, B. (2002). Mahalanobis Distance, http://homepages.inf.ed.ac.uk/ rbf/CVonline/LOCAL_COPIES/FISHER/MAHAL/mahal.htm. Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems, Annual Eugenics, 7, Part II, 179-188. Florea, A. M. (2002). Multi-Agent Systems , Lecture 8: MAS Learning, Computer Science WPI http://www.cs.wpi.edu/~cs525m/s02/Lec8.pdf. Frank, E., Witten, I. H. (1998). Generating Accurate Rule Sets Without Global Optimization, in Shavlik, J. (ed.), Machine Learning: 256
Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[61]
[62] [63] [64] [65]
[66]
[67] [68]
[69]
[70]
[71] [72]
Proceedings of the Fifteenth International Conference, Morgan Kaufmann Publishers, San Francisco, CA. Franklin, S., Graesser, A. (1996). Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents, Proceedings of the Workshop on Intelligent Agents III, Agent Theories, Architectures, and Languages pp. 21-35. Fudenberg, D., Kreps, D. (1990). Lectures on learning and equilibrium in strategic-form games, Technical report, CORE Lecture Series. Fullér, R. (1995). Neural Fuzzy Systems, Åbo Akademis tryckeri, Åbo, Finland. Funahashi K. (1989). On the approximate realization of continuous mappings by neural networks, Neural Networks, 2:183-192. Gadomski, A. M., Fontana, F. (2001). Intelligent Agents in Distance Learning Systems, The UNINFO & eForm Meeting, Roma, http://erg4146.casaccia.enea.it/FAD-UNINF-5may01.pdf. Gâlea, D., Leon, F., Zaharia, M. H. (2003). E-learning Distributed Framework using Intelligent Agents, in M. Craus, D. Gâlea, A. Valachi (eds.) - New Trends in Computer Science and Engineering, Anniversary Volume, Department of Computer Engineering, Faculty of Automatic Control and Computer Engineering, Technical University "Gh. Asachi", Polirom Press, Iaºi, Romania, pp. 159-163. Gärdenfors, P. (2000). Conceptual Spaces: The Geometry of Thought, MIT Press, Cambridge, MA. Genesereth, M. R. (2001). Knowledge Interchange Format, Draft proposed American National Standard (dpANS), http://logic.stanford.edu/kif/dpans.html. Genesereth, M. R., Fikes, R. E. (1992). Knowledge Interchange Format, Version 3.0, Reference Manual, Technical Report Logic-92-1, Computer Science Department, Stanford University, http://logic.stanford.edu/sharing/papers/kif.ps. Georgeff, M. P., Lansky, A. L. (1987). Reactive Reasoning and Planning, In Proceedings of the Sixth National Conference on Artificial Intelligence, AAAI-87, 677-682. Georgiou, G. M. (1997). Single-layer networks, in Handbook of Neural Computation, IOP Publishing Ltd and Oxford University Press. Girosi, F. (1992). Some extensions of radial basis functions and their applications in artificial intelligence, Computers Math. Applic., 24(12):61-80.
257 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [73] Glossary of Medical Terms (2006). Medical School, Aristotle University of Thessaloniki, http://www.med.auth.gr/depts/forlang/eng/ Glossary_gr.htm. [74] Gmytrasiewicz, P. J., Durfee, E. H. (1995). A Rigorous, Operational Formalization of Recursive Modeling, in Proceedings of the First International Conference on Multi-Agent Systems, pp. 125-132. [75] Groden, M., Kreiswirth, M. (1997). Speech Acts in The Johns Hopkins Guide to Literary Theory and Criticism, The Johns Hopkins University Press, http://www.press.jhu.edu/books/hopkins_guide_to_literary_ theory/speech_acts.html. [76] Grumbach, A. (1994). Cognition artificielle. De réflexe à la réflexion, Éditions Addison-Wesley France. [77] Gudauskas, R. (2001). Information and knowledge management in the context of European Union research policy, Swedish-Lithuanian seminar on Information management research issues, University College of Borås, Sweden, http://www.infobalt.lt/docs/ Gudauskas.doc. [78] Hamilton, H., Gurak, E., Findlater, L., Olive, W. (2002). Knowledge Discovery in Databases, University of Regina, Canada, http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/c4.5 /tutorial.html. [79] Harrison, C. G., Chess, D. M., Kershenbaum, A. (1995). Mobile Agents: Are they a good idea?, IBM Research Report, T.J.Watson Research Center, NY. [80] Hart, P. E., Nilsson, N. J., Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths, IEEE Transactions on System Science and Cybernetics, 4, pp. 100-107. [81] Harvey I.: Untimed and Misrepresented: Connectionism and the Computer Metaphor, http://citeseer.nj.nec.com/harvey92untimed.html, 1992 [82] Hayashi, Y., Buckley, J. J. (1994). Approximations between fuzzy expert systems and neural networks, Int. J. Approx. Reas., vol. 10, pp. 63–73, 1994. [83] Hayes-Roth, B. (1995). An Architecture for Adaptive Intelligent Systems, Artificial Intelligence: Special Issue on Agents and Interactivity, 72, 329-365. [84] Haykin, S. (1994). Neural Networks: A Comprehensive Foundation, Macmillan/IEEE Press. [85] Hebb, D. O. (1949). The Organization of Behavior, Wiley & Sons, New York. 258 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[86] Hildard, E. R., Bower, G. H. (1975). Theories of Learning, PrenticeHall, Englewood Cliffs, New Jersey. [87] Hill, L. (2003). Implementing a Practical e-Learning System, http://www.lakeheadu.ca/~publications/agora/december2002/elearning .html. [88] Hintzman, D. L. (1986). “Schema abstraction” in a multiple-trace memory model, Psychological Review, 93, 411-428. [89] Holecy, M. (1997). Application of Neural-Fuzzy Systems in Financial Management, Technical University of Košice, Department of Cybernetics and Artificial Intelligence, http://neuron-ai.tuke.sk/cig/ source/publications/thesis/master_thesis/1997/holecy/html. [90] Holland, J. H. (1995). Hidden Order: How Adaptation Builds Complexity, Addison-Wesley. [91] Holland, O. E. (1996). Multiagent Systems: Lessons from Social Insects and Collective Robotics, In Adaptation, Coevolution and Learning in Multiagent Systems: Papers from the AAAI Spring Symposium, 57-62, Menlo Park,CA, AAAI Press. [92] Homa, D. (1984). On the nature of categories, Psychology of Learning and Motivation, 1 8, 49-94. [93] Huhns, M. N., Stephens, L. M. (2000). Multiagent Systems and Societies of Agents, in G. Weiß (ed.), Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence, The MIT Press, Cambridge, Massachusetts. [94] IC Tech, Inc. (2000). Fuzzy Control Methods and their Real System Applications, http://www.ic-tech.com/Fuzzy%20Logic. [95] Ishibuchi, H., Nii, M., Turksen, I. B. (1998). Bidirectional bridge between neural networks and linguistic knowledge: Linguistic rule extraction and learning from linguistic rules, in Proc. IEEE Int. Conf. Fuzzy Syst. FUZZ-IEEE’98, Anchorage, AK, USA, pp. 1112-1117. [96] Jafari, A. (2001). Conceptualizing Intelligent Agents For Teaching and Learning, School of Engineering and Technology, Indiana University Purdue University Indianapolis, http://www.cren.net/know/techtalk/ events/jafar.pdf. [97] Jang, J. S. R. (1993). ANFIS: Adaptive-network-based fuzzy inference system, IEEE Trans. Syst., Man, Cybern., vol. 23, no. 3, pp. 665-685. [98] Jang, J. S. R., Sum C. T., Mizutani, E. (1996). Neuro-fuzzy and Soft Computing, Pearson Higher Education. [99] Jang, J. S. R., Sun, C. T. (1993). Functional Equivalence between Radial Basis Function Networks and Fuzzy Inference Systems, IEEE Transactions on Neural Networks, 4, 1, 156-159. 259 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [100] Jin, Y., Sendhoff, B. (2003). Extracting Interpretable Fuzzy Rules from RBF Networks, Neural Processing Letters, 17(2), pp.149-164. [101] Johansen, M. K., Palmeri, T. J. (2002). Are there representational shifts during category learning?, Cognitive Psychology, 45, 482-553. [102] Joshi, K. P. (1997). Analysis of Data Mining Algorithms, http://userpages.umbc.edu/~kjoshi1/ data-mine/proj_rpt.htm. [103] Jutten, C. (1997). Supervised composite networks, in Handbook of Neural Computation, IOP Publishing Ltd and Oxford University Press. [104] Keil, F. C. (1989). Concepts, Kinds, and Cognitive Development, Cambridge, MA, MIT Press. [105] Kinny, D., Georgeff, M. P. (1991). Commitment and Effectiveness of Situated Agents, Proceedings of the Twelfth International Joint Conference on Artificial Intelligence, 82-88, Sydney, Australia. [106] Koçkesen, L., Ok, E. A. (2003). The Nash Equilibrium, http://www.columbia.edu/~lk290/ uglect2.pdf. [107] Kohonen, T. (1995). Self-Organizing Maps, Springer Verlag, Berlin. [108] Kononenko, I. (1994). Estimation Attributes: Analysis and Extensions of RELIEF, European Conference on Machine Learning, Catana, Italy, Springer-Verlag. [109] Korf, R. E. (1990). Real-time heuristic search, Artificial Intelligence, 42, pp. 189-211. [110] Korf, R. E. (1992). A Simple Solution to Pursuit Games, in Working Papers of the 11th International Workshop on Distributed Artificial Intelligence, 183-194. [111] Kosko, B. (1992). Neural Networks and Fuzzy Systems, Prentice Hall, Englewood Cliffs, NJ. [112] Kowalski, R., Sadri, F. (1997). An Agent Architecture that Unifies Rationality with Reactivity, Department of Computing, Imperial College, London, UK, http://citeseer.nj.nec.com/ kowalski97agent.html. [113] Krautwasser, S. (2002). Learning and Strategy in Multiagent Systems, Universität Mannheim, Germany, http://www.bwl.unimannheim.de/Heinzl/de/ downloads/Seminar/Krautwasser.pdf. [114] Kruschke, J. K. (1996). Dimensional Relevance Shifts in Category Learning, Connection Science, Vol. 8, No. 2, 225-247. [115] Kruschke, J.K. (1992). ALCOVE: An Exemplar-Based Connectionist Model of Category Learning, Psychological Review, Vol. 99, No. 1, 22-44. [116] Kruse, R., Gebhardt, J., Klawonn, F. (1994). Foundations of Fuzzy Systems, John Wiley & Sons, Chichester, England. 260 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[117] Kuhn, S. (2001). Prisoner's Dilemma, The Stanford Encyclopedia of Philosophy (Winter 2001 Edition), E. N. Zalta (ed.), http://plato.stanford.edu/archives/win2001/entries/prisoner-dilemma. [118] Laird, J. E., Newell, A., Rosenbloom, P. S. (1987). SOAR: An Architecture for General Intelligence, Artificial Intelligence, 33: 1-64. [119] Laird, J., Dexter, S., McKown, D., Rogers, S., Simpson, R., Walsh, W. (1994). Subsumption Architecture Background, http://ai.eecs.umich.edu/cogarch3/Brooks/Brooks_Background.html. [120] Lange, D. B. (2001). Mobile Objects and Mobile Agents: The Future of Distributed Computing?, General Magic, Inc., California, http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1445/ 14450001.pdf. [121] Lange, D. B., Oshima, M. (1999). Seven Good Reasons for Mobile Agents, Communications of the ACM, vol. 42, no. 3, pp. 88-89. [122] Langley, P., Thompson, K., Iba, W., Gennari, J., Allen, J. (1991). An Integrated Cognitive Architecture for Autonomous Agents, Technical report, Department of Information and Computer Science, University of California, Irvine, CA. [123] Lee, S. Y., Ham, Y. K., Park, P. H. (1996). Recognition of human front faces using knowledge-based feature extraction and neuro-fuzzy algorithm, Pattern Recognition, vol. 29, no. 11. [124] Leon F. (2005). Noi clase de agenþi inteligenþi cu capacitãþi cognitive, Tezã de doctorat, Universitatea Tehnicã „Gh. Asachi” Iaºi [125] Leon, F., Gâlea, D., Zaharia, M. H. (2002). Load Balancing In Distributed Systems Using Cognitive Behavioral Models, Bulletin of Technical University of Iaºi, tome XLVIII (LII), fasc. 1-4. [126] Leon, F., Gâlea, D., Zbancioc, M. (2002). Knowledge Representation Through Interactive Networks, in Proceedings of the European Conference on Intelligent Systems, Iaºi. [127] Leon, F., ªova, I., Gâlea, D. (2004). Reinforcement Learning Strategies for Intelligent Agents in Knowledge-Based Information Systems, in Proceedings of the Eighth International Symposium on Automatic Control and Computer Science, Iaºi. [128] Leon, F., Zaharia, M. H., Gâlea, D. (2003a). Agent-Based Framework with Optimized Knowledge Queries, Bulletin of Technical University of Iaºi, tome XLIX (LIII), fasc. 1-4, pp. 103-110. [129] Leon, F., Zaharia, M. H., Gâlea, D. (2003b). Cooperative Multiagent Framework for Knowledge Retrieval, Bulletin of Technical University of Iaºi, tome XLIX (LIII), fasc. 1-4, pp. 95-102.
261 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [130] Leon, F., Zaharia, M. H., Gâlea, D. (2004). A New Approach in Agent Path-Finding using State Mark Gradients, Computer Science Journal of Moldova, volume 12, number 3, pp. 406-423, Chiºinãu. [131] Leon, F., Zaharia, M. H., Gâlea, D. (2004). Performance Analysis of Categorization Algorithms, in Proceedings of the Eighth International Symposium on Automatic Control and Computer Science, Iaºi. [132] Lincoff, G. H., Knopf, A. A. (1981). The Audubon Society Field Guide to North American Mushrooms, pp. 500-525. [133] Logan, B. (1998). Classifying Agent Systems, in Software Tools for Developing Agents: Papers from the 1998 Workshop, J. Baxter and B. Logan Cochairs, Technical Report WS-98-10, AAAI Press, pp 11-21. [134] Love, B. C., Medin, D. L, Gureckis, T. M (2004). SUSTAIN: A Network Model of Category Learning, Psychological Review, 111, 309-332. [135] Lynch M.: NeuroDraughts, An Application of Temporal Difference Learning to Draughts, http://www.ai.univie.ac.at/~juffi/lig/Papers/ lynch-thesis.ps.gz [136] MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations, in Proc. 5th Berkeley Symposium, 1, pp. 281-297. [137] MacRae, M., Pickering, M. (1998). Surprise '98 report on Soft Negotiation, http://www.iis.ee.ic.ac.uk/~frank/surp98/report/mgm1. [138] Maes, P. (1995). Artificial Life Meets Entertainment: Life like Autonomous Agents, Communications of the ACM, 38, 11, 108-114. [139] Mak, M. W., Kung, S. Y. (2000). Estimation of Elliptical Basis Function Parameters by the EM Algorithm with Application to Speaker Verification, IEEE-NN, vol. 11, no. 4, 2000, http://citeseer.ist.psu.edu/ mak00estimation.html. [140] Mamdani, E. H. (1977). Application of Fuzzy Logic to Approximate Reasoning Using Linguistic Systems, IEEE Trans. on Computers, 26:1182-1191. [141] Mareš, M. (1994). Computation Over Fuzzy Quantities, CRC Press, Boca Raton. [142] Martin, B. (1995). Instance-Based Learning: Nearest Neighbour with Generalisation, Master of Science Thesis, University of Waikato, Hamilton, New Zealand. [143] McCulloch, W. S., Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity, Bulletin of Mathematical Biophysics, 5, 115-137. [144] Medin, D. L., Ross, B. (1991). Cognitive Psychology, San Diego. 262 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[145] Medin, D. L., Schaffer, M. M. (1978). A context theory of classification learning, Psychological Review, 85, 207-238. [146] Michalski, R. S., Chilausky, R. L. (1980). Learning by Being Told and Learning from Examples: An Experimental Comparison of the Two Methods of Knowledge Acquisition in the Context of Developing an Expert System for Soybean Disease Diagnosis, International Journal of Policy Analysis and Information Systems, Vol. 4, No. 2. [147] Michalski, R. S., Mozetic, I., Hong, J., Lavrac, N. (1986). The MultiPurpose Incremental Learning System AQ15 and its Testing Application to Three Medical Domains, in Proceedings of the Fifth National Conference on Artificial Intelligence, 1041-1045, Philadelphia, PA, Morgan Kaufmann. [148] Miclea, M. (1999). Psihologie cognitivã, Modele teoreticoexperimentale, Ed. Polirom, Iaºi. [149] Minda, J. P., Smith, J. D. (2001). Prototypes in category learning: The effects of category size, category structure, and stimulus complexity, Journal of Experimental Psychology: Learning, Memory, and Cognition, 27, 775–799. [150] Minsky, M. (1975). A Framework for Representing Knowledge, in P. Winston (ed.), The Psychology of Computer Vision, McGraw-Hill. [151] Minsky, M. (1986). The Society of Mind, Simon and Schuster, New York. [152] Minsky, M., Papert, S. A. (1969). Perceptrons, MIT Press, Cambridge, MA. [153] Mitchell, T., Allen, J., Chalasani, P., Cheng, J., Etzioni, O., Ringuette, M., Schlimmer, J. (1990). Theo: A Framework for SelfImproving Systems, in K. van Lehn (ed.), Architectures for Intelligence, Erlbaum, Hillsdale, NJ. [154] Mitra, S., Hayashi, Y. (2000). Neuro–Fuzzy Rule Generation: Survey in Soft Computing Framework, IEEE Transactions on Neural Networks, vol. 11, no. 3, http://icat.snu.ac.kr/ review_paper/22.pdf. [155] Mohri, T., Tanaka, H. (1994). An optimal weighting criterion of case indexing for both numeric and symbolic attributes, in D. W. Aha (ed.), Case-Based Reasoning: Papers from the 1994 Workshop, AAAI Press, Menlo Park, CA. [156] Moody, J. E., Darken, C. J. (1989). Fast learning in networks of locally-tuned processing units, Neural Comput. 1 281–94. [157] Mor, Y., Goldman, C. V., Rosenschein, J. S. (1998). Learn Your Opponent’s Strategy (in Polynomial Time), Hebrew University, 263 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive Jerusalem, Israel, http://www-ai.cs.uni-dortmund.de/LEHRE/ SEMINARE/AGENTEN98/Seminar98.ps.gz. [158] Moukas, A., Guttman, R., Maes, P. (1998). Agent-mediated Electronic Commerce: An MIT Media Laboratory Perspective, http://ecommerce.media.mit.edu. [159] Nagendra Prasad, M. V., Lesser, V. R., Lander, S. E. (1996). Learning organizational roles in a heterogenous multi-agent system, in Proceedings of the second international conference on multiagent systems, pp 291-298, http://citeseer.nj.nec.com/82504.html. [160] Nauck, D. (1994). A Fuzzy Perceptron as a Generic Model for Neuro-Fuzzy Approaches, GI-Workshop Fuzzy-Systeme '94, Munich, Germany. [161] Nauck, D., Klawonn, F., Kruse, R. (1997). Foundations of Neuro– Fuzzy Systems, Wiley, Chichester, U.K. [162] Nauck, D., Kruse, R. (1998). NEFCLASS-X: A Soft Computing Tool to build Readable Fuzzy Classifiers, BT Technology Journal, vol. 16, no. 3, Martelsham Heath, Ipswich. [163] Nauck, U. (1999). Konzeption und Implementierung eines NeuroFuzzy-Datenanalysetools in Java, Technische Universität Braunschweig, Institut für Betriebssysteme und Rechnerverbund, http://www.gsi.dit.upm.es/~lssii/soft/papr/nefclass/nefclassj-doc.pdf. [164] Navarro, D. J., Myung, J. I., Pitt, M. A. (2004). Comparing the Qualitative Performance of the ALCOVE and RULEX Models of Category Learning, in Proc. of the Third Annual Summer Interdisciplinary Conference, Cavalese, Italy. [165] Navarro, D. J., Myung, J. I.., Pitt, M. A. (2004). Does Response Scaling Cause the Generalized Context Model to Mimic a Prototype Model?, Psychonomic Bulletin & Review. [166] Negnevitsky, M. (2002). Artificial Intelligence. A Guide to Intelligent Systems, Addison-Wesley, Pearson Education. [167] NeuroDimensions Inc.: NeuroSolutions 4.20 Help, http://www.nd.com/public/help/ NeuroSolutionsHelpPDF.zip [168] Newell, A. (1990). Unified Theories of Cognition, Harvard University Press, Cambridge, MA. [169] Nilsson, N. J. (1996). Introduction To Machine Learning, Department of Computer Science, Stanford University, http://robotics.stanford.edu/people/nilsson/mlbook.html. [170] Noor, A. K. (1996). A hard look at soft computing, Aerospace America. 264 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[171] Nosofsky, R. M. (1984). Choice, similarity, and the context theory of classification, Journal of Experimental Psychology: Learning, Memory, and Cognition, 10, 104–114. [172] Nosofsky, R. M. (1986). Attention, similarity, and the identificationcategorization relationship, Journal of Experimental Psychology: General, 115, 39–57. [173] Nosofsky, R. M., Palmeri, T. J., McKinley, S. C. (1994). Rule-plusexception model of classiffication learning, Psychological Review, 101(1), 53-79. [174] Nosofsky, R. M., Zaki, S. R. (2002). Exemplar and Prototype Models Revisited: Response Strategies, Selective Attention, and Stimulus Generalization, Journal of Experimental Psychology: Learning, Memory, and Cognition, Vol. 28, No. 5, 924-940. [175] Nwana, H. S. (1996). Software Agents: An Overview, Knowledge Engineering Review. [176] Oja, E. (1982). A simplified neuron model as a principal component analyzer, J. Math. Biol., 15:267-273. [177] Orfali, R., Harkey, D. (1998). Client Server Programming with Java and CORBA, John Wiley & Sons, USA. [178] Osborne, M. J. (2001). An introduction to game theory, http://www.cs.buffalo.edu/~sbraynov/multiagent/Resources/Osborne.pdf. [179] Parkes, D. C., Ungar, L. H. (1996). The Tragedy of the Commons: Pricing Social Welfare in Multiagent Systems, Computer and Information Science Department, University of Pennsylvania, USA, http://citeseer.nj.nec.com/169492.html. [180] Parkes, D. C., Ungar, L. H. (1997). Learning and Adaption in Multiagent Systems, in Proc. AAAI-97 Workshop on Multiagent Learning, Providence, http://www.eecs.harvard.edu/~parkes/pubs/ learning.pdf. [181] Partridge, D., Hussain, K. M. (1995). Knowledge Based Information Systems, Mc Graw-Hill Book Company Europe, London. [182] Patterick, J. (2001). The Society of Mind, http://cis519.bus. umich.edu/cgi-bin/cis551-01.board.pl?read=1065. [183] Pedrycz, W. (1997). Computational Intelligence: An Introduction, CRC Press, Boca Raton. [184] Penrose, R. (1996). Mintea noastrã... cea de toate zilele – Despre gândire, fizicã ºi calculatoare, Ed. Tehnicã, Bucureºti. [185] Piatetsky-Shapiro, G., Frawley, W. J. (1991). Knowledge Discovery in Databases, Menlo Park, CA, AAAI Press. 265 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [186] Poggio, T., Girosi, F. (1990). Networks for approximation and learning, Proc. IEEE 78 1481–97. [187] Pollock, J. L. (1990). OSCAR: A General Theory of Rationality, Journal of Experimental and Theoretical AI, 1, 209-226. [188] Pollock, J. L. (1998). Planning Agents, in Rao A. S. and Wooldridge M. (eds.), Foundations of Rational Agency, Kluwer. [189] Posner, M. I., Keele, S. W. (1968). On the genesis of abstract ideas, Journal of Experimental Psychology, 77, 353-363. [190] Principe, J. C., Euliano, N. R., Lefebvre, W. C. (2000). Neural and Adaptive Systems. Fundamentals Through Simulations, John Wiley & Sons, Inc. [191] Quinlan, R. (1993). C4.5: Programs for Machine Learning, Morgan Kaufmann Publishers, San Mateo, CA. [192] Rao, A. S., Georgeff, M. P. (1991). Modeling rational agents within a BDI-architecture, Proceedings of the 2nd International Conference on Principles of Knowledge, Representation and Reasoning, Morgan Kaufmann Publishers, 473-484. [193] Rao, A. S., Georgeff, M. P. (1992). An abstract architecture for rational agents, in C. Rich, W. Swartout, B. Nebel, (eds.), Proceedings of Knowledge Representation and Reasoning, 439- 449. [194] Reed, S. K. (1972). Pattern recognition and categorization, Cognitive Psychology, 3, 382-407. [195] Rich, E. (1983). Artificial Intelligence, Mc Graw-Hill Book Company, New York. [196] Ridley, M. (1997). The Origins of Virtue: Human Instincts and the Evolution of Cooperation, Viking Press. [197] Rocha, L. M. (1999). From Artificial Life to Semiotic Agent Models: Review and Research Directions, Los Alamos National Laboratory Internal Report. [198] Rosenblatt, F. (1958). The perceptron: a probablistic model for information storage and organization in the brain, în J. Andersen, E. Rosenfeld (eds.): Neurocomputing: foundations of research, Bradford books, MIT Press, Cambridge, Mass., chapter 8. [199] Rosenblatt, F. (1960). On the convergence of reinforcement procedures in simple perceptrons, Cornell Aeronautical Laboratory Report VG-1196-G-4 Buffalo, NY. [200] Rumelhart, D. E., Hinton, G. E., Williams, R. J. (1986). Learning internal representations by error propagation, în D. E. Rumelhart, J. L. McClelland (eds.): Parallel Distributed Processing: Explorations in 266 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
the Microstructure of Cognition, Volume 1, 318-362, The MIT Press, Cambridge, MA. [201] Russell, S. J., Stuart, J., Norvig, P. (1995). Artificial Intelligence: A Modern Approach, Englewood Cliffs, NJ, Prentice Hall. [202] Rzevski, G. (2002). Knowledge Management Fundamentals, MADIRA Paper 025, Version 1.0, http://www.brunel.ac.uk/research/ madira/papers/p25.pdf. [203] Salzberg, S.L. (1991). A Nearest Hyperrectangle Learning Method, Machine Learning 6, pp 251-276. [204] Sampson, D., Karagiannidis, C., Kinshuk (2002). Personalised Learning: Educational, Technological and Standardisation Perspective, Interactive Educational Multimedia, 4, 24-39. [205] Searle, J. R. (1969). Speech Acts, Cambridge University Press. [206] Sen, S., Weiß, G. (2000). Learning in Multiagent Systems, in G. Weiß (ed.), Multiagent Systems – A Modern Approach to Distributed Artificial Intelligence, The MIT Press, Cambridge, Massachusetts. [207] Setzer, V. W. (2001). Data, Information, Knowledge and Competency, http://www.ime.usp.br/~vwsetzer/data-info.html. [208] Seydim, A. Y. (1999). Intelligent Agents: A Data Mining Perspective, Department of Computer Science and Engineering, Southern Methodist University, Dallas, http://engr.smu.edu/~yasemin/ agentsdm.pdf. [209] Shannon, C. E. (1948). A mathematical theory of communication, Bell SystemsTechnology Journal, 27, 379-423. [210] Shepard, R. N. (1987). Toward a universal law of generalization for psychological science, Science, 237, 1317–1323. [211] Shepard, R. N., Hovland, C. I., Jenkins, H. M. (1961). Learning and memorization of classiffications, Psychological Monographs, 75. [212] Sikes, R. W. (2002). Neuroanatomy, Northeastern University, Department of Physical Therapy, Boston, http://physicaltherapy. neu.edu/pth1366b/LectureSlides/CerebralCortexIntro.ppt. [213] Silva, F. M., Almeida, L. B. (1990). Speeding up backpropagation în Advanced Neural Computers, ed. R. Eckmiller (Amsterdam: Elsevier), pp. 151–60. [214] Silva, F. M., Almeida, L. B. (1990). Acceleration techniques for the backpropagation algorithm, in L. B. Almeida, C. J. Wellekens (eds.), Neural Networks, Springer, Berlin, pp 110–19. [215] Sloman, A. (2003). Varieties of Affect and the CogAff Architecture Schema, Proceedings of the ACM symposium on Applied computing, Melbourne, Florida, pp 637-644. 267 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [216] ªova, I., Amarandei, C. M., Gavrilã, I. (2004). Dynamic Load Balancing in Tree-Topology Distributed Mobile Agents System, in Proceedings of the Eighth International Symposium on Automatic Control and Computer Science, Iaºi. [217] ªova, I., Leon, F., Gâlea, D. (2004). Improving the Performance of Knowledge Intelligent Agents using a Distributed Framework, in Proceedings of the Eighth International Symposium on Automatic Control and Computer Science, Iaºi. [218] Stone, P., Veloso, M. (1997). Multiagent Systems: A Survey from a Machine Learning Perspective, Computer Science Department, Carnegie Mellon University, Pittsburgh, Pennsylvania, http://www2.cs.cmu.edu/afs/cs/usr/pstone/public/papers/97MAS-survey/revisedsurvey.html. [219] Sutton, R. S. (1988). Learning to predict by the method of temporal differences, Machine Learning, 3:9-44. [220] Sutton, R. S., Barto, A. G. (1998). Reinforcement Learning: An Introduction, MIT Press, Cambridge, Massachusetts. [221] Takagi, H., Sugeno, M. (1985). Fuzzy Identification of Systems and its Application to Modelling and Control, IEEE Trans. on Systems, Man, and Cybernetics, 15:116-132. [222] Tan, M. (1993). Multi-Agent Reinforcement Learning: Independent vs. Cooperative Agents, http://citeseer.nj.nec.com/33726.html. [223] Taylor, R. I. (2003). Agent-Based Modelling Incorporating Qualitative and Quantitative Methods: A Case Study Investigating the Impact of E-commerce upon the Value Chain., ESSA Conference, Groningen University, Netherlands. [224] Tell, A. W. (2002). Speech Act Theory, http://openebxml. sourceforge.net/methodology/SAT/sat.html. [225] Tesauro, G. (1995). Temporal Difference Learning and TDGammon, Communications of the ACM, vol. 38, no. 3, http://www.research.ibm.com/massive/tdl.html. [226] The DARPA Knowledge Sharing Initiative, External Interfaces Working Group (1993). Specification of the KQML, AgentCommunication Language, http://www.cs.umbc.edu/kqml/papers/ kqmlspec.ps. [227] Thrun, S. (1995). Learning to play the game of chess, http://satirist.org/learn-game/systems/neurochess.html. [228] Thrun, S. B., et al. (1991). The MONK’s Problems – A Performance Comparison of Different Learning Algorithms, Technical Report CSCMU-91-197, Carnegie Mellon University. 268 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[229] Trabasso, T., Bower, G. H. (1968). Attention in learning: Theory and research, New York, Wiley. [230] Van de Velde, W. (1995). Cognitive Architectures – From Knowledge Level to Structural Coupling, http://citeseer.nj.nec.com. [231] Van Dyke Parunak, H. (1996). Applications of Distributed Artificial Intelligence in Industry, in G. M. P. O’Hare, N. R. Jennings (eds.), Foundations of Distributed Artificial Intelligence, 139-164, Wiley Interscience. [232] Vere, S., Bickmore, T. (1990). A Basic Agent, Computational Intelligence, 6, 41-60. [233] Vidal, J. M. (2003). Learning in Multiagent Systems: An Introduction from a Game-Theoretic Perspective, in E. Alonso (ed.), Adaptive Agents: LNAI 2636, pp. 202-215, Springer Verlag. [234] Vidal, J. M., Durfee, E. H. (1997). Agents learning about agents: A framework and analysis, in Working Notes of the AAAI-97 workshop on Multiagent Learning, pp. 71-76. [235] Vidal, J. M., Durfee, E. H. (1998). Learning nested models in an information economy, Journal of Experimental and Theoretical Artificial Intelligence 10, pp. 291-308. [236] Waldo, J. (2001). Mobile Code, Distributed Computing, and Agents, Sun Microsistems, http://www.computer.org/intelligent/ex2001/pdf/ x2010.pdf. [237] Watkins, C. J. C. H. (1989). Learning from Delayed Rewards, PhD Thesis, King’s College, Cambridge University. [238] Watt, S. N. K. (1996). Artificial societies and psychological agents, British Telecom Technology Journal, 14(4). [239] Weiß, G. (1994). Some studies in Distributed Machine Learning and Organizational Design, Institut für Informatik, Technische Universität München, Germany, http://citeseer.nj.nec.com/weiss94some.html. [240] Weiß, G. (1996). Ecai-96 Workshop on Learning in Distributed Artificial Intelligence. [241] Weiß, G., Sen, S. (eds.) (1996). Adaptation and Learning in Multiagent Systems, Springer Verlag, Berlin. [242] Weisstein, E.W. (2004). Covariance Matrix, from MathWorld – A Wolfram Web Resource, http://mathworld.wolfram.com/ CovarianceMatrix.html. [243] Werbos P. J. (1974a). The Roots of Backpropagation, John Wiley & Sons, New York.
269 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Agenþi inteligenþi cu capacitãþi cognitive [244] Werbos, P. J. (1974b). Beyond regression: new tools for prediction and analysis in the behavioral sciences, PhD Thesis, Harvard University, Cambridge, MA. [245] Wettschereck, D., Aha, D. W. (1995). Weighting Features, in M. Veloso, A. Aamodt (eds.), Case-Based Reasoning, Research and Development, First International Conference, Springer Verlag, Berlin. [246] Wettschereck, D., Dietterich, G. (1994). An experimental comparison of the nearest-neighbour and nearest-hyperrectangle algorithms, Machine Learning, 19(1):5-27. [247] White, J. E. (1996). Mobile Agents, Menlo Park, CA, AAAI Press, MIT Press. [248] Widrow, B., Hoff, M. E. (1960). Adaptive switching circuits, IRE WESCON Convention Record, vol. 4, pp. 96-104. [249] Widrow, B. (1962). Generalisation and information storage in networks of adaline, in Yovits et al. (eds.), Self-organizing systems, Wiley, Washinton, DC. [250] Witten, I. H., Frank, E. (2000). Data Mining: Practical machine learning tools with Java implementations, Morgan Kaufmann, San Francisco. [251] Witten, I. H., Moffat, A., Bell, T. C. (1994). Managing Gigabytes, New York, Van Nostrand Reinhold. [252] Wooldridge, M. (2000). Intelligent Agents, in G. Weiß (ed.), Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence, The MIT Press, Cambridge, Massachusetts. [253] Wooldridge, M., Jennings, N. R. (1995). Agent Theories, Architectures, and Languages: a Survey, in Wooldridge and Jennings (eds.), Intelligent Agents, Springer Verlag, Berlin. [254] Wray, R., Chong, R., Phillips, J., Rogers, S., Walsh, B. (2000). A Survey of Cognitive and Agent Architectures, http://ai.eecs.umich.edu. [255] Wright, I. P. (1997). Emotional Agents, PhD thesis, School of Computer Science, The University of Birmingham. [256] Wu, J. K. (1994). Neural Networks and Simulation Methods, Marcel Dekker, New York. [257] Xu, W., Duchateau, J., Demuynck, K., Dologlou, I. (1998). A new approach to merging gaussian densities in large vocabulary continuous speech recognition, in Proc. IEEE Benelux Signal Processing Symposium, pp. 231-234, Leuven, Belgium. [258] Yokoo, M., Ishida, T. (2000). Search Algorithms for Agents in G. Weiß (ed.): Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence, The MIT Press, Cambridge, Massachusetts. 270 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
Bibliografie
[259] Yokoo, M., Ishida, T. (2000). Search Algorithms for Agents, in G. Weiß (ed.): Multiagent Systems – A Modern Approach to Distributed Artificial Intelligence, The MIT Press, Cambridge, Massachusetts. [260] Zadeh, L. (1995). Foreword to the inaugural issue of Intelligent Automation and Soft Computing, http://wacong.com/autosoft/autosoftZadeh_foreword.html. [261] Zadeh, L. A. (1965). Fuzzy Sets, Information and Control, 8:338353. [262] Zaharia, M. H., Leon, F., Gâlea, D. (2003a). A Framework for Distributed Computing using Mobile Intelligent Agents, in M. Craus, D. Gâlea, A. Valachi (eds.) - New Trends in Computer Science and Engineering, Anniversary Volume, Department of Computer Engineering, Faculty of Automatic Control and Computer Engineering, Technical University "Gh. Asachi", Polirom Press, Iaºi, Romania, pp. 219-223. [263] Zaharia, M. H., Leon, F., Gâlea, D. (2003b). A Simulator for Load Balancing Analysis in Distributed Systems, in A. Valachi, D. Gâlea, A. M. Florea, M. Craus (eds.) - Tehnologii informaþionale, Editura Universitãþii Suceava, 53-59. [264] Zaharia, M. H., Leon, F., Gâlea, D. (2003c). On Finding an Optimized Categorization in Conceptual Spaces using Genetic Algorithms, Bulletin of Technical University of Iaºi, tome XLIX (LIII), fasc. 1-4, pp. 111-120. [265] Zaharia, M. H., Leon, F., Gâlea, D. (2004a). Parallel Genetic Algorithms for Cluster Load Balancing, in Proceedings of the Third European Conference on Intelligent Systems & Technologies ECIT 2004, Performantica Press, Iaºi. [266] Zaharia, M. H., Leon, F., Gâlea, D. (2004b). Symbolic Deductive Reasoning using Connectionist Models, Computer Science Journal of Moldova, volume 12, number 1 (34), pp. 127-145, Chiºinãu. [267] Zlate, M. (1999). Psihologia mecanismelor cognitive, Ed. Polirom, Iaºi, 1999
271 Florin Leon (2006). Agenti inteligenti cu capacitati cognitive, Tehnopress, Iasi, ISBN 978-973-702-422-0 http://florinleon.byethost24.com
View more...
Comments