Sunteți pe pagina 1din 55

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
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 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


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 4


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 5


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 6


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 7


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 8


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 9


“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 10


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 11


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

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


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 13


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

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


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 15


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 16


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 17


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 18


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 19


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 20


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 21


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 22


Structura de bază

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


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 24


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 25


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 26


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 27


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 28


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 29


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
 Într-un mediu semi-static, mediul este static, dar performanțele
agenților se schimbă în timp

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


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 31


Medii deschise
 Cea mai generală categorie:
 Inaccesibile
 Nedeterministe
 Dinamice
 Continue

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


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 33


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


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

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


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 36


Definiție
 Un agent inteligent este un agent cu un
comportament flexibil:
 Proactivitate: comportament orientat către scop,
preia inițiativa
 Reactivitate: răspunde prompt 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 37


Proactivitate
 Programele tipice (C#/Java) sunt proactive
 Se presupune că precondițiile și postcondițiile se respectă
 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 38


Proactivitate
 Î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 39


Reactivitate
 Exemplu: un server este reactiv, răspunde la cereri
 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

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


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

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


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 42


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 43
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 44


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 45


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 46


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 47


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 48


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 49


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 50


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

Pentru detalii, consultați suportul de curs


Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 51
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 52


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

Pentru detalii, consultați suportul de curs


Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 53
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 54


Aplicații ale agenților
 Aplicații comerciale  Aplicații de divertisment
 Comerț electronic  Jocuri (de exemplu Creatures)
 Managementul informațiilor:  Teatru sau filme interactive
colectare, filtrare  Aplicații medicale
 Managementul proceselor  Monitorizarea pacienților
organizaționale
 Tratament personalizat
 Aplicații industriale
 Procesele de fabricație
 Control de proces
 Controlul traficului aerian
 Sisteme de transport

Pentru detalii, consultați suportul de curs


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

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