<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Web semantic
Dr. SabinCorneliu Buraga
Facultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“A trai inseamna inainte de toate a participa.”
Georges Mathieu
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intrebare
Ce face un agent uman – agent imobiliar, hotelier,...?
“As dori sa merg in Egipt, miine.”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <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
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software: studiu de caz
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,...
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
agentul software ca modul de rationament
al unui agent rational
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agent software inteligent
entitate care percepe mediul si actioneaza
conform cunostintelor deja acumulate
(internal declarative body of knowledge)
aceste cunostinte trebuie modelate
astfel incit sa poata fi intelese de catre masina
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Puncte de vedere:
agentii ca entitati comportamentale
agentii ca descriere a atributelor acestora
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Aspect important:
autonomia
un agent este un sistem computational capabil
sa realizeze actiuni autonome in cadrul unui mediu
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca entitati comportamentale
agere (lat.)
asocierea calitatilor umane masinilor
intelegerea comportamentului si semanticii
sistemelor complexe (McCarthy, 1977)
interfata om‐calculator: metafore & interactiune
“Ne pare rau, nu exista bilete la zborul dorit”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca entitati comportamentale
sisteme intentionale: decizii si scopuri
convingeri, dorinte, intentii, planuri
exemplu: termostat – agent trivial (neinteresant)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca sisteme intentionale
comportamentul uman e prezis si explicat
via atribuirea de atitudini (attitudes)
notiuni
intentionale
credinta, dorinta, frica, speranta etc.
“Narcisa munceste din greu,
fiindca doreste sa termine proiectul.”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca sisteme intentionale
sistem intentional (Daniel Dennett)
compus din entitati ale caror comportament poate fi prezis
prin atribuirea de proprietati precum credinta, dorinta
sau rationalitatea
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca sisteme intentionale
Intrebare: Este oare legitim/folositor sa atribuim
sistemelor computerizate astfel de atribute?
Raspuns: Da (McCarthy), daca notiunile intentionale sunt
considerate la nivel abstract (mod familiar si convenabil
de descriere, explicare si prezicere a comportamentului
sistemelor complexe) – Wooldridge, 2002
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca descriere a atributelor lor
entitati software posedind functii
comportamentale, rulind autonom si continuu
in medii colective, compuse din alti agenti
si procese
a se parcurge J. Bradshow, Software Agents,
AAAI Press/MIT Press, 1997
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii ca descriere a atributelor lor
reactie
autonomie
colaborare
personalitate
adaptabilitate
inferenta
mobilitate
…
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Remarca:
nu exista o definitie unanim acceptata
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii implica termeni/cunostinte din:
inteligenta artificiala
reprezentarea cunostintelor si a contextului
modelarea mediului
cunoasterea actiunilor: pre‐conditii, efecte, chaining
rationament, deducere automata
invatare automata (machine learning)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Agentii implica termeni/cunostinte din:
calcul distribuit
inter‐comunicare (semnale, mesaje,...)
client/server vs. peertopeer
servicii Web
negocierea mesajelor
pervasive computing
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti software
agentii in context – conform Miles Davis, 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: caracterizare
Agentii trebuie sa asigure autonomia si
continuitatea actiunilor intreprinse
capabili sa actioneze in mod flexibil si inteligent,
adaptindu‐se situatiilor survenite
fara aportul utilizatorului
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: caracterizare
Ideal, un agent trebuie sa invete din propria‐i
experienta si sa dezvolte tehnici de comunicare
si de cooperare cu alti agenti si/sau
sa manifeste mobilitate
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: caracterizare
Exemplu:
embodied agents
animatie artistica
grafica computationala
caracter inteligent al comportamentului
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
Autonomia
comportament directionat spre un scop specific,
independent de utilizator
agentul opereaza fara interventia directa a utilizatorului
sau 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?)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
Reactivitatea
capacitatea unui agent de a‐si percepe mediul
de 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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
Adaptabilitatea
capacitatea agentului de a invata si de a se dezvolta,
tinind cont de experienta acumulata
si de versatilitate in rezolvarea unor situatii inedite
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
Colaborarea
posibilitatea 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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
Mobilitatea
abilitatea agentului de a migra de la sine
de pe o platforma (gazda – host) pe alta
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: atribute
O taxonomie a agentilor – conform (Tim Jones , 2003)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modele:
agent
ciclul de viata
computational
securitate
comunicatie
navigare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul agent
defineste 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
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul ciclului de viata
defineste 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
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul computational
specifica 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, specificind
abilitatile de calcul (e.g., controlul firelor de executie)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul securitatii
protejarea gazdelor de actiunile agentilor versus
protejarea agentilor de actiunilor gazdelor
pericole asupra sistemului de agenti (mobili)
pericole asupra gazdelor Internet:
interferente in activitate, propagare de malware,
atacuri gen (D)DoS,…
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul comunicarii
asigura 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 foloseste
si in vederea coordonarii activitatii agentilor
foloseste un protocol de comunicatie
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul navigarii
asigura mobilitatea (migrarea task‐urilor si/sau codului)
în vederea descoperirii surselor de destinatie
pe care agentii trebuie sa le aleaga sa‐si execute codul
probleme: conventii de numire (adresare), accesul la
informatii la distanta, modul de mutare a unui agent pe
alta gazda, receptionarea unui agent de la distanta,
gasirea celei mai “prietenoase” gazde
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: modelare
Modelul navigarii
utilizarea ontologiilor (Luc Moreau et al., 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agentia (Alan Kay, 1994)
Poate fi considerata mediu de executie
determina gradul de autonomie si autoritate pe care‐l are
un agent, dat de natura interactiunilor dintre agenti si
alte entitati
agentii ruleaza sincron sau asincron mecanisme de
comunicare asincrona (e.g., servicii de rutare)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agentia
Mai multe agentii pot forma
un mediu orientat‐agent:
FIPA (The Foundation of Intelligent Physical Agents)
implementari:
Agentcities
FIPA‐OS (FIPA OpenSource)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agentia
Mediu al agentilor mobili ≡ sistem distribuit,
peste o retea de calculatoare eterogene
(eventual, creata adhoc)
mediu de executie pentru agentii mobili, implementînd
majoritatea modelelor care apar în definitia agentului
ofera servicii de suport pentru interactivitatea agentilor
mobili cu mediul si pentru accesarea altor sisteme
(orientate sau nu agent)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agentia
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agentia
Modelare ontologica – in cadrul sistemului SOFAR
(SOuthamton Framework for Agent Research)
Luc Moreau, Victor Tan & Nick Gibbins
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Tipuri de aplicatii
agenti 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,…)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Agentii de interfata
invata din modele de interactiune cu oamenii
explica actiunile ce pot fi efectuate asupra interfetei
ofera sugestii si ajutor
cu rol de amuzament (iritare?)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Suport acordat diferitelor industrii
controlul proceselor industriale
controlul traficului aerian – agentii BDI
managementul distribuit al dispozitivelor electronice
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Ecommerce
clasificarea si potrivirea produselor si serviciilor
consilierea in privinta cumpararii/vinzarii/licitatiilor
operarea pe piete de desfacere virtuale
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Licitatii electronice facilitate de sisteme multi‐agent
(Christopher Walton, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Ontologii in contextul etravel – sistemul de agenti RACING
(Vadim Ermolayev, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
agenti: utilizari
Agentii de modelare/simulare
interactiunea cu utilizatorii in medii virtuale (3D)
sistemul STEVE – J. Rickel, L. Johnson, M. Thiebaux et al., 2002
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intrebare
Provocare
Ce tehnici trebuie adoptate pentru a putea folosi
sisteme compuse din 1010 procesoare?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
raspuns
Construirea unor sisteme de calcul care
sa actioneze efectiv independent de om si
care sa ne reprezinte propriile noastre
(cele mai bune) interese via cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent
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 poata
coopera, coordona si negocia
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent
Un sistem multi‐agent este o retea slab conectata
compusa din entitati computationale care
lucreaza impreuna la rezolvarea unei probleme
ce nu poate fi solutionata in mod individual
(Bradshow, 1997)
aceste entitati – agentii – sunt autonome si pot fi eterogene
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent
Fiecare agent poseda informatii sau prezinta
functionalitati incomplete
agentul nu poate rezolva problema
(luata in ansamblu), in mod individual
datele procesate sunt descentralizate
calculul se desfasoara asincron
nu exista un control global al sistemului
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent
Domenii de utilizare – exemple:
controlul navelor cosmice: NASA
controlul traficului aerian: aeroportul din Sydney
managementul proceselor economice
managementul sistemelor energetice
controlul proceselor manufacturiere
ecommerce (agenti de recomandare a produselor,
agenti de cautare,...)
social networking – la nivel de Web sau dispozitive mobile
…
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Intrebari:
Cum trebuie formulate, descrise, descompuse si alocate
problemele dorite a fi rezolvate?
Cum se sintetizeaza rezultatele?
Cum/cind vor comunica si interactiona agentii?
Cum se asigura faptul ca agentii sa fie coerenti
in luarea deciziilor si executia actiunilor?
Cum vor reprezenta si manipula agentii actiunile,
planurile si cunostintele?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Intrebari (continuare):
Cum se vor detecta si reconcilia intentiile conflictuale si
punctele 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?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Aplicatii care necesita cooperare:
Informatii
Retele de senzori (radar, detectori
distribuite
acustici/optici, seismografe,…)
Controlul traficului (de retea)
Procesare
Supravegherea centralelor
distribuita
energetice
Roboti mobili
Control
Aplicatii Internet/Web
distribuit
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
se foloseste protocolul de contract in retea
the contract net
(Smith, 1980)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor: the contract net
rezolvarea 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 continutul mesajelor vehiculate
informatiile sunt transferate in regim fullduplex
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor: Distributed Problem Solving
controlul & datele sunt distribuite
comunicatiile sunt mai lente decit calculul
loose coupling (conectare slaba)
protocolul trebuie sa fie eficient
problemele trebuie modularizate
problemele pot avea un spatiu mare de solutii
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor: Distributed Problem Solving
orice nod poate cauza probleme
distribuie datele
distribuie 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?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor – etape:
Aici intervine
Descompunerea problemei
Contract Net
problem decomposition
Distribuirea sub‐problemelor
subproblem distribution
Gasirea solutiilor sub‐problemelor
subproblem solution
Sintetizarea rezultatelor
answer synthesis
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
orice nod poate juca, in mod dinamic,
rol de manager sau de contractor
cind un nod primeste spre rezolvare o problema compusa,
devine manager 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 unui
task va replica cu o descriere a cit de bine il poate face
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
va cistiga nodul care poate rezolva acel task cel mai bine
managerul are rol de distribuire a activitatilor
si de colectare a rezultatelor
protocolul asigura alocarea dinamica a sarcinilor,
permitind agentilor sa‐si ofere serviciile
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
nodurile interesate de rezolvarea unei activitati
trebuie sa evalueze sarcina oferita
(task evaluation procedure)
in functie de domeniul de activitate
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
ofertele primite de manager sunt si ele evaluate
(bid evaluation procedure)
ambele tipuri de evaluari sunt deliberative
nu sunt simple selectii
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Alocarea activitatilor
tipuri de mesaje vehiculate:
anunt de sarcini (task announcement)
oferta (bid)
acceptare (award)
raport preliminar (interim report)
raport final – include descrierea rezultatelor
terminare – managerul doreste terminarea contractului
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Arhitectura blackboard
Surse 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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
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 specificate
Uzual, actiunile vor altera starea curenta a tablei
Procesele se opresc atunci cind nu este satisfacuta
nici o preconditie sau cind se executa o operatie “stop”
(esec/solutie)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Modelul FA/C
Functionally Accurate / Cooperative Model
rezolvarea problemelor de interdependenta
intre agenti care coopereaza
functionally accurate: “the generation of acceptably
accurate solutions without the requirement that all shared
intermediate results be correct and consistent.”
cooperative: an “iterative, coroutine style of node
interaction in the network.”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: cooperare
Modelul FA/C
comunicare mai redusa intre agenti
(rezultatele partiale nu mai sunt verificate)
sincronizarea poate fi redusa/eliminata
un grad mai mare de paralelism
comportament mai robust: erorile hardware sunt tratate
la fel ca erorile software rezultate din informatii
incomplete ori inconsistente
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Planificarea activitatilor
implica reprezentarea si regasirea cunostintelor
sisteme de planificare:
a robotilor
a experimentelor biologice
a actelor vorbirii
a executiei serviciilor Web
…
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Agentii de planificare (planning agents)
incearca sa realizeze deductii logice
pentru a rezolva problema
se ia in calcul existenta
unui domeniu (modelat ontologic)
semantica lumilor posibile
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
a142
a1
G
I
a17
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Exemplu: lumea blocurilor (blocks world)
lumea este compus dintr‐un set de blocuri
de dimensiuni egale dispuse pe o masa
bratul unui robot – condus de un agent – manipuleaza
blocurile via actiunile:
UNSTACK (a, b)
STACK (a, b)
PICKUP (a)
PUTDOWN (a)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Pentru a descrie lumea, vom utiliza predicatele:
ON (A, B)
In acest caz, true
ONTABLE (B)
ONTABLE (C)
A
CLEAR (A)
CLEAR (C)
B C
ARMEMPTY
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
In general, exista urmatoarele predicate:
ON (a, b) – blocul b este peste a
HOLDING (a) – bratul robotului detine blocul a
ONTABLE (a) – blocul a este pe masa
ARMEMPTY – 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) ]
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Adaugam fiecarui predicat variabile de stare
si utilizam functia DO care asociaza noi stari
actiunilor 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 actiunilor
ce pot fi realizate in lumea considerata
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Consideram situatia:
A
B
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
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))
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
PUTDOWN:
HOLDING (x, s) →
ONTABLE (x, DO (PUTDOWN (x), s))
se poate demonstra ca:
ONTABLE (A,
DO (PUTDOWN (A),
DO (UNSTACK (A, B), S0)))
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Aceste actiuni imbricate dau planul agentului:
1. UNSTACK (A, B)
2. PUTDOWN (A)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Daca in baza de cunostinte a agentului exista
ON (A, B, S0) ∧ ONTABLE (B, S0) ∧ CLEAR (A, S0)
si scopul lui este ∃ s (ONTABLE (A, s)), atunci
putem folosi tehnici de demonstratie automata de
teoreme pentru a gasi (urma) planul
metode bazate pe limbaje logice: Prolog & derivatele
metode bazate pe reguli
metode privitoare la rationament automat
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
Frame problem
cum determinam ce se schimba si ce nu se schimba
in cadrul lumii considerate in urma executiei unei actiuni?
folosirea unor axiome‐cadru (frame) care specifica
invarianta valorii de adevar a predicatelor
dupa indeplinirea unei actiuni
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: planificare
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))
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Pentru a modela comportamentul agentilor,
se considera uzual tehnica rationamentului practic
(practical reasoning)
“Practical reasoning is a matter of weighing conflicting
considerations for and against competing options, where
the relevant considerations are provided by what the agent
desires/values/cares about and what the agent believes.”
(Bratman)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
In cazul omului, rationamentul practic consta
din urmatoarele activitati:
deliberare (deliberation)
a decide ce stare a lumii dorim sa atingem
rationament final (meansends reasoning)
a decide cum ajungem in starea dorita
rezultatele deliberarii ≡ intentiile
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Modelare:
reprezentarea scopului/intentiei de indeplinit
reprezentarea actiunilor executate
reprezentarea mediului de executie
generarea unui plan pentru a atinge un scop
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
scopuri/
starea actiunile
intentii/
mediului posibile
task‐uri
planificator
planul pentru a atinge scopul
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Exemplu: lumea blocurilor
(un brat de robot, 3 cuburi, o masa)
pentru reprezentarea mediului, consideram o ontologie:
On (x, y) obiectul x e peste y
OnTable (x) obiectul x este pe masa
Clear (x) nu este nimic peste x
Holding (x) bratul tine obiectul x
lumea e inchisa (orice nu‐i specificat se considera a fi fals)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Un scop este reprezentat ca un set de formule
exemplu: OnTable (A) ∧ OnTable (B) ∧ OnTable (C)
B C
A
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
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 vor
mai 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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Exemplu: actiunea Stack are loc atunci cind bratul
plaseaza obiectul x pe care‐l tine peste obiectul y
Stack (x, y)
pre Clear (y) ∧ Holding (x)
del Clear (y) ∧ Holding (x) A
add ArmEmpty ∧ On (x, y)
B
similar pentru actiunea Unstack
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Exemplu: actiunea Pickup are loc atunci cind bratul
ia un obiect x de pe masa
Pickup (x)
pre Clear (x) ∧ OnTable (x) ∧ ArmEmpty
del OnTable (x) ∧ ArmEmpty
add Holding (x)
idem pentru actiunea Putdown in urma careia bratul,
detinind un obiect x, il plaseaza pe masa
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Specificarea unui plan consta in specificarea listei
(secventei) de actiuni ce trebuie executate
de agent, in care variabilele se substituie
cu constante
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Schelet de implementare, folosind rationamentul practic:
Agent Control Loop Version 1
Nu ne
1. while true
intereseaza
2. 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 plan
7. end while
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Aspecte de luat in consideratie:
timpul consumat pentru deliberare si
rationament final – time cost
putem formaliza “ciclul de viata” al agentului?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Mai formal, avem:
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Cum delibereaza agentul?
intelegerea optiunilor disponibile
alegerea unora si comiterea (executia) lor
optiunile alese sunt intentii
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Functia de deliberare este compusa din:
generare a optiunilor + filtrare
generarea optiunilor considera credintele si
intentiile curente ale agentului, dintre care
se determina un set de optiuni (≡ dorinte)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
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 mentinuta
pina e indeplinita sau nu exista nici o posibilitate
de‐a fi indeplinita
openminded commitment – se va mentine intentia,
atit timp cit se va putea indeplini
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Intrebari:
Exista intentii care pot fi (re)considerate?
Ele sunt “bune”?
Intentiile nu ar trebui reconsiderate
dupa executia actiunilor?
Pe care le reconsideram?
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Atentia trebuie focalizata asupra strategiilor
de reconsiderare a intentiilor
(Kinny & Georgeff, 1996)
rata de schimbare a lumii – dinamismul
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comportament
Termeni utilizati: credinte (beliefs), dorinte (desires),
intentii (intensions), planuri (plans) arhitecturi BDI
structura unui agent BDI – conform (Lyell, Levy & Satapathy, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Semantica sistemelor multi‐agent BDI
se bazeaza pe logici BDI (Rao & Georgeff, 1995)
logici neclasice cu conectori modali, extensii ale logicilor
temporale arborescente CTL* (Emerson, 1990)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Logica BDI
Structura 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 φ
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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 credinte
KD – pentru dorinte
KD – pentru intentii
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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)
regula (6) afirma faptul ca agentul va crede
toate teoremele din cadrul logicii
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Logica temporala CTL (Computational Tree Logic)
un calcul este considerat ca fiind un arbore
(posibil infinit) de stari conectate
prin evenimente atomice
pentru fiecare stare (nod), arcele care ies reprezinta
actiuni conducind la viitoare stari posibile
exemplu: P = (a → P) ∏ (b → P) b
a
a b a b
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Operatorii G si F se refera la starea unei cai:
G impune ca toate starile aflate pe o anumita cale
sa aiba o anumita proprietate
(proprietate are loc oricind)
F impune ca macar o stare de pe o anumita cale
sa aiba o proprietate
(proprietatea va avea loc in viitor)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Echivalente:
AG p ≡ ~EF ~p
EG p ≡ ~AF ~p
putem rescrie AG p ≡ ~EF ~p si EF p ≡ ~AG ~p
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
consideram pentru inceput α fiind Oformula,
care nu contine aparitii pozitive ale lui α,
iar φ este o formula arbitrara
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
compatibilitatea credinte‐scop
belief goal compatibility
(Des α) → (Bel α)
daca agentul are un scop pentru care optional poate realiza
ceva, acest lucru trebuie sa fie o optiune
– axioma e folosita in functia options()
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
compatibilitatea scop‐intentie
(Int α) → (Des α)
avind o intentie de a indeplini ceva,
atunci aceasta implica a avea un scop (nu exista intentii
care nu sunt scopuri) – apare in functia deliberate()
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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()
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
“constienta” asupra scopurilor & intentiilor
awareness of goals & intentions
(Des φ) → (Bel (Des φ))
(Int φ) → (Bel (Int φ))
noile intentii si scopuri vor fi considerate drept “credinte”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
lipsa actiunilor inconstiente
done (a) → Bel (done (a))
daca agentul executa o actiune, va sti ce actiune executa
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
Axiomele logicii BDI:
interzicerea planificarilor infinite
no infinite deferral
(Int φ) → AF(¬(Int φ))
agentul va lua consideratie o intentie ori o va abandona
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: semantica
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: aplicatii
Sisteme BDI
IRMA (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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: aplicatii
Sisteme BDI
PRS (Procedural Reasoning System)
fiecare agent poseda o biblioteca de planuri, reprezentind
cunoasterea procedurala (procedural knowledge):
cunostintele despre mecanismele ce trebuie utilizate
de agent pentru a‐si realiza intentiile
un agent fara planuri, nu are nici optiuni
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: aplicatii
Sisteme BDI
HOMER
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 intrebari
referitoare la experientele din trecut
exemplu de utilizare a unei arhitecturi BDI
in conjunctie cu agentii de interfata
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Modul de comunicare inter‐agent este inspirat
din teoria actelor vorbirii (speech act theory)
cum sunt utilizate limbile pentru ca oamenii sa‐si atinga
scopurile si intentiile (Austin, 1962)
ceea ce exprimam poate schimba starea lumii
in care ne gasim – e.g., declaratia de razboi
mai general, orice exprimam este exprimat
cu intentia satisfacerii unui scop
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
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 razboi
sau “Va declar sot si sotie!”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Un act al vorbirii poate fi considerat
ca fiind format din:
un verb care exprima o angajare
din partea vorbitorului (actiune)
e.g., cerere, informare etc.
un continut propozitional
e.g., “Usa este inchisa”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Exemple:
Act angajator ≡ cerere
Continut: “usa este inchisa”
Actul vorbirii: “Inchide usa.”
Act angajator ≡ informare
Continut: “usa este inchisa”
Actul vorbirii: “Usa‐i inchisa!”
Act angajator ≡ interogare
Continut: “usa este inchisa”
Actul vorbirii: “Usa e inchisa?”
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Semantica actelor vorbirii este definita
via un formalism al planurilor
Cohen & Perrault, 1979
Vorbitorul nu poate – in general – sa‐l forteze
pe partener sa accepte
o anumita stare mentala dorita
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Exemplu: semantica unei cereri
cerere (v, p, c)
pre‐conditie
v crede ca p poate face c
v crede ca p crede ca p poate face c
v crede ca v doreste c
post‐conditie
p crede ca v crede ca v doreste c
v – vorbitorul, p – partenerul, c – comunic. (actiunea)
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Schimbul de informatii intre agenti se desfasoara
via limbaje de comunicare
ACL – Agent Communication Language
KQML (Knowledge Query and Manipulation Language)
standard ARPA
KIF (Knowledge Interchange Format)
FIPA (Foundation for Intelligent Physical Agents) ACL
RDF/XML
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
Pentru a comunica, agentii trebuie sa foloseasca
acelasi set de termeni, avind aceleasi semantici!
specificarea formala a acestui set de termeni
se realizeaza printr‐o ontologie
termen familiar, nu? ☺
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
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))
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: comunicare
FIPA ACL
verbe angajatoare (performative): 20 de expresii
informatii interne (housekeeping)
e.g., emitator (sender), receptor (receiver),…
continut: mesajul propriu‐zis
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <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
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: implementari
Specii:
cadre de dezvoltare a agentilor (frameworks)
e.g., JADE (Java Agent Development Environment), Cybele
sisteme multi‐agent – vezi www.agentlink.org
eventual, avind capabilitati de mobilitate
obiecte mobile
exemplu: agleti Java
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: implementari
ADF (Agent Developing Framework)
O. Nichifor & S. Buraga, 2004; C. Hritcu & S. Buraga, 2005
arhitectura deschisa bazata pe tehnologiile Java
adf.sourceforge.net
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: implementari
Webify – webifysolutions.com
utilizeaza sisteme de agenti
opereaza in domeniul asigurarilor
agentii ruleaza in cadrul unei arhitecturi SOA pentru
a dirija documente intre ofertanti de servicii
pe baza continutului
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sistem multi‐agent: implementari
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
privire de ansamblu (Jones, 2003)
sistem
multi‐
agent
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Rezumat
Agenti software
punerea problemei, sisteme multi‐agent, utilizari
Dr. Sabin Buraga http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
?
Dr. Sabin Buraga http://www.purl.org/net/busaco
0 comments
Post a comment