Sunteți pe pagina 1din 54

Modelarea şi analiza

sistemelor multi-agent
1. AgenŃi. AgenŃi inteligenŃi

Florin Leon

Universitatea Tehnică „Gh. Asachi” 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


AgenŃi. AgenŃi inteligenŃi
1. Introducere
2. AgenŃii
3. AgenŃii inteligenŃi
4. AgenŃii mobili

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃi. AgenŃi inteligenŃi
1. Introducere
2. AgenŃii
3. AgenŃii inteligenŃi
4. AgenŃii mobili

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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


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


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?

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


InteligenŃa
 Determinată de:
 Creşterea complexităŃii problemelor
 Nevoia de a automatiza rezolvarea unor
task-uri

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Delegarea
 Cedarea controlului către sistemele
computerizate
 Avioane cu pilot automat

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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
 EvoluŃia generaŃiilor de limbaje de programare
 Cod maşină, asembler, 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


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

10

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


IndependenŃa
 Este nevoie de sisteme 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
 Cooperare, coordonare, negociere (vezi următorul slide)

 Astfel de entităŃi sunt agenŃii

11

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃi şi sisteme multi-agent
 Proiectare
 Proiectarea agenŃilor vs. proiectarea societăŃii
 DistincŃia micro-macro
 Probleme
 Cooperare vs. agenŃi egoişti
 Limbaje de comunicare suficient de expresive
 Recunoaşterea conflictelor şi negocierea
 Coordonarea pentru atingerea scopurilor

12

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Exemple de aplicare
 AgenŃii îşi dovedesc utilitatea în situaŃii
precum:
 Controlul unor sonde spaŃiale
 NASA Deep Space 1 (1998-2001)
 Sisteme de control al traficului aerian
 OASIS, aeroportul din Sydney (prototip, 1995)
 Sisteme de control al traficului auto
 Distributed Vehicle Monitoring Testbed, DVMT
 Căutarea unui pachet complet de vacanŃă
 Negocierea ofertelor de achiziŃii publice

13

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Perspective asupra domeniului
 AgenŃii ca paradigmă pentru ingineria
programării
 SoluŃie pentru creşterea complexităŃii
 Arhitecturi de componente care
interacŃionează dinamic, multi-thread, cu
protocoale de coordonare
 Sunt necesare tehnici diferite faŃă de
modelarea sistemelor de obiecte pasive, cu
stare şi operaŃii

14

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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ă

15

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


SMA şi sistemele
distribuite/concurente
 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
16

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


SMA şi IA
 AIMA: AI => SMA
 AlŃi cercetători: SMA => IA
 IA-ul se ocupă de componente ale
inteligenŃei, SMA trebuie să le integreze, dar
nu e necesar să rezolve toate problemele IA-
ului
 „AgenŃii inteligenŃi sunt 99% ştiinŃa calculatoarelor
şi 1% inteligenŃă artificială”
 Pentru SMA sunt importante aspectele sociale

17

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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 teoria jocurilor au fost
aplicate cu succes în SMA (de ex. negocieri)
 SMA folosesc aceste rezultate într-un mediu
computaŃional
 Conceptul de „agent raŃional” este util pentru
înŃelegerea societăŃilor umane sau de agenŃi?

18

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


SMA şi ştiinŃele sociale
 ŞtiinŃele sociale îşi propun înŃelegerea
comportamentului societăŃilor
 Pot folosi SMA ca instrument
 SMA poate 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

19

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃi. AgenŃi inteligenŃi
1. Introducere
2. AgenŃii
3. AgenŃii inteligenŃi
4. AgenŃii mobili

20

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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
 ÎnvăŃarea, mobilitatea

21

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Structura de bază

22

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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

23

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Exemple de agenŃi
 Sisteme de control
 Termostat

 Efectul nu este garantat


 De exemplu: uşă deschisă
 Sonde spaŃiale, pilot automat
 Sisteme de control al reactoarelor nucleare

24

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Exemple de agenŃi
 Daemoni software
 xbiff în X Windows
 Monitorizarea e-mail-ului
 Foloseşte alte programe (de exemplu: ls)
 AgenŃi de notificare
 Gmail, Yahoo!, Hotmail

25

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Medii 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 acŃiuni şi percepte

26

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Accesibilitate
 Nu putem şti temperatura curentă de la
Polul Nord
 Mediile accesibile sunt mai simple
 Deciziile depind de calitatea informaŃiilor

27

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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 şi
dacă e necesar să refacă planul
 Într-un mediu nedeterminist, agenŃii au
control parŃial şi acŃiunile pot eşua
 Un mediu determinist foarte complex poate fi
tratat ca unul nedeterminist

28

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Dinamism
 Metodele clasice de planificare din IA consideră mediul static
 ExistenŃa proceselor concurente detemină medii dinamice
 Într-un mediu dinamic, dacă agentul nu face nicio acŃiune între
între 2 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 schimbă î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

29

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Continuitate
 Exemple: şah – mediu discret, conducerea
unei maşini – mediu continuu
 Calculatoarele sunt discrete, continuitatea
este aproximată
 Se pot pierde informaŃii prin discretizare
 Într-un mediu discret este posibilă
enumerarea tuturor stărilor posibile pentru
descoperirea acŃiunii optime

30

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Medii deschise
 Medii inaccesibile, nedeterministe,
dinamice şi continue
 Cea mai generală categorie

31

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


InteracŃiunea agent-mediu
 Sisteme funcŃionale
 f : I -> O (de exemplu compilatoare)
 Au precondiŃii şi postcondiŃii
 Program complet corect cu referire la o
precondiŃie şi o postcondiŃie
 Termină garantat când este executat într-o stare unde se
respectă precondiŃia şi după terminare postcondiŃia este
garantată
 Divide-et-impera, rafinări top-down, rafinări
succesive etc.

32

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


InteracŃiunea agent-mediu
 Sisteme reactive
 Specificare în termeni de comportament
continuu
 Într-un sistem concurent, fiecare modul
este reactiv
 AccepŃiunea IA: răspunde rapid la
schimbările din mediu
 Brooks: răspunde direct fără raŃionament

33

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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
 Efectele pe termen lung sunt dificil de
înŃeles
 PredicŃii iniŃiale?

34

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Corectitudine
 Exemplu: agent care dă acces la
imprimantă
 Întâi procesul p1, mai târziu procesul p2
 E o regulă corectă în izolare
 Dar dacă aplică această regulă
întotdeauna?

35

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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 e-mail-
urilor

36

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Sisteme de timp real
 Pentru sistemele de timp real, timpul joacă un rol în
evaluarea performanŃelor agenŃilor
 Tipuri de interacŃiuni
 ExecuŃie în interval
 ExecuŃie cât mai rapidă
 Repetarea cât mai frecventă
 Procesul de căutare a acŃiunilor optime depinde de
timp
 Căutarea exhaustivă (n!) nu este de obicei posibilă
 Orice sistem este într-un fel de timp real
 Exemplu: PRS, Naveta spaŃială: decizii în milisecunde

37

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃi. AgenŃi inteligenŃi
1. Introducere
2. AgenŃii
3. AgenŃii inteligenŃi
4. AgenŃii mobili

38

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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)

39

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Proacivitate
 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

40

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Reactivitate
 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

41

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Abilitate socială
 Schimburile uzuale de date între
calculatoare nu au o natură socială
 Abilitatea socială se referă la
posibilităŃile de cooperare cu alŃi agenŃi
cu scopuri comune
 Trebuie înŃelese scopurile altora
 Negociere

42

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃii şi obiectele
 Şi în proiectarea OO vorbim de actori, 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 obiectul poate avea condiŃii în metoda
apelată, dar aceasta nu este natura POO

43

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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

44

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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 (invocări asincrone de
metode) sunt apropiate de agenŃi, dar nu
sunt neapărat inteligente

45

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃii şi sistemele expert
 SE nu sunt parte a mediului, nu
interacŃionează cu mediul fizic, ci prin
intermediari
 Sunt „consultanŃi”
 SE nu cooperează cu alte SE

46

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


AgenŃi. AgenŃi inteligenŃi
1. Introducere
2. AgenŃii
3. AgenŃii inteligenŃi
4. AgenŃii mobili

47

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


MotivaŃie
 Oamenii folosesc din ce în ce mai mult
dispozitive mobile
 Acestea nu sunt permanent conectate
 LăŃimea de bandă e uneori insuficientă, pot
exista erori de reŃea
 La fiecare reconectare, adresa se poate
schimba

48

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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 restrctivă, un agent mobil este
un program autonom care se poate deplasa în cadrul
unei reŃele eterogene
 Agenul decide când migrează
 Îşi poate opri execuŃia pe o maşină, migrează şi îşi reia pe
altă maşină execuŃia din acelaşi punct

49

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Exemple
 Un agent pleacă de pe un PDA 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 PDA-ul
 Invers, o aplicaŃie de reŃea poate trimite
agenŃi pe PDA-uri

50

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Tipuri de mobilitate
 Mobilitatea agenŃilor diferă de mobilitatea proceselor
în sisteme distribuite
 În SD, 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”

51

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Avantaje ale agenŃilor mobili
 Reducerea traficului în reŃea
 Depăşirea problemelor de latenŃă a
reŃelei
 Încapsularea protocoalelor de
comunicaŃie
 ExecuŃie asincronă şi autonomă
 Integrarea sistemelor eterogene
 RobusteŃe şi toleranŃă la defecte
52

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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
 PerformanŃele şi scalabilitatea

53

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


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

54

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm

S-ar putea să vă placă și