1. Modelarea și analiza
sistemelor multi-agent
1. Introducere în domeniul agenților
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din Iași
Facultatea de Automatică și Calculatoare
http://florinleon.byethost24.com/curs_masma.htm
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
2. 2
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
3. 3
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
4. 4
Tendințe în metodele de calcul
Ubicuitatea
Interconectarea
Inteligența
Delegarea
Orientarea către om
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
5. 5
Ubicuitatea
Costul soluțiilor de calcul s-a redus continuu
Este posibilă introducerea elementelor de
procesare aproape peste tot
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
6. 6
Interconectarea
Primele calculatoare: entități izolate, care
comunicau numai cu operatorul uman
Sistemele de calcul de astăzi sunt conectate
în rețea, există sisteme distribuite de
dimensiuni mari
Internetul
Regândirea bazelor științei calculatoarelor?
Calculele văzute ca procese de interacțiuni
Interacțiunile sunt mai importante decât algoritmul
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
7. 7
Inteligența
Determinată de:
Creșterea complexității problemelor
Nevoia de a automatiza rezolvarea acestora
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
8. 8
Delegarea
Cedarea controlului către sistemele
computerizate
Sistemul de pilotare automată al avioanelor
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
9. 9
Orientarea către om
Depărtarea constantă de programarea directă a
mașinilor
Utilizarea de metafore asemănătoare cu modul în care
oamenii înțeleg realitatea
Generațiile de limbaje de programare
Cod mașină, limbaje de asamblare, limbaje de nivel înalt
Evoluția interfețelor cu utilizatorul
Comutatoare/becuri, CUI, GUI
Evoluția paradigmelor
Programare structurată, tipuri abstracte de date, obiecte
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
10. 10
“Global computing”
Ce fel de modele de calcul sunt necesare
pentru a exploata sisteme de foarte mari
dimensiuni?
Procesoare distribuite peste tot
Sisteme cu 1010 procesoare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
11. 11
Independența
Este nevoie de entități care să opereze fără
intervenție umană
Acestea trebuie să reprezinte interesele
utilizatorului în interacțiunile cu alte sisteme
sau cu alți oameni
Problemele sunt diferite față de sistemele
distribuite clasice, includ o dimensiune socială
Astfel de entități sunt agenții
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
12. Ideea de bază
Un agent acționează autonom (independent
de utilizator sau proprietar)
Un sistem multi-agent este compus din agenți
care interacționează
Comunicare
Coordonare
Cooperare
Negociere
12Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
13. 13
Agenți și sisteme multi-agent
Proiectare
Proiectarea agenților vs. proiectarea societății
Distincția micro-macro
Probleme
Cooperare vs. egoism
Limbaje de comunicare suficient de expresive
Recunoașterea conflictelor și negocierea
Coordonarea pentru atingerea scopurilor comune
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
14. Viziune și motivație
Autonomie
Controlul unor sonde spațiale
Remote Agent, NASA Deep Space 1 (1998-2001)
Cooperare
Sisteme de control al traficului aerian
OASIS, aeroportul din Sydney (prototip, 1995)
Sisteme de control al traficului auto
Distributed Vehicle Monitoring Testbed, DVMT
Căutare și negociere
Căutarea unui pachet complet de vacanță
Negocierea ofertelor de achiziții publice
14Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
15. 15
Perspective asupra domeniului
Agenții ca paradigmă pentru ingineria
programării
Soluție pentru creșterea complexității
Pentru a gestiona ubicuitatea și interconectarea
sunt necesare tehnici diferite față de modelarea
sistemelor de obiecte pasive, cu stare și operații
Arhitecturi de componente care interacționează
dinamic, cu multiple fire de execuție, cu
protocoale de coordonare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
16. 16
Perspective asupra domeniului
Agenții ca instrument pentru înțelegerea
societății umane
Asimov, Fundația, psihoistoria
În realitate, probabil nu predicție, ci simulare,
pentru a înțelege procesele sociale
Proiectul EOS: simularea/explicarea creșterii
complexității sociale din paleolitic în sudul Franței,
în ultima eră glaciară
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
17. 17
Sistemele multi-agent (SMA) și
inteligența artificială (IA)
AIMA: SMA este un subdomeniu al IA
Alți cercetători: IA este un subdomeniu al SMA
IA-ul se ocupă de componente ale inteligenței,
SMA trebuie să le integreze, dar nu e necesar să
rezolve toate problemele IA-ului
De exemplu învățarea, planificarea
„Agenții inteligenți sunt 99% știința calculatoarelor
și 1% inteligență artificială” (Etzioni)
Pentru SMA sunt importante aspectele sociale
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
18. 18
SMA și sistemele concurente
sau distribuite
Agenții sunt autonomi, structurile de sincronizare și
coordonare nu sunt statice, ci dinamice (stabilite în
timpul execuției)
Agenții au interacțiuni economice, fiecare are propriul
interes (al proprietarului)
Negocieri pentru atingerea unui compromis
Actori: primesc mesaje și reacționează (își schimbă
starea/decid, trimit mesaje, creează alți actori)
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
19. 19
SMA și teoria jocurilor
von Neumann, Turing au fost interesați atât de știința
calculatoarelor cât și de teoria jocurilor
Ulterior, cele două domenii s-au separat (TJ economie)
În ultimul timp, rezultate din TJ au fost aplicate cu
succes în SMA
TJ furnizează concepte descriptive
SMA folosesc aceste rezultate într-un mediu
computațional
Conceptul de „agent rațional” este util pentru
înțelegerea societății umane?
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
20. 20
SMA și științele sociale
Ştiințele sociale își propun înțelegerea
comportamentului societăților
Pot folosi SMA ca instrument
SMA pot folosi rezultate din științele sociale,
dar societățile artificiale nu trebuie
să fie neapărat la fel cu cele umane
SMA au un scop
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
21. 21
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
22. 22
Definiție
Un agent este o entitate software sau
hardware situată într-un mediu de execuție și
care este capabilă de acțiuni autonome
pentru a-și îndeplini obiectivele proiectate
Nu există un consens absolut
Învățarea, mobilitatea
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
23. 23
Structura de bază
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
24. 24
Detalii
De obicei, agentul nu are control deplin asupra
mediului
Îl poate influența (control parțial)
Mediul poate fi nedeterminist
Aceleași acțiuni au efecte diferite
Acțiunile pot eșua
Capacitate efectorică
Capacitatea de a modifica mediul
Acțiunile au precondiții
De exemplu: „ridică masa”, „cumpără un Ferrari”
Agentul trebuie să decidă ce acțiuni va efectua
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
25. 25
Exemple de agenți
Sisteme de control
Termostat
Efectul nu este garantat, de ex.: ușa deschisă
Sonde spațiale, pilot automat
Sisteme de control pentru reactoare
nucleare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
26. 26
Exemple de agenți
Daemoni software
xbiff în X Windows
Monitorizarea email-urilor
Folosește alte programe (de exemplu: ls)
Agenți de notificare
Gmail, Yahoo!, Hotmail
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
27. 27
Mediul de execuție
Accesibil vs. inaccesibil
Informații complete și actuale despre starea mediului
Determinist vs. nedeterminist
Orice acțiune are un singur efect garantat
Static vs. dinamic
Mediul rămâne neschimbat cu excepția efectelor acțiunilor
agentului
Discret vs. continuu
Număr finit de stări
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
28. 28
Accesibilitate
Nu putem ști temperatura curentă de la
Polul Nord
Mediile accesibile sunt mai simple
Deciziile depind de calitatea informațiilor
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
29. 29
Determinism
De obicei, ne imaginăm / ne dorim ca în mediile
software să existe reguli clare
Într-un mediu determinist, agenții nu mai trebuie să
testeze rezultatele acțiunilor
Într-un mediu nedeterminist, agenții au control
parțial și acțiunile pot eșua
Dacă e necesar, trebuie să-și refacă planurile
Un mediu determinist foarte complex poate fi tratat
ca unul nedeterminist
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
30. 30
Dinamism
Metodele clasice de planificare din IA consideră mediul static
Existența proceselor concurente determină medii dinamice
Într-un mediu dinamic, dacă agentul nu face nicio acțiune între
între două momente de timp t0 și t1, nu trebuie să se aștepte ca
mediul să fie la fel în t1 ca în t0
Trebuie să adune informații pentru a determina starea mediului
Alți agenți pot interfera: starea mediului se poate schimba
în timpul executării unei acțiuni
Într-un mediu static, agentul poate prezice starea mediului după
efectuarea unei acțiuni
Într-un mediu static, nu trebuie sincronizări sau coordonare
între agenți
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
31. 31
Continuitate
Exemple:
Mediu discret: șah
Mediu continuu: conducerea unei mașini
Calculatoarele sunt discrete, continuitatea este
aproximată
Se pot pierde informații prin discretizare
Într-un mediu discret este posibilă (în principiu)
enumerarea tuturor stărilor pentru descoperirea
acțiunii optime
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
32. Medii deschise
Cea mai generală categorie:
Inaccesibile
Nedeterministe
Dinamice
Continue
32Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
33. 33
Medii episodice
Performanțele agentului depind de un număr
de episoade discrete
Nu există legătură între performanțele din diferite
episoade
De exemplu: agent de sortare a email-urilor
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
34. Mediul Accesibil Determinist Episodic Static Discret
Şah cu ceas Da Da Nu Semi Da
Şah fără ceas Da Da Nu Da Da
Poker Nu Nu Nu Da Da
Table Da Nu Nu Da Da
Conducerea unei mașini Nu Nu Nu Nu Nu
Sistem de diagnostic medical Nu Nu Nu Nu Nu
Sistem de analiză de imagini Da Da Da Semi Nu
Robot de asamblare componente Nu Nu Da Nu Nu
Controller de rafinărie Nu Nu Nu Nu Nu
Sistem didactic interactiv Nu Nu Nu Nu Da
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
35. 35
Interacțiunea agent-mediu
Sisteme funcționale
f : I O (de exemplu compilatoare)
Au precondiții și postcondiții
Program complet corect cu privire la o precondiție
și o postcondiție
Termină garantat când este executat într-o stare unde se
respectă precondiția
După terminare, este garantată postcondiția
Specificații formale
Divide et impera, rafinări top-down etc.
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
36. 36
Interacțiunea agent-mediu
Sisteme reactive
Specificare în termeni de comportament continuu
Într-un sistem concurent, fiecare modúl este
reactiv
Accepțiunea IA: răspunde rapid la schimbările din
mediu
Brooks: răspunde direct, fără raționament
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
37. Reactivitate
Sistemele reactive sunt mai greu de proiectat decât cele
funcționale
Agentul trebuie să ia decizii locale care să aibă consecințe
globale
Corectitudinea
De exemplu: un agent care dă acces la o imprimantă
Întâi procesul p1, apoi procesul p2
E o regulă corectă, în izolare
Dar dacă se aplică această regulă întotdeauna?
Efectele pe termen lung sunt dificil de înțeles
37Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
38. Sisteme de timp real
Pentru sistemele de timp real, timpul joacă un rol în evaluarea
performanțelor agenților
Tipuri de interacțiuni
Luarea rapidă a unei decizii de acțiune
Atingerea rapidă a unei stări
Repetare cât mai frecventă a unei acțiuni
Procesul de căutare a acțiunilor optime depinde de timp
Căutarea exhaustivă nu este de obicei posibilă
n acțiuni posibile, n! secvențe posibile de acțiune
Orice sistem realist este într-un fel de timp real
Exemple: decizii în milisecunde
PRS, naveta spațială
Remote Agent, Deep Space 1
38Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
39. 39
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
40. 40
Definiție
Un agent inteligent este un agent cu un
comportament flexibil:
Proactivitate: comportament orientat către scop,
preia inițiativa
Reactivitate: răspunde promt la schimbările din
mediu
Abilitate socială: poate interacționa cu alți agenți
(sau cu oameni)
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
41. 41
Proactivitate
Programele tipice (C#/Java) sunt proactive
Se presupune că precondițiile și postcondițiile se
respectă
Într-un SMA, mediul se poate schimba în
timpul execuției
Precondițiile pot deveni false
Dacă scopul nu mai este valid, nu mai trebuie
continuată acțiunea
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
42. Reactivitate
Un server este reactiv: răspunde la cereri
Agenții trebuie să reacționeze la schimbări
Un agent pur reactiv nu se concentrează
suficient de mult pentru atingerea scopului
Găsirea unui echilibru între proactivitate și
reactivitate este o problemă cheie de
proiectare a agenților
42Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
43. 43
Abilitățile sociale
Schimburile uzuale de date între calculatoare
nu au o natură socială
Abilitățile sociale se referă la posibilitățile de
cooperare cu alți agenți cu scopuri comune
Trebuie înțelese scopurile altora
Negociere
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
44. 44
Agenții și obiectele
Şi în proiectarea orientată pe obiecte vorbim de actori
și mesaje
Diferența principală: gradul de autonomie
În obiecte, metodele sunt apelate direct
Fluxul de control se mută direct în metodă
Decizia de execuție este la sursă (obiectul care apelează)
Agenții primesc solicitări de a îndeplini acțiuni
Un agent poate refuza o solicitare
Decizia de execuție este la destinație (agentul care primește
cererea)
Şi în POO un obiect poate avea o singură metodă publică și
condiții în metoda apelată, dar aceasta nu este natura POO
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
45. 45
Agenții și obiectele
“Objects do it for free; agents do it for money”
Obiectele o fac pe gratis, agenții o fac pe bani
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
46. 46
Agenții și obiectele
Agenții au propriul fir de execuție
Programele POO tipice au un singur fir
Deși limbajele POO suportă fire multiple de
execuție
Ideea de autonomie nu este fundamentală în POO
Obiectele active, cu invocări asincrone de
metode, sunt apropiate de agenți, dar nu
sunt neapărat inteligente
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
47. 47
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
48. 48
Motivație
Oamenii folosesc din ce în ce mai mult
dispozitive mobile
Acestea nu sunt permanent conectate
Lățimea de bandă este uneori insuficientă, pot
exista erori de rețea
La fiecare reconectare, adresa se poate schimba
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
49. 49
Mobilitatea
Mobilitatea reprezintă schimbarea perspectivei
agentului asupra mediului
Poate fi schimbarea poziției fizice (agent hardware, robot)
sau deplasarea pe o altă mașină (agent software)
Într-o accepțiune mai restrictivă, un agent mobil este
un program autonom care se poate deplasa în cadrul
unei rețele eterogene
Agentul decide când migrează
Își oprește execuția pe o mașină, migrează și își reia
execuția pe altă mașină din același punct
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
50. 50
Exemple
Un agent pleacă de pe un dispozitiv mobil pe
internet, colectează informații și aduce un
răspuns
Rețeaua poate cădea între timp, agentul nu
necesită o legătură permanentă cu dispozitivul
mobil
Invers, o aplicație de rețea poate trimite agenți
pe dispozitive mobile
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
51. 51
Tipuri de mobilitate
Mobilitatea agenților diferă de mobilitatea proceselor în sisteme
distribuite
În sistemele distribuite, sistemul de operare decide (de exemplu
pentru echilibrarea încărcării)
Agentul decide el însuși
Mobilitate slabă
Se transferă codul și starea datelor (valorile variabilelor interne)
Mobilitate puternică
Se transferă și contextul de execuție: stiva, registrele procesorului,
adresa instrucțiunii curente etc.
Platforma JADE: “not-so-weak mobility”
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
52. 52
Avantaje ale agenților mobili
Reducerea traficului în rețea
Depășirea problemelor de latență a rețelei
Execuție asincronă și autonomă
Încapsularea protocoalelor de comunicație
Integrarea sistemelor eterogene
Robustețe și toleranță la defecte
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
53. 53
Probleme de implementare
Securitatea
Protejarea host-urilor de agenții rău intenționați
Protejarea agenților de host-urile rău intenționate
Portabilitatea și standardizarea
Agenții trebuie să ruleze pe platforme compatibile
Reprezentarea codului trebuie să fie independentă
de platformă: Java bytecode, DotNet MSIL/CIL
Performanțele și scalabilitatea
Limbajele interpretate sunt mai lente, JIT
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
54. 54
Aplicații ale agenților mobili
Comerț electronic
Asistență personală
Intermedieri sigure
Regăsire distribuită de informații
Servicii pentru rețele de telecomunicații
Aplicații pentru fluxuri de producție sau de
documente
Monitorizare și notificare
Diseminare de informații
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
55. 55
Introducere în domeniul agenților
1. Introducere
2. Agenții
3. Agenții inteligenți
4. Agenții mobili
5. Aplicații ale agenților
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
56. Aplicații ale agenților
Aplicații comerciale
Comerț electronic
Managementul informațiilor:
colectare, filtrare
Managementul proceselor
organizaționale
Aplicații industriale
Procesele de fabricație
Control de proces
Controlul traficului aerian
Sisteme de transport
Aplicații de divertisment
Jocuri (de exemplu Creatures)
Teatru sau filme interactive
Aplicații medicale
Monitorizarea pacienților
Tratament personalizat
56
Pentru detalii, consultați suportul de curs.
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm