Upload
sabin-buraga
View
2.801
Download
5
Embed Size (px)
DESCRIPTION
O prezentare privind sisteme de agenti software in contextul tehnologiilor Web-ului semantic.
Citation preview
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Web semantic
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
“A trai inseamna inainte de toate a participa.”
Georges Mathieu
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Ce face un agent uman – agent imobiliar, hotelier,...?
“As dori sa merg in Egipt, miine.”
intrebare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Delegarea actiunilor
Autonomie, pro‐activitate, reactivitate
Cooperare, mobilitate, adaptabilitate
raspuns
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti software
orice sistem poate fi privit ca fiind un agent software (Enrico Franconi, 2003)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Automobilul “inteligent”perceptii: video, accelerometru, senzori monitorizind
starea motorului, tastatura de bord, GPS,...
actiuni: schimbarea vitezei, frinare, accelerare,afisarea parametrilor esentiali, recomandarea rutelor etc.
scopuri: siguranta calatoriei, atingerea destinatiei, maximizarea profitului, respectarea regulilor,...
mediul: reteaua de (auto)strazi, traficul, pietonii, meteo,...
agenti software: studiu de caz
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agentul software ca modul de rationamental unui agent rational
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agent software inteligententitate care percepe mediul si actioneazaconform cunostintelor deja acumulate(internal declarative body of knowledge)
aceste cunostinte trebuie modelateastfel incit sa poata fi intelese de catre masina
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Puncte de vedere:
agentii ca entitati comportamentaleagentii ca descriere a atributelor acestora
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Aspect important:
autonomiaun agent este un sistem computational capabil
sa realizeze actiuni autonome in cadrul unui mediu
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca entitati comportamentaleagere (lat.)
asocierea calitatilor umane masinilor
intelegerea comportamentului si semanticiisistemelor complexe (McCarthy, 1977)
interfata om‐calculator: metafore & interactiune“Ne pare rau, nu exista bilete la zborul dorit”
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca entitati comportamentale
sisteme intentionale: decizii si scopuri
convingeri, dorinte, intentii, planuri
exemplu: termostat – agent trivial (neinteresant)
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca sisteme intentionalecomportamentul uman e prezis si explicatvia atribuirea de atitudini (attitudes)
credinta, dorinta, frica, speranta etc.
“Narcisa munceste din greu,fiindca doreste sa termine proiectul.”
agenti software
notiuniintentionale
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca sisteme intentionalesistem intentional (Daniel Dennett)
compus din entitati ale caror comportament poate fi prezisprin atribuirea de proprietati precum credinta, dorinta
sau rationalitatea
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca sisteme intentionaleIntrebare: Este oare legitim/folositor sa atribuimsistemelor computerizate astfel de atribute?
Raspuns: Da (McCarthy), daca notiunile intentionale suntconsiderate la nivel abstract (mod familiar si convenabilde descriere, explicare si prezicere a comportamentului
sistemelor complexe) – Wooldridge, 2002
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca descriere a atributelor lorentitati software posedind functii
comportamentale, rulind autonom si continuuin medii colective, compuse din alti agenti
si procese
a se parcurge J. Bradshow, Software Agents,AAAI Press/MIT Press, 1997
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii ca descriere a atributelor lorreactie
autonomiecolaborarepersonalitateadaptabilitateinferentamobilitate
…
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Remarca:nu exista o definitie unanim acceptata
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii implica termeni/cunostinte din:calcul distribuit
inteligenta artificialainteractiune om‐masinainginerie software
filosofielingvisticapsihologie
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii implica termeni/cunostinte din:inteligenta artificiala
reprezentarea cunostintelor si a contextuluimodelarea mediului
cunoasterea actiunilor: pre‐conditii, efecte, chainingrationament, deducere automata
invatare automata (machine learning)
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii implica termeni/cunostinte din:calcul distribuit
inter‐comunicare (semnale, mesaje,...) client/server vs. peertopeer
servicii Webnegocierea mesajelorpervasive computing
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti software
agentii in context – conform Miles Davis, 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii trebuie sa asigure autonomia sicontinuitatea actiunilor intreprinse
capabili sa actioneze in mod flexibil si inteligent, adaptindu‐se situatiilor survenite
fara aportul utilizatorului
agenti: caracterizare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Ideal, un agent trebuie sa invete din propria‐iexperienta si sa dezvolte tehnici de comunicare
si de cooperare cu alti agenti si/sausa manifeste mobilitate
agenti: caracterizare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Utilizarea termenului “agent”:agenti de interfata
personaje animate (embodied agents)agenti BDI – logica & rationament automat
agenti mobiliagenti autonomi & reactivi – robotica
agentie a multi‐agentilor…
agenti: caracterizare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: embodied agents
animatie artisticagrafica computationala
caracter inteligent al comportamentului
agenti: caracterizare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Autonomiacomportament directionat spre un scop specific,
independent de utilizator
agentul opereaza fara interventia directa a utilizatoruluisau a altor entitati (procese, aplicatii, sistem de operare),avind o stare interna si un anumit grad de control al
actiunilor sale
exemple: daemonii UNIX, sendmail,… (sunt agenti?)
agenti: atribute
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Reactivitateacapacitatea unui agent de a‐si percepe mediulde executie si de a (re)actiona la schimbarile
din cadrul acestui mediu
optiunile alese de agent pot fi influentate de intrare (input)
contrast cu sistemele expert
agenti: atribute
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Adaptabilitateacapacitatea agentului de a invata si de a se dezvolta,
tinind cont de experienta acumulatasi de versatilitate in rezolvarea unor situatii inedite
agenti: atribute
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Colaborareaposibilitatea ca un agent sa fie capabil
sa interactioneze cu alti agenti(ori cu utilizatori umani)
printr‐un limbaj de comunicare(agent communication language – ACL)in vederea indeplinirii unui scop comun
agenti: atribute
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Mobilitateaabilitatea agentului de a migra de la sinede pe o platforma (gazda – host) pe alta
agenti: atribute
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: atribute
O taxonomie a agentilor – conform (Tim Jones , 2003)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modele:agent
ciclul de viatacomputationalsecuritatecomunicatienavigare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul agentdefineste structura interna a unui agent
specifica diverse caracteristici: autonomia, capacitatea de auto‐invatare, cooperarea,
reactivitatea si pro‐activitatea
arhitectura poate fi considerata ca fiind una paralela
fiecare agent are propria sa “viata” autonoma
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul ciclului de viatadefineste stari de executie si
evenimentele care determina tranzitiile de stare
tipuri: procese persistente (Telescript, AgentTCL)sau actiuni (agleti Java)
formalizari: teoria automatelor, retelele Petri,algebre de proces – e.g., π‐calcul
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul computationalspecifica semantica executiei agentului,
cind se afla in starea de rulare
calcul este facilitat de o masina reala (procesor) sau de una abstracta – e.g., JVM, CLR .NET
defineste setul de instructiuni primitive, specificindabilitatile de calcul (e.g., controlul firelor de executie)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul securitatiiprotejarea gazdelor de actiunile agentilor versusprotejarea agentilor de actiunilor gazdelor
pericole asupra sistemului de agenti (mobili)
pericole asupra gazdelor Internet:interferente in activitate, propagare demalware,
atacuri gen (D)DoS,…
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul comunicariiasigura comunicarea agentilor cu entitati ca utilizatorii,agentii (statici/mobili), mediul de management al
agentilor, sistemul de operare al gazdei, alte sisteme distribuite – e.g., sisteme P2P
comunicarea se folosestesi in vederea coordonarii activitatii agentilor
foloseste un protocol de comunicatie
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul navigariiasigura mobilitatea (migrarea task‐urilor si/sau codului)
în vederea descoperirii surselor de destinatiepe care agentii trebuie sa le aleaga sa‐si execute codul
probleme: conventii de numire (adresare), accesul lainformatii la distanta, modul de mutare a unui agent pealta gazda, receptionarea unui agent de la distanta,
gasirea celei mai “prietenoase” gazde
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: modelare
Modelul navigariiutilizarea ontologiilor (Luc Moreau et al., 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Poate fi considerata mediu de executie
determina gradul de autonomie si autoritate pe care‐l areun agent, dat de natura interactiunilor dintre agenti si
alte entitati
agentii ruleaza sincron sau asincron mecanisme de comunicare asincrona (e.g., servicii de rutare)
agentia (Alan Kay, 1994)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Mai multe agentii pot formaun mediu orientat‐agent:
FIPA (The Foundation of Intelligent Physical Agents)
implementari: Agentcities
FIPA‐OS (FIPA OpenSource)
agentia
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Mediu al agentilor mobili ≡ sistem distribuit, peste o retea de calculatoare eterogene
(eventual, creata adhoc)
mediu de executie pentru agentii mobili, implementîndmajoritatea modelelor care apar în definitia agentului
ofera servicii de suport pentru interactivitatea agentilormobili cu mediul si pentru accesarea altor sisteme
(orientate sau nu agent)
agentia
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agentia
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Modelare ontologica – in cadrul sistemului SOFAR(SOuthamton Framework for Agent Research)
Luc Moreau, Victor Tan & Nick Gibbins
agentia
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Tipuri de aplicatiiagenti de interfata – e.g., agenti de regasire documentara
in timp‐real (realtime information retrieval)
ecommerce, sisteme de recomandare, cautare Web
industria de telecomunicatii
industria de divertisment – de exemplu, jocuri
modelarea comportamentului uman(simulare, elearning,…)
agenti: utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii de interfata
invata din modele de interactiune cu oameniiexplica actiunile ce pot fi efectuate asupra interfetei
ofera sugestii si ajutorcu rol de amuzament (iritare?)
agenti: utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Suport acordat diferitelor industrii
controlul proceselor industrialecontrolul traficului aerian – agentii BDI
managementul distribuit al dispozitivelor electronice
agenti: utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Ecommerce
clasificarea si potrivirea produselor si serviciilorconsilierea in privinta cumpararii/vinzarii/licitatiilor
operarea pe piete de desfacere virtuale
agenti: utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: utilizari
Licitatii electronice facilitate de sisteme multi‐agent(Christopher Walton, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
agenti: utilizari
Ontologii in contextul etravel – sistemul de agenti RACING (Vadim Ermolayev, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii de modelare/simulareinteractiunea cu utilizatorii in medii virtuale (3D)
agenti: utilizari
sistemul STEVE – J. Rickel, L. Johnson, M. Thiebaux et al., 2002
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
ProvocareCe tehnici trebuie adoptate pentru a putea folosi
sisteme compuse din 1010 procesoare?
intrebare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Construirea unor sisteme de calcul care sa actioneze efectiv independent de om sicare sa ne reprezinte propriile noastre(cele mai bune) interese via cooperare
raspuns
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Sistem compus din mai multi agenti,care interactioneaza unul cu altul
Michael Wooldridge, 2002
in general, agentii reprezinta interesele utilizatorilor(scopuri & motivatii)
pentru o buna interactiune, agentii trebuie sa poatacoopera, coordona si negocia
sistem multi‐agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Un sistemmulti‐agent este o retea slab conectatacompusa din entitati computationale care
lucreaza impreuna la rezolvarea unei problemece nu poate fi solutionata in mod individual
(Bradshow, 1997)
aceste entitati – agentii – sunt autonome si pot fi eterogene
sistem multi‐agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Fiecare agent poseda informatii sau prezintafunctionalitati incomplete
agentul nu poate rezolva problema(luata in ansamblu), in mod individual
datele procesate sunt descentralizatecalculul se desfasoara asincron
nu exista un control global al sistemului
sistem multi‐agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Domenii de utilizare – exemple:controlul navelor cosmice: NASA
controlul traficului aerian: aeroportul din Sydneymanagementul proceselor economicemanagementul sistemelor energeticecontrolul proceselor manufacturiere
ecommerce (agenti de recomandare a produselor,agenti de cautare,...)
social networking – la nivel de Web sau dispozitive mobile…
sistem multi‐agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Intrebari:Cum trebuie formulate, descrise, descompuse si alocateproblemele dorite a fi rezolvate?
Cum se sintetizeaza rezultatele?Cum/cind vor comunica si interactiona agentii? Cum se asigura faptul ca agentii sa fie coerentiin luarea deciziilor si executia actiunilor?
Cum vor reprezenta si manipula agentii actiunile, planurile si cunostintele?
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Intrebari (continuare):Cum se vor detecta si reconcilia intentiile conflictuale sipunctele de vedere diferite asupra problemei de rezolvat intre agenti?
Cum se va organiza alocarea resurselor limitate?Cum se vor proiecta & implementa sisteme multi‐agent reale?
Exista metodologii si tehnologii ce vor fi folosite?
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Aplicatii care necesita cooperare:Retele de senzori (radar, detectoriacustici/optici, seismografe,…)
Controlul traficului (de retea) Supravegherea centralelorenergetice
Roboti mobiliAplicatii Internet/Web
Informatiidistribuite
Procesaredistribuita
Control distribuit
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor
se foloseste protocolul de contract in reteathe contract net(Smith, 1980)
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor: the contract netrezolvarea in maniera distribuita a unei problemei:
DPS – Distributed Problem Solving (nici un agent nu are date suficiente pentru a rezolva singur problema)
distribuirea activitatilor ≡ negociere a unui contract
se specifica nu doar forma,ci si continutulmesajelor vehiculate
informatiile sunt transferate in regim fullduplex
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor: Distributed Problem Solvingcontrolul & datele sunt distribuite
comunicatiile sunt mai lente decit calcululloose coupling (conectare slaba)protocolul trebuie sa fie eficientproblemele trebuie modularizate
problemele pot avea un spatiu mare de solutii
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor: Distributed Problem Solvingorice nod poate cauza probleme
distribuie dateledistribuie controlul
nu se poate garanta comportamentul organizat – nici un nod nu are privirea de ansamblu asupra problemei
ce se intimpla daca un nod (agent) cade?
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor – etape:Descompunerea problemeiproblem decomposition
Distribuirea sub‐problemelorsubproblem distribution
Gasirea solutiilor sub‐problemelorsubproblem solution
Sintetizarea rezultateloranswer synthesis
sistem multi‐agent: cooperare
Aici intervineContract Net
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilororice nod poate juca, in mod dinamic, rol de manager sau de contractor
cind un nod primeste spre rezolvare o problema compusa, devinemanager si o divide in sub‐activitati – daca e posibil – care vor fi solutionate de alte noduri (gazde)
un nod care receptioneaza un anunt de rezolvare a unuitask va replica cu o descriere a cit de bine il poate face
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilorva cistiga nodul care poate rezolva acel task cel mai bine
managerul are rol de distribuire a activitatilorsi de colectare a rezultatelor
protocolul asigura alocarea dinamica a sarcinilor,permitind agentilor sa‐si ofere serviciile
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilornodurile interesate de rezolvarea unei activitati
trebuie sa evalueze sarcina oferita(task evaluation procedure)
in functie de domeniul de activitate
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilorofertele primite de manager sunt si ele evaluate
(bid evaluation procedure)
ambele tipuri de evaluari sunt deliberativenu sunt simple selectii
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilortipuri de mesaje vehiculate:
anunt de sarcini (task announcement)oferta (bid)
acceptare (award)raport preliminar (interim report)
raport final – include descrierea rezultatelorterminare – managerul doreste terminarea contractului
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Alocarea activitatilor – optimizari:dialog focalizat – unicast / anycast
(atunci cind broadcastul nu este necesar)
contracte directe(cind managerul cunoaste care este cel mai “bun” nod)
mecanism cerere/raspuns (pentru transferuri simple,fara initierea in prealabil a unor contracte)
inversarea initiativei negocierii
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Arhitectura blackboardSurse de cunoastere (knowledge sources – KS) procese multiple, eterogene, independente, in executie asincrona
Cooperare (in termeni de control) via o forma generalizata de mesaje ipoteza‐test, implicind invocarea directa a proceselor KS
Comunicare (in termeni de date) via o baza de cunostinte partajata – “tabla” (blackboard)
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Arhitectura blackboard – model abstract:Sistem paralel de productii (gramatici)
Starea curenta a structurii dinamice de date (tabla)trebuie sa satisfaca un set de preconditii ce pot declansa
actiuni specificateUzual, actiunile vor altera starea curenta a tableiProcesele se opresc atunci cind nu este satisfacuta
nici o preconditie sau cind se executa o operatie “stop”(esec/solutie)
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Arhitectura blackboard – aplicatii:Hearsay II Speech Understanding System
(Carnegie‐Mellon, 1976)interpretarea vorbirii,
folosind un vocabular de mari dimensiuni
prim exemplu de arhitectura blackboard“A problemsolving organization that can effectively exploit
a multiprocessor system.” – Fennel & Lesser, 1976
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Modelul FA/CFunctionally Accurate / Cooperative Modelrezolvarea problemelor de interdependenta
intre agenti care coopereazafunctionally accurate: “the generation of acceptably
accurate solutions without the requirement that all sharedintermediate results be correct and consistent.”
cooperative: an “iterative, coroutine style of nodeinteraction in the network.”
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Modelul FA/C comunicare mai redusa intre agenti
(rezultatele partiale nu mai sunt verificate)
sincronizarea poate fi redusa/eliminataun grad mai mare de paralelism
comportament mai robust: erorile hardware sunt tratatela fel ca erorile software rezultate din informatii
incomplete ori inconsistente
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Planificarea activitatilorimplica reprezentarea si regasirea cunostintelor
sisteme de planificare:a robotilor
a experimentelor biologicea actelor vorbirii
a executiei serviciilor Web…
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Agentii de planificare (planning agents)incearca sa realizeze deductii logice
pentru a rezolva problema
se ia in calcul existentaunui domeniu (modelat ontologic)
semantica lumilor posibile
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
In general, un sistem de planificare “gaseste”o secventa de actiuni care realizeaza tranzitii
de la starea initiala I la o stare‐scop G (goal state)
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
I G
a1
a17
a142
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: lumea blocurilor (blocks world) lumea este compus dintr‐un set de blocuride dimensiuni egale dispuse pe o masa
bratul unui robot – condus de un agent – manipuleazablocurile via actiunile:UNSTACK (a, b)STACK (a, b)PICKUP (a)
PUTDOWN (a)
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Pentru a descrie lumea, vom utiliza predicatele:ON (A, B)ONTABLE (B)ONTABLE (C)CLEAR (A)CLEAR (C)ARMEMPTY
A
B CIn acestcaz, true
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
In general, exista urmatoarele predicate:ON (a, b) – blocul b este peste aHOLDING (a) – bratul robotului detine blocul aONTABLE (a) – blocul a este pe masaARMEMPTY – bratul este liber (nu are nici un bloc)CLEAR (a) – blocul a nu are alt bloc peste el
Fapte intotdeauna adevarate – axiome:[ ∃ x HOLDING (x) ] → ¬ ARMEMPTY∀ x [ ONTABLE (x) → ¬ ∃ y [ON (x, y)] ]∀ x [ ¬ ∃ y [ON (y, x)] → CLEAR (x) ]
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Adaugam fiecarui predicat variabile de stare si utilizam functia DO care asociaza noi stariactiunilor si starilor curente: DO : A × S→ S
de exemplu, DO (UNSTACK (x, y), S)va conduce la tranzitia intr‐o noua stare
aceasta functie ne va ajuta la caracterizarea actiunilorce pot fi realizate in lumea considerata
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Consideram situatia:
sistem multi‐agent: planificare
A
B
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
UNSTACK:[ CLEAR (x, s) ∧ ON (x, y, s) ] →
[ HOLDING (x, DO (UNSTACK (x, y), s)) ∧ CLEAR (y, DO (UNSTACK (x, y), s)) ]
se poate demonstra ca daca S0 este:ON (A, B, S0) ∧ ONTABLE (B, S0) ∧ CLEAR (A, S0)
atunci:HOLDING (A, DO (UNSTACK (A, B), S0)) ∧CLEAR (B, DO (UNSTACK (A, B), S0))
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
PUTDOWN:HOLDING (x, s) →
ONTABLE (x, DO (PUTDOWN (x), s))
se poate demonstra ca:ONTABLE (A,
DO (PUTDOWN (A),DO (UNSTACK (A, B), S0)))
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Aceste actiuni imbricate dau planul agentului:1. UNSTACK (A, B)2. PUTDOWN (A)
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Daca in baza de cunostinte a agentului existaON (A, B, S0) ∧ ONTABLE (B, S0) ∧ CLEAR (A, S0)si scopul lui este ∃ s (ONTABLE (A, s)), atunci
putem folosi tehnici de demonstratie automata deteoreme pentru a gasi (urma) planul
metode bazate pe limbaje logice: Prolog & derivatelemetode bazate pe reguli
metode privitoare la rationament automat
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Frame problem
cum determinam ce se schimba si ce nu se schimbain cadrul lumii considerate in urma executiei unei actiuni?
folosirea unor axiome‐cadru (frame) care specificainvarianta valorii de adevar a predicatelor
dupa indeplinirea unei actiuni
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Frame problem
exemple:ONTABLE (z, s) → ONTABLE (z, DO (UNSTACK (x, y), s))
[ ON (m, n, s) ∧ DIFF (m, x) ] →ON (m, n, DO (UNSTACK (x, y), s))
sistem multi‐agent: planificare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Pentru a modela comportamentul agentilor,se considera uzual tehnica rationamentului practic
(practical reasoning)
“Practical reasoning is a matter of weighing conflictingconsiderations for and against competing options, wherethe relevant considerations are provided by what the agentdesires/values/cares about and what the agent believes.”
(Bratman)
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
In cazul omului, rationamentul practic constadin urmatoarele activitati:deliberare (deliberation)
a decide ce stare a lumii dorim sa atingemrationament final (meansends reasoning)
a decide cum ajungem in starea dorita
rezultatele deliberarii ≡ intentiile
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Modelare:reprezentarea scopului/intentiei de indeplinit
reprezentarea actiunilor executatereprezentarea mediului de executie
generarea unui plan pentru a atinge un scop
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
planificator
scopuri/intentii/task‐uri
starea mediului
actiunile posibile
planul pentru a atinge scopul
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: lumea blocurilor(un brat de robot, 3 cuburi, o masa)
pentru reprezentarea mediului, consideram o ontologie:On (x, y) obiectul x e peste yOnTable (x) obiectul x este pe masaClear (x) nu este nimic peste xHolding (x) bratul tine obiectul x
lumea e inchisa (orice nu‐i specificat se considera a fi fals)
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Un scop este reprezentat ca un set de formuleexemplu: OnTable (A) ∧ OnTable (B) ∧ OnTable (C)
AB C
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Pentru fiecare actiune se specifica:numele – eventual, si argumentele aferente
o lista de preconditii (faptele care trebuie sa fie adevarate pentru actiunea ce va fi executata)
o lista de stergere – delete list (faptele care nu vormai fi adevarate dupa executia actiunii)
o lista de adaugare – add list (faptele care vor fi evaluate ca adevarate executind actiunea)
toate acestea pot contine variabile
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: actiunea Stack are loc atunci cind bratulplaseaza obiectul x pe care‐l tine peste obiectul y
Stack (x, y)pre Clear (y) ∧ Holding (x)del Clear (y) ∧ Holding (x)add ArmEmpty ∧ On (x, y)
similar pentru actiunea Unstack
A
B
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: actiunea Pickup are loc atunci cind bratulia un obiect x de pe masaPickup (x)
pre Clear (x) ∧ OnTable (x) ∧ ArmEmptydel OnTable (x) ∧ ArmEmptyadd Holding (x)
idem pentru actiunea Putdown in urma careia bratul,detinind un obiect x, il plaseaza pe masa
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Specificarea unui plan consta in specificarea listei(secventei) de actiuni ce trebuie executatede agent, in care variabilele se substituie
cu constante
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Strategii – de exemplu, cazul STRIPS:plasarea scopurilor intr‐o stiva de scopuri (goal stack),
cel mai important scop fiind cel din virful stivei(acest top goal poate implica rezolvarea unor sub‐scopuri,
plasate si ele in stiva)
specificarea unui set de reguli de manipulare a stivei,in functie de problema ce trebuie rezolvata
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Schelet de implementare, folosind rationamentul practic:
Agent Control Loop Version 11. while true2. observe the world;3. update internal world model;4. deliberate about what intention to achieve next;5. use means-ends reasoning to get a plan for the intention;6. execute the plan7. end while
sistem multi‐agent: comportament
Nu ne intereseaza
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Aspecte de luat in consideratie:
timpul consumat pentru deliberare sirationament final – time cost
putem formaliza “ciclul de viata” al agentului?
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Mai formal, avem:
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Cum delibereaza agentul?
intelegerea optiunilor disponibile
alegerea unora si comiterea (executia) lor
optiunile alese sunt intentii
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Functia de deliberare este compusa din:generare a optiunilor + filtrare
generarea optiunilor considera credintele siintentiile curente ale agentului, dintre care se determina un set de optiuni (≡ dorinte)
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Strategii de comitere a optiunilor(commitment strategies):blind (fanatical) commitment – agentul va continua sa mentina o intentie pina cind aceasta e indeplinita
singleminded commitment – intentia va fi mentinutapina e indeplinita sau nu exista nici o posibilitatede‐a fi indeplinita
openminded commitment – se va mentine intentia, atit timp cit se va putea indeplini
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
De fiecare data cind un plan esueaza(sau este pe cale de a esua),
agentul va putea sa realizeze replanificarea
intra in joc verificarea validitatii planului
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Intrebari:Exista intentii care pot fi (re)considerate?
Ele sunt “bune”?
Intentiile nu ar trebui reconsideratedupa executia actiunilor?
Pe care le reconsideram?
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Atentia trebuie focalizata asupra strategiilorde reconsiderare a intentiilor(Kinny & Georgeff, 1996)
rata de schimbare a lumii – dinamismul
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Termeni utilizati: credinte (beliefs), dorinte (desires), intentii (intensions), planuri (plans) arhitecturi BDI
sistem multi‐agent: comportament
structura unui agent BDI – conform (Lyell, Levy & Satapathy, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Semantica sistemelor multi‐agent BDIse bazeaza pe logici BDI (Rao & Georgeff, 1995)
logici neclasice cu conectori modali, extensii ale logicilortemporale arborescente CTL* (Emerson, 1990)
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Logica BDIStructura semantica de baza: un arbore temporal etichetat
Din logica clasica: ∧, ∨, ¬, …Calificatori de cale CTL* (path quantifiers):
A φ pe toate caile, are loc φE φ pe unele dintre cai, are loc φ
Conectori BDI:(Bel i φ) i crede φ(Des i φ) i doreste φ(Int i φ) i intentioneaza φ
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Logica BDI:semantica este data via relatii de accesibilitate
peste “lumi”, unde o “lume” este un arbore temporal
proprietatile folosite pentru exprimarea relatiilor de accesibilitate recurg la sistemele axiomatice
KD45 – pentru credinteKD – pentru dorinteKD – pentru intentii
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele KD45(1) Bel (p→ q) → (Bel p→ Bel q) (K)
Daca agentul crede ca p implica q, atunci – daca va crede p – va crede si q
(2) Bel p→ ¬Bel ¬p (D) Daca agentul crede p, atunci nu va crede ca p este fals
(3) Bel p→ Bel Bel p (4) Daca agentul crede p, atunci crede ca va crede p
(4) ¬Bel p→ Bel ¬Bel p (5) Daca agentul nu crede p, atunci crede ca nu crede ca p este adevarat
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Reguli de inferenta KD45(5) daca p si p→ q, atunci q (MP) (6) daca p e teorema in KD45,
atunci Bel p este teorema (Nec)
sistem multi‐agent: semantica
regula (6) afirma faptul ca agentul va credetoate teoremele din cadrul logicii
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Logica temporala CTL (Computational Tree Logic)un calcul este considerat ca fiind un arbore(posibil infinit) de stari conectateprin evenimente atomice
pentru fiecare stare (nod), arcele care ies reprezintaactiuni conducind la viitoare stari posibile
exemplu: P = (a→ P) ∏ (b→ P) a b
a a bb
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
O varianta este CTL*, folosita de logica BDI
conectorii suplimentari utilizati sunt:A = pentru fiecare cale (for every path)E = exista o cale (there exists a path)
G = global (globally)F = in viitor (future)
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Operatorii A si E se refera la o cale (un drum):
A impune ca toate caile sa aiba o anumita proprietate(o proprietate va avea loc in toate lumile posibile)
E impune ca macar o cale sa aiba o anume proprietate(o proprietate va avea loc macar intr‐o lume)
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Operatorii G si F se refera la starea unei cai:
G impune ca toate starile aflate pe o anumita calesa aiba o anumita proprietate(proprietate are loc oricind)
F impune ca macar o stare de pe o anumita calesa aiba o proprietate
(proprietatea va avea loc in viitor)
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemple:AG p = pentru fiecare calcul (drum de la radacina),
in fiecare stare p este adevarat
AF p = pentru fiecare drum, in viitor p va fi adevarat(p este inevitabil)
EF p = exista un drum, a.i. in viitor p va fi adevarat(p este accesibil – p will hold potentially)
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Echivalente:AG p ≡ ~EF ~pEG p ≡ ~AF ~p
putem rescrie AG p ≡~EF ~p si EF p ≡~AG ~p
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
consideram pentru inceput α fiind Oformula, care nu contine aparitii pozitive ale lui α,
iar φ este o formula arbitrara
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
compatibilitatea credinte‐scopbelief goal compatibility(Des α) → (Bel α)
daca agentul are un scop pentru care optional poate realizaceva, acest lucru trebuie sa fie o optiune– axioma e folosita in functia options()
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
compatibilitatea scop‐intentie(Int α) → (Des α)
avind o intentie de a indeplini ceva,atunci aceasta implica a avea un scop (nu exista intentiicare nu sunt scopuri) – apare in functia deliberate()
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
volitional commitment(Int does (a)) → does (a)
daca agentul intentioneaza sa realizeze actiunea a,atunci va realiza a – axioma apare in functia execute()
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
“constienta” asupra scopurilor & intentiilorawareness of goals & intentions
(Des φ) → (Bel (Des φ))(Int φ) → (Bel (Int φ))
noile intentii si scopuri vor fi considerate drept “credinte”
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
lipsa actiunilor inconstientedone (a) → Bel (done (a))
daca agentul executa o actiune, va sti ce actiune executa
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Axiomele logicii BDI:
interzicerea planificarilor infiniteno infinite deferral
(Int φ) → AF(¬(Int φ))
agentul va lua consideratie o intentie ori o va abandona
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Detalii privitoare la logica BDI in:
A. Rao et al., “Formal Methods and Decision Procedures for Multi‐Agent Systems”, TR 61,
Australian AI Institute, 1995
sistem multi‐agent: semantica
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Sisteme BDIIRMA (Intelligent Resourcebounded Machine Architecture)
structuri de date simbolice: biblioteca de planuri, reprezentari explicite ale credintelor,
dorintelor, intentiilor
arhitectura compusa din: reasoner (motor de inferenta), meansends analyzer, opportunity analyzer,filtering process, deliberation process
sistem multi‐agent: aplicatii
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Sisteme BDIPRS (Procedural Reasoning System)
fiecare agent poseda o biblioteca de planuri, reprezentindcunoasterea procedurala (procedural knowledge):cunostintele despre mecanismele ce trebuie utilizate
de agent pentru a‐si realiza intentiile
un agent fara planuri, nu are nici optiuni
sistem multi‐agent: aplicatii
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Sisteme BDIHOMER
robot submarin simulat, evoluind intr‐o lume 2D HOMER preia instructiuni de la utilizatori,pe baza unui vocabular de 800 cuvinte
memorie episodica, folosita pentru a raspunda la intrebarireferitoare la experientele din trecut
exemplu de utilizare a unei arhitecturi BDIin conjunctie cu agentii de interfata
sistem multi‐agent: aplicatii
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Modul de comunicare inter‐agent este inspiratdin teoria actelor vorbirii (speech act theory)
cum sunt utilizate limbile pentru ca oamenii sa‐si atingascopurile si intentiile (Austin, 1962)
ceea ce exprimam poate schimba starea lumiiin care ne gasim – e.g., declaratia de razboi
mai general, orice exprimam este exprimatcu intentia satisfacerii unui scop
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Tipuri de acte ale vorbirii:reprezentative – e.g., pentru informare“Afara este soare”
directive – incearca sa faca partenerul sa actioneze“Fa‐mi o cafea”
angajatoare – il pun pe vorbitor sa realizeze ceva“Promit sa…”
expresive – vorbitorul exprima o stare mentala“Multumesc!”
declarative – e.g., declaratia de razboisau “Va declar sot si sotie!”
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Un act al vorbirii poate fi consideratca fiind format din:
un verb care exprima o angajaredin partea vorbitorului (actiune)
e.g., cerere, informare etc.
un continut propozitionale.g., “Usa este inchisa”
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemple:Act angajator ≡ cerere
Continut: “usa este inchisa”Actul vorbirii: “Inchide usa.”
Act angajator ≡ informareContinut: “usa este inchisa”Actul vorbirii: “Usa‐i inchisa!”
Act angajator ≡ interogareContinut: “usa este inchisa”Actul vorbirii: “Usa e inchisa?”
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Semantica actelor vorbirii este definitavia un formalism al planurilor
Cohen & Perrault, 1979
Vorbitorul nu poate – in general – sa‐l fortezepe partener sa accepte
o anumita stare mentala dorita
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu: semantica unei cerericerere (v, p, c)pre‐conditiev crede ca p poate face cv crede ca p crede ca p poate face cv crede ca v doreste c
post‐conditiep crede ca v crede ca v doreste c
v – vorbitorul, p – partenerul, c – comunic. (actiunea)
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Schimbul de informatii intre agenti se desfasoaravia limbaje de comunicare
ACL – Agent Communication LanguageKQML (Knowledge Query and Manipulation Language)
standard ARPAKIF (Knowledge Interchange Format)
FIPA (Foundation for Intelligent Physical Agents) ACLRDF/XML
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
KQML defineste diverse verbe comunicative(acte ale vorbirii angajatoare)
ask-if – “este adevarat ca…?”perform – “realizeaza actiunea X”
tell – “este adevarat ca…!”reply – “raspunsul este…”
KIF exprima continutul mesajului
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Pentru a comunica, agentii trebuie sa foloseascaacelasi set de termeni, avind aceleasi semantici!
specificarea formala a acestui set de termenise realizeaza printr‐o ontologie
sistem multi‐agent: comunicare
termen familiar, nu? ☺
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Exemplu de dialog intre 2 agenti:A B: (ask‐if
(> (price book1) (price book2)))B A: (reply true)B A: (inform (= (price book1) 29.8))B A: (inform (= (price book2) 10.9))
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
FIPA ACLverbe angajatoare (performative): 20 de expresii
informatii interne (housekeeping)e.g., emitator (sender), receptor (receiver),…
continut: mesajul propriu‐zis
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Primitive (verbe) FIPA ACL importante:agreecancelconfirmdisconfirmfailureinformnot‐understood
proposequery‐ifrefusereject‐proposalrequestrequest‐whensubscribe
sistem multi‐agent: comunicare
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: comunicare
Scenariu de comunicare intre agenti via FIPA ACL(Vincent Louis & Thierry Martinez, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Specii:cadre de dezvoltare a agentilor (frameworks)
e.g., JADE (Java Agent Development Environment), Cybele
sisteme multi‐agent – vezi www.agentlink.orgeventual, avind capabilitati de mobilitate
obiecte mobileexemplu: agleti Java
sistem multi‐agent: implementari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
ADF (Agent Developing Framework)O. Nichifor & S. Buraga, 2004; C. Hritcu & S. Buraga, 2005
arhitectura deschisa bazata pe tehnologiile Javaadf.sourceforge.net
sistem multi‐agent: implementari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Webify – webifysolutions.comutilizeaza sisteme de agenti
opereaza in domeniul asigurarilor
agentii ruleaza in cadrul unei arhitecturi SOA pentrua dirija documente intre ofertanti de servicii
pe baza continutului
sistem multi‐agent: implementari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sistem multi‐agent: implementari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
privire de ansamblu (Jones, 2003)
sistemmulti‐agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Rezumat
Agenti softwarepunerea problemei, sisteme multi‐agent, utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
?