SlideShare a Scribd company logo
1 of 56
Download to read offline
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
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
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
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
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
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
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
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
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
“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
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
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
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
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
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
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
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
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
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
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
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
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
Structura de bază
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

More from Florin Leon

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)Florin Leon
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareFlorin Leon
 
Modele bazate pe energie
Modele bazate pe energieModele bazate pe energie
Modele bazate pe energieFlorin Leon
 
Retele neuronale profunde
Retele neuronale profundeRetele neuronale profunde
Retele neuronale profundeFlorin Leon
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxFlorin Leon
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorFlorin Leon
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificareFlorin Leon
 
Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Florin Leon
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)Florin Leon
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementareFlorin Leon
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Florin Leon
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Florin Leon
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Florin Leon
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Florin Leon
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Florin Leon
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Florin Leon
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectareFlorin Leon
 
Limbaje de modelare. UML
Limbaje de modelare. UMLLimbaje de modelare. UML
Limbaje de modelare. UMLFlorin Leon
 
Introducere in ingineria programarii
Introducere in ingineria programariiIntroducere in ingineria programarii
Introducere in ingineria programariiFlorin Leon
 
Invatarea cu intarire
Invatarea cu intarireInvatarea cu intarire
Invatarea cu intarireFlorin Leon
 

More from Florin Leon (20)

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltare
 
Modele bazate pe energie
Modele bazate pe energieModele bazate pe energie
Modele bazate pe energie
 
Retele neuronale profunde
Retele neuronale profundeRetele neuronale profunde
Retele neuronale profunde
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilor
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 
Limbaje de modelare. UML
Limbaje de modelare. UMLLimbaje de modelare. UML
Limbaje de modelare. UML
 
Introducere in ingineria programarii
Introducere in ingineria programariiIntroducere in ingineria programarii
Introducere in ingineria programarii
 
Invatarea cu intarire
Invatarea cu intarireInvatarea cu intarire
Invatarea cu intarire
 

Introducere in domeniul agentilor

  • 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