Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Arhitecturi de agenţi inteligenţi

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Arhitecturi de agenţi inteligenţi"— Μεταγράφημα παρουσίασης:

1 Arhitecturi de agenţi inteligenţi
Coordonator ştiinţific : Asist. Dr. Gheorghe Silaghi Absolvent : Aionese Cristian 2007

2 Inteligenţa artificială
Inteligenţa artifcială (IA) se ocupă cu realizarea de sisteme care pot să gândească, să acţioneze ca fiinţa umană sau care pot să gândească şi să acţioneze raţional. Gruparea sistemelor care fac obiectul inteligenţei artificiale la fel ca omul raţional a gândi Sisteme care gândesc la fel ca oamenii Sisteme care pot să gândească raţional a acţiona Sisteme care acţionează ca oamenii Sisteme care acţionează raţional Cele două direcţii (cea referitoare la procesele cognitive – gândire şi raţionament şi cea referitoare la comportament) generează două întrebări de bază. În realizarea sistemului de IA ne interesează gândirea sau comportamentul? Vrem ca sistemul să modeleze activitatea umană sau să-şi creeze propriul mod de acţiune conform unui standard ideal? În orice caz , ipoteza de bază este că inteligenţa se referă la acţiuni raţionale. În cazul ideal, un sistem (agent) inteligent va alege cea mai bună acţiune posibilă într-o anumită soluţie. Toate problemele inteligenţei artificiale pot fi reunite sub conceptul de agent inteligent. Inteligenţa artificială se ocupă cu descrierea şi construirea agenţilor care primesc percepţii de la mediul înconjurător şi execută acţiuni.

3 Agent = arhitectură agent + program agent
Agenţi inteligenţi Definiţia cea mai adecvată pentru agenţii inteligenţi aparţine lui Wooldridge şi Jennings. 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 prompt 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; aptitudini sociale (engl. „social ability”): agentul poate interacţiona cu alţi agenţi (sau cu oamenii) printr-un anumit limbaj de comunicare. Cercetătorii mai sus menţionaţi apreciază inteligenţa drept capacitatea de acţiune autonomă flexibilă, unde flexibilitatea presupune reactivitate, proactivitate şi aptitudini sociale. Caracteristicile agenţilor inteligenţi se pot împărţi în caracteristici interne (autonomia, reactivitatea, proactivitatea, mobilitatea) şi caracteristici externe (comunicarea, cooperarea). În ipoteza în care un agent inteligent este capabil să înveţe, să raţioneze şi să planifice acţiuni, el devine un agent cognitiv. Agent = arhitectură agent + program agent În general arhitectura agent (aşa numitul comportament al agentului) face percepţiile accesibile programului agent (aşa numita parte internă a agentului), rulează programul agent şi acţionează efectorii pe baza alegerilor de acţiune efectuate de program.

4 Sisteme multi-agent Gerhard Weiß apreciază că “inteligenţa este profund şi inevitabil legată de interacţiune”. 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. Capacităţile de comunicare ale unui agent duc la conceptul de sistem multiagent. Aşadar, un sistem multiagent este o reţea distribuită de agenţi software, care lucrează împreună pentru a rezolva anumite probleme care sunt peste capacităţile individiuale ale fiecărui agent în parte. Se poate spune că un sistem multiagent este o colecţie de habitate unde agenţii sunt rulaţ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. Sisteme cu un singur agent vs. Sisteme multiagent Sistemele centralizate pe un singur agent (eng. single-agent) au un singur agent care ia toate deciziile, în timp ce restul agenţilor se comportă ca şi clienţi. Cu toate că, aparent, sistemele bazate pe un agent central ar trebui să fie mai simple decât sistemele multiagent, în cazul anumitor sarcini complexe, se întâmplă chiar invers. Explicatia rezidă în ideea conform căreia controlul sistemului fiind distribuit între mai mulţi agenţi, fiecare agent poate fi construit mai simplu.

5 Figura 1 : Un framework general pentru sistemele cu un singur agent
Sisteme cu un singur agent În general, agentul dintr-un sistem de tip centralizat single-agent se modelează pe el şi mediul înconjurător. Bineînţeles, agentul face parte din mediu, dar putem considera că un agent are anumite componente care nu fac parte din mediu. Agentul este o entitate independentă, cu propriile lui ţeluri, acţiuni şi cunoştinţe. Într-un sistem de tip single-agent, nici o altă entitate de acest gen nu va fi recunoscută de către agent. Prin urmare, chiar dacă există alţi agenţi în mediul respectiv, ei vor fi consideraţi ca făcând parte din mediul înconjurător. Figura 1 : Un framework general pentru sistemele cu un singur agent

6 Figura 2 : Un scenariu general multi-agent complet
Sisteme multi-agent Sistemele multi-agent reale diferă faţă de sistemele centralizate pe un singur agent, în primul rând prin faptul că agenţii existenţi într-un sistem multi-agent îşi modelează ţelurile şi comportamentul în funcţie de ceilalţi agenţi din sistem. Cu toate că această interacţiune ar putea fi privită ca un stimul din partea mediului înconjurător, interacţiunea (comunicarea) între agenţi este văzută ca fiind separată de mediu. Din punct de vedere al agentului individual, sistemele multi-agent diferă faţă de sistemele centralizate datorită faptului că dinamica sistemului poate fi determinată de alţi agenţi din sistem. Pe lângă incertitudinea care este prezentă în mediu, şi ceilalţi agenţi pot afecta mediul în moduri imprevizibile. De aceea, toate sistemele multi-agent pot fi privite ca având un comportament dinamic. Într-un sistem multi-agent, pot exista agenţi care au capacitatea de a comunica cu alţi agenţi, respectiv agenţi care nu pot comunica direct. Figura 2 : Un scenariu general multi-agent complet

7 Domeniul pradă-prădător (“Urmăririi”)
Acest domeniu a fost introdus de M. Benda. În decursul anilor, cercetătorii au studiat diferite variaţii ale formulei originale. Domeniul “urmăririi” este studiat de obicei cu patru prădători şi o pradă. Domeniul poate varia utilizând alte numere. Scopul prădătorilor este de a captura prada sau de a o încercui astfel încât să nu se poată mişca pe o poziţie neocupată. O poziţie de capturare este prezentată în Figura 3. Dacă spaţiul în care are loc urmărirea are 4 muchii, mai puţin de 4 prădători pot captura prada prinzând-o într-un colţ sau în apropierea unei muchii. Un alt criteriu posibil de a captura prada este atunci când prădătorul ocupă poziţia pe care se află şi prada. Aşa cum este prezentat în Figura 3, prădătorul şi prada se mişcă în interiorul unui spaţiu format din mai multe pătrate. Deplasarea se face numai spre o poziţie adiacentă, în orice direcţie. Un alt parametru care este specificat este dacă deplasarea are loc simultan sau în ture, cât de mult spaţiu pot vedea prădătorii şi dacă aceştia pot comunica. Captură Figura 3 : O instanţiere particulară a domeniului urmăririi

8 Rezolvarea problemei “urmăririi” folosind MAS
Pentru rezolvarea problemei am folosit un sistem multiagent cu agenţi perfect raţionali. Un agent raţional întruchipează un agent care alege întotdeauna acţiunea corectă, mai exact acea acţiune care îi va aduce cea mai mare satisfacţie. Agentul raţional ideal este reprezentat de acel agent care acţionează în sensul maximizării performanţelor sale, pe baza informaţiilor care le are despre mediu (furnizate de secvenţa perceptuală) şi pe baza cunoaşterii proprii pe care o are încorporată în structura sa internă. Implementarea se bazează pe descrierea jocului şi a definiţiilor unităţilor de măsurare a performanţei care sunt descrise în [Stephens and Merx, 1990]. Pornim de la o grilă dreptunghiulară de 3030 care conţine o singură pradă în mijloc (Figura 3). Această pradă alege la întamplare între posibilele sale acţiuni: să rămână unde este, ori să se mişte în una dintre cele patru direcţii (sau mai puţine, dacă unele direcţii sunt blocate). Mişcările diagonale nu sunt premise. Prădătorii sunt amplasaţi în diferite poziţii aleatoare. La fiecare pas, prada se mută prima. Apoi se mută prădătorii. Ei se mută unul după altul pentru a evita coliziunea. Rezultatele posibile pot fi capturarea, impasul (patul) şi fuga/evadarea. Capturarea apare când cele patru poziţii din jurul prăzii (stânga, dreapta , sus şi jos) sunt ocupate (Figura 4). Dacă prada încearcă să se mute dincolo de margine/graniţă, se consideră evadare numai dacă doi prădători ocupă două dintre aceste patru poziţii (Figura 4), în restul cazurilor se socoteşte a fi impas(pat) aşa cum se poate observa şi în Figura 4. Figura 4 : Rezultatele posibile a unei simulări

9 În ceea ce priveşte măsurătorile performanţei, Stephens şi Merx folosesc trei astfel de măsuratori: Raportul Captură, Raportul Succes, Eficienţa Succesului. Stephens şi Merx îşi bazează strategiile pe poziţiile de capturare. Poziţiile de capturare sunt cele patru poziţii care înconjoară prada. Ei examinează trei strategii. Cea cu cea mai slabă comunicare este controlul local, unde un agent anunţă ceilalţi agenţi când el ocupă o poziţie de capturare. A doua strategie o reprezintă controlul distribuit. Aici, intenţiile (o poziţie de captură pe care un agent vrea să o ocupe) sunt transmise înaintea ciclului de mutare. În final, cu controlul central, un agent comandă ceilalţi agenţi. Dintre cele trei strategii amintite am optat în implementarea mea pentru cea a controlului local. În lipsa unui mecanism adecvat care să ghideze interacţiunile, rezultatul categoric al adunării mai multor agenţi într-un sistem multiagent constituie un haos. Datorită restricţiei impuse de cele câteva astfel de mecanisme existente cum că pot fi utilizaţi doar agenţii care au fost special concepuţi pentru aplicaţia pe care ei o rezolvă, a fost definit un mecanism de coordonare pentru sistemele multi-agent care permite agenţilor dintr-un domeniu independent să acţioneze cu folos într-un mediu necunoscut. Pentru a învăţa cum să facă acest lucru, li se furnizează semnale de evaluare ale coordonării, semnale pe care alţi agenţi dintr-un domeniu specific le trimit. În acest sens am creat un framework a carui idee principală este aceea că un agent care cunoaşte comportamentul vizat într-un anumit domeniu va direcţiona alţi agenţi, agenţi dintr-un domeniu independent cu ajutorul semnalelor care reflectă evaluarea (exprimarea în cifre) coordonării între propriile acţiuni şi acţiunile lor. Mecanismele de coordonare sunt necesare pentru a permite crearea sistemelor deschise multi-agent. Scopul realizării unui astfel de framework a fost acela de a testa posibilitatea de realizare a ghidării unui agent cu semnale de evaluare a coordonării şi, mai mult, de a acumula experienţă în ceea ce priveşte instanţierea structurii într-un domeniu de probă, problema urmăririi.

10 Figura 5 : Diagrama OMT obiect a Agenţilor, Mediului şi Interacţiunii
Design-ul orientat obiect al framework-ului este ilustrat în Figura 5 şi constă în 5 clase centrale. Un sistem multiagent care acţionează în acord cu framework-ul semnalului de coordonare este o instanţiere a unei subclase a clasei Mediu. Poate conţine agenţi care au toţi propriul obiect de Interacţiune. Obiectul de Interacţiune reprezintă interacţiunea agentului cu mediul înconjurător. Figura 5 : Diagrama OMT obiect a Agenţilor, Mediului şi Interacţiunii Un obiect de interacţiune are semnale de intrare şi de ieşire. Două clase sunt derivate din clasa Agent: Agentul de Semnalare a Coordonării şi Agentul de Invăţare a Coordonarii. Un Agent de Învăţare a Coordonării învaţă sa-şi coordoneze acţiunile relaţionând semnalele pe care le primeşte de la Agentul de Semnalare a coordonării cu mediul inconjurător.

11 Instanţierea framework-ului la un domeniu
Pentru a creea o instanţiere a framework-ului pentru un domeniu ales(în cazul de faţă domeniul “urmăririi”), trebuie proiectate următoarele clase: O subclasă a Mediului: Această subclasă conţine toate obiectele din mediu. Clasa Mediu se ocupă de actualizarea obiectelor de interacţiune ale agenţilor prezenţi. Dacă este necesar, metoda responsabilă pentru acest lucru poate fi supradefinită. O subclasă a Interacţiunii:Această subclasă ar trebui să furnizeze metode specifice domeniului, să acceseze şi să modeleze mediul. De asemenea, stabileşte care obiecte şi informaţii din mediu influenţează agentul şi ce efect au acţiunile agenţilor. Acest lucru se realizează alimentând continuu intrările obiectului de interacţiune cu semnale din mediu şi studiind ieşirile obiectului de interacţiune şi interpretându-le ca acţiuni, ceea ce s-ar putea să afecteze mediul. Acest mecanism permite agenţilor să interacţioneze cu medii necunoscute. Pe deasupra, obiectele de interacţiune stochează semnalele de evaluare care au fost recepţionate. O subclasă a Agentului de Semnalare a Coordonării: Acesta este de obicei un agent specific domeniului. Agenţii acestei clase pot evalua situaţia curentă din mediu, şi după cum le spune şi numele, ei transmit continuu semnale reprezentând această evaluare altor agenţi, de exemplu vecinilor lor.

12 Am implementat acest mediu şi un agent care poate evalua coordonarea între el însuşi şi vecinii lui apropiaţi. Agentul, denumit Prădătorul de Coordonare Maximă compară pur şi simplu pentru fiecare acţiune posibilă evaluarea coordonării care ar rezulta din ea şi alege acţiunea care maximizează această evaluare. Astfel, daca aceasta este una corectă, este clar că acest agent acţionează raţional. Am proiectat Interacţiunea si un mediu specific problemei urmăririi, design-ul obţinut fiind cel ilustrat în Figura 6. Design-ul aplicaţiei mele foloseşte o variantă simplificată a modelului orientat obiect din Figura 6, utilizând în acest sens subclase ale claselor CoordinationSignalingAgent, Environment şi Interaction, respectiv subclasele MaxCoordinationPredator, PursuitWorld şi PursuitWorldInteraction. Figura 6 : Prădătorul MaxCoordinationPredator poate acţiona în Mediile PursuitWorld şi poate să trimită semnale de evaluare vecinilor săi.

13 Un pas important în realizarea unei instanţieri a framework-ului Semnalului de Coordonare este definirea semnalelelor de coordonare specifice aplicaţiei. Aceste semnale vor fi folosite în viitor pentru a învăţa agenţii dintr-un domeniu independent cum să-şi aleagă mişcarea corectă în fiecare situaţie. Figura 7 : Efectul unui factor de răspândire înalt: unghiurile optime dintre prădători sunt preferate în detrimentul minimizării distanţei Figura 7 ilustrează o pradă înconjurată de patru prădători, A1…A4. Agentul de Semnalare a Coordonării A transmite evaluări ale coordonării dintre el şi vecinii din stânga şi din dreapta lui. Prin urmare, primeşte evaluări ale coordonărilor din partea vecinilor din stânga, respectiv dreapta lui. Prădătorul de Coordonare Maximă işi alege mişcările maximizând suma celor două evaluări primite. În figură, A1 are ca vecini pe A2 şi pe A3 şi de aceea se va muta la poziţia care maximizează suma :

14 Ar trebui notat faptul că în unele cazuri, agentul va avea vecini diferiţi într-o poziţie pe care acesta o cercetează ca pe o posibilă opţiune de mutare. Cum evaluarea coordonării în problema urmăririi a fost făcută sa se aplice numai la vecinii direcţi, agentul va lua în calcul evaluarea coordonării unui nou vecin, si nu a vecinului din poziţia curentă. În domeniul Problemei Urmăririi, doi factori sunt importanţi în încercuirea prăzii: deplasarea înspre pradă şi înconjurarea ei. De aceea, evaluarea coordonării combină un factor de distanţă şi un factor de răspândire. Factorul de distanţă ar trebui să încurajeze minimizarea distanţei dintre prădător şi pradă. Minimizarea distanţei până la pradă se poate face de către orice individ şi nu necesită coordonare. Pentru a coordona mutarea înspre pradă, combinăm acest factor cu gradul în care un agent şi vecinul lui sunt la aceeaşi distanţă de pradă; ideea de bază ar fi că ei ar trebui să se apropie de pradă gradual. Toţi factorii de evaluare sunt situaţi în intervalul [0..1], 0 reprezentând o evaluare slabă şi 1 reprezentând una perfectă. Parametrul Echidistanţă stabileşte greutatea care este atribuită echidistanţei în comparaţie cu factorul distanţă. Spre exemplu, un parametru de echidistanţă cu valoarea 1 nu ia în calcul distanţa absolută, ci numai unghiul în care distanţele agentului şi ale vecinului lui sunt la fel, în timp ce unul de 0.5 ar lua în considerare ambii factori în mod egal. Poziţia unui agent este exprimată în coordonate polare relative la pradă. Factorul de raspândire poate fi calculat cu ajutorul unui factor care ia în calcul unghiurile prădătorilor în comparaţie cu prada. Când agenţii sunt răspândiţi la maximum, unghiurile dintre ei sunt egale cu:

15 Semnalul de evaluare a întregii coordonări este o singură valoare care combină factorul de distanţă şi factorul de răspândire. Pentru un agent A, A.Φ reprezintă unghiul şi A.d reprezintă distanţa, amândouă relative la pradă. δ constituie parametrul distanţă (greutatea factorului Dist, relativ la factorul Spread). ε reprezintă parametrul de echidistanţă (greutatea factorului de echidistanţă, relativ la factorul distanţă). Emax constituie eroarea maximă a unghiului. Prădătorul de Coordonare Maximă îşi face alegerea folosind informaţii care sunt determinate local. Acest lucru sugerează ca agentului nu îi sunt cunoscute intenţiile altor agenţi (si nici informaţiile în care aceştia sunt implicaţi). Prădătorul de Coordonare Maximă nu cunoaşte intenţiile altor agenţi, lucru ce l-ar pune în egalitate cu controlul lor local. Cu toate acestea, dispune de o viziune globală pe care, de fapt, o foloseşte tocmai pentru a stabili poziţiile celor doi vecini ai săi. Pare greu de comparat valoarea acestei informaţii cu valoarea cunoaşterii intenţiilor altor agenţi.


Κατέβασμα ppt "Arhitecturi de agenţi inteligenţi"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google