Web10 Semantic Web: Agenti Software

168
Dr. Sabin Buraga http://www.purl.org/net/busaco Semantic Web <?xml version=“1.0” ?> <curs desc=“…” /> Web semantic Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

description

O prezentare privind sisteme de agenti software in contextul tehnologiilor Web-ului semantic.

Transcript of Web10 Semantic Web: Agenti Software

Page 1: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web semantic

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Agenti software

Page 3: Web10 Semantic Web: 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

Page 4: Web10 Semantic Web: Agenti Software

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

Page 5: Web10 Semantic Web: Agenti Software

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

Page 6: Web10 Semantic Web: Agenti Software

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)

Page 7: Web10 Semantic Web: Agenti Software

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

Page 8: Web10 Semantic Web: Agenti Software

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

Page 9: Web10 Semantic Web: 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

Page 10: Web10 Semantic Web: 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

Page 11: Web10 Semantic Web: 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

Page 12: Web10 Semantic Web: 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

Page 13: Web10 Semantic Web: 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

Page 14: Web10 Semantic Web: 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

Page 15: Web10 Semantic Web: Agenti Software

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

Page 16: Web10 Semantic Web: 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

Page 17: Web10 Semantic Web: 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

Page 18: Web10 Semantic Web: 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

Page 19: Web10 Semantic Web: 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

Page 20: Web10 Semantic Web: 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

Page 21: Web10 Semantic Web: 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

Page 22: Web10 Semantic Web: 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. peer­to­peer

servicii Webnegocierea mesajelorpervasive computing

agenti software

Page 23: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

agenti software

Page 24: Web10 Semantic Web: 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

Page 25: Web10 Semantic Web: Agenti Software

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

Page 26: Web10 Semantic Web: Agenti Software

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

Page 27: Web10 Semantic Web: Agenti Software

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

Page 28: Web10 Semantic Web: Agenti Software

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

Page 29: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Page 30: Web10 Semantic Web: Agenti Software

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

Page 31: Web10 Semantic Web: Agenti Software

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

Page 32: Web10 Semantic Web: Agenti Software

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

Page 33: Web10 Semantic Web: Agenti Software

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

Page 34: Web10 Semantic Web: Agenti Software

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

Page 35: Web10 Semantic Web: Agenti Software

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)

Page 36: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

agenti: modelare

Modele:agent

ciclul de viatacomputationalsecuritatecomunicatienavigare

Page 37: Web10 Semantic Web: Agenti Software

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

Page 38: Web10 Semantic Web: Agenti Software

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

Page 39: Web10 Semantic Web: Agenti Software

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)

Page 40: Web10 Semantic Web: Agenti Software

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

Page 41: Web10 Semantic Web: Agenti Software

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

Page 42: Web10 Semantic Web: Agenti Software

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

Page 43: Web10 Semantic Web: Agenti Software

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)

Page 44: Web10 Semantic Web: Agenti Software

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)

Page 45: Web10 Semantic Web: Agenti Software

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 Open­Source)

agentia

Page 46: Web10 Semantic Web: Agenti Software

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 ad­hoc)

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

Page 47: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

agentia

Page 48: Web10 Semantic Web: Agenti Software

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

Page 49: Web10 Semantic Web: Agenti Software

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 (real­time information retrieval)

e­commerce, sisteme de recomandare, cautare Web

industria de telecomunicatii

industria de divertisment – de exemplu, jocuri

modelarea comportamentului uman(simulare, e­learning,…)

agenti: utilizari

Page 50: Web10 Semantic Web: Agenti Software

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

Page 51: Web10 Semantic Web: Agenti Software

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

Page 52: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

E­commerce

clasificarea si potrivirea produselor si serviciilorconsilierea in privinta cumpararii/vinzarii/licitatiilor

operarea pe piete de desfacere virtuale

agenti: utilizari

Page 53: Web10 Semantic Web: Agenti Software

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)

Page 54: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

agenti: utilizari

Ontologii in contextul e­travel – sistemul de agenti RACING (Vadim Ermolayev, 2005)

Page 55: Web10 Semantic Web: Agenti Software

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

Page 56: Web10 Semantic Web: Agenti Software

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

Page 57: Web10 Semantic Web: Agenti Software

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

Page 58: Web10 Semantic Web: Agenti Software

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

Page 59: Web10 Semantic Web: Agenti Software

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

Page 60: Web10 Semantic Web: Agenti Software

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

Page 61: Web10 Semantic Web: Agenti Software

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

e­commerce (agenti de recomandare a produselor,agenti de cautare,...)

social networking – la nivel de Web sau dispozitive mobile…

sistem multi‐agent

Page 62: Web10 Semantic Web: Agenti Software

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

Page 63: Web10 Semantic Web: Agenti Software

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

Page 64: Web10 Semantic Web: Agenti Software

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

Page 65: Web10 Semantic Web: Agenti Software

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

Page 66: Web10 Semantic Web: Agenti Software

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 full­duplex

sistem multi‐agent: cooperare

Page 67: Web10 Semantic Web: Agenti Software

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

Page 68: Web10 Semantic Web: Agenti Software

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

Page 69: Web10 Semantic Web: Agenti Software

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‐problemelorsub­problem distribution

Gasirea solutiilor sub‐problemelorsub­problem solution

Sintetizarea rezultateloranswer synthesis

sistem multi‐agent: cooperare

Aici intervineContract Net

Page 70: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 71: Web10 Semantic Web: Agenti Software

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

Page 72: Web10 Semantic Web: Agenti Software

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

Page 73: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 74: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 75: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 76: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 77: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 78: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: cooperare

Page 79: Web10 Semantic Web: Agenti Software

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

Page 80: Web10 Semantic Web: Agenti Software

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

Page 81: Web10 Semantic Web: Agenti Software

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

Page 82: Web10 Semantic Web: Agenti Software

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 broadcast­ul 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

Page 83: Web10 Semantic Web: Agenti Software

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

Page 84: Web10 Semantic Web: Agenti Software

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

Page 85: Web10 Semantic Web: Agenti Software

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 problem­solving organization that can effectively exploit

a multi­processor system.” – Fennel & Lesser, 1976

sistem multi‐agent: cooperare

Page 86: Web10 Semantic Web: Agenti Software

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, co­routine style of nodeinteraction in the network.”

sistem multi‐agent: cooperare

Page 87: Web10 Semantic Web: Agenti Software

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

Page 88: Web10 Semantic Web: Agenti Software

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

Page 89: Web10 Semantic Web: Agenti Software

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

Page 90: Web10 Semantic Web: Agenti Software

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

Page 91: Web10 Semantic Web: Agenti Software

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

Page 92: Web10 Semantic Web: Agenti Software

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

Page 93: Web10 Semantic Web: Agenti Software

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

Page 94: Web10 Semantic Web: Agenti Software

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

Page 95: Web10 Semantic Web: Agenti Software

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

Page 96: Web10 Semantic Web: Agenti Software

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

Page 97: Web10 Semantic Web: Agenti Software

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

Page 98: Web10 Semantic Web: Agenti Software

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

Page 99: Web10 Semantic Web: Agenti Software

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

Page 100: Web10 Semantic Web: Agenti Software

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

Page 101: Web10 Semantic Web: Agenti Software

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

Page 102: Web10 Semantic Web: Agenti Software

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

Page 103: Web10 Semantic Web: Agenti Software

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

Page 104: Web10 Semantic Web: Agenti Software

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 (means­ends reasoning)

a decide cum ajungem in starea dorita

rezultatele deliberarii ≡ intentiile

sistem multi‐agent: comportament

Page 105: Web10 Semantic Web: Agenti Software

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

Page 106: Web10 Semantic Web: Agenti Software

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

Page 107: Web10 Semantic Web: Agenti Software

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

Page 108: Web10 Semantic Web: Agenti Software

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

Page 109: Web10 Semantic Web: Agenti Software

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 pre­conditii (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

Page 110: Web10 Semantic Web: Agenti Software

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

Page 111: Web10 Semantic Web: Agenti Software

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

Page 112: Web10 Semantic Web: Agenti Software

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

Page 113: Web10 Semantic Web: Agenti Software

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

Page 114: Web10 Semantic Web: Agenti Software

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

Page 115: Web10 Semantic Web: Agenti Software

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

Page 116: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Mai formal, avem:

sistem multi‐agent: comportament

Page 117: Web10 Semantic Web: Agenti Software

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

Page 118: Web10 Semantic Web: Agenti Software

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

Page 119: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: comportament

Page 120: Web10 Semantic Web: Agenti Software

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

single­minded commitment – intentia va fi mentinutapina e indeplinita sau nu exista nici o posibilitatede‐a fi indeplinita

open­minded commitment – se va mentine intentia, atit timp cit se va putea indeplini

sistem multi‐agent: comportament

Page 121: Web10 Semantic Web: Agenti Software

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

Page 122: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Page 123: Web10 Semantic Web: Agenti Software

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

Page 124: Web10 Semantic Web: Agenti Software

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

Page 125: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Page 126: Web10 Semantic Web: Agenti Software

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)

Page 127: Web10 Semantic Web: Agenti Software

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

Page 128: Web10 Semantic Web: Agenti Software

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

Page 129: Web10 Semantic Web: Agenti Software

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

Page 130: Web10 Semantic Web: Agenti Software

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

Page 131: Web10 Semantic Web: Agenti Software

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

Page 132: Web10 Semantic Web: Agenti Software

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

Page 133: Web10 Semantic Web: Agenti Software

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

Page 134: Web10 Semantic Web: Agenti Software

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

Page 135: Web10 Semantic Web: Agenti Software

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

Page 136: Web10 Semantic Web: Agenti Software

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

Page 137: Web10 Semantic Web: Agenti Software

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

Page 138: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Axiomele logicii BDI:

consideram pentru inceput α fiind O­formula, care nu contine aparitii pozitive ale lui α, 

iar φ este o formula arbitrara

sistem multi‐agent: semantica

Page 139: Web10 Semantic Web: Agenti Software

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

Page 140: Web10 Semantic Web: Agenti Software

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

Page 141: Web10 Semantic Web: Agenti Software

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

Page 142: Web10 Semantic Web: Agenti Software

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

Page 143: Web10 Semantic Web: Agenti Software

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

Page 144: Web10 Semantic Web: Agenti Software

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

Page 145: Web10 Semantic Web: Agenti Software

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

Page 146: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Sisteme BDIIRMA (Intelligent Resource­bounded Machine Architecture)

structuri de date simbolice: biblioteca de planuri, reprezentari explicite ale credintelor, 

dorintelor, intentiilor

arhitectura compusa din: reasoner (motor de inferenta), means­ends analyzer, opportunity analyzer,filtering process, deliberation process

sistem multi‐agent: aplicatii

Page 147: Web10 Semantic Web: Agenti Software

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

Page 148: Web10 Semantic Web: Agenti Software

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

Page 149: Web10 Semantic Web: Agenti Software

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

Page 150: Web10 Semantic Web: Agenti Software

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

Page 151: Web10 Semantic Web: Agenti Software

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

Page 152: Web10 Semantic Web: Agenti Software

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

Page 153: Web10 Semantic Web: Agenti Software

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

Page 154: Web10 Semantic Web: Agenti Software

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

Page 155: Web10 Semantic Web: Agenti Software

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

Page 156: Web10 Semantic Web: Agenti Software

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

Page 157: Web10 Semantic Web: Agenti Software

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

Page 158: Web10 Semantic Web: Agenti Software

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

Page 159: Web10 Semantic Web: Agenti Software

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

Page 160: Web10 Semantic Web: Agenti Software

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

Page 161: Web10 Semantic Web: Agenti Software

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)

Page 162: Web10 Semantic Web: Agenti Software

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

Page 163: Web10 Semantic Web: Agenti Software

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

Page 164: Web10 Semantic Web: Agenti Software

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

Page 165: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

sistem multi‐agent: implementari

Page 166: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

privire de ansamblu (Jones, 2003)

sistemmulti‐agent

Page 167: Web10 Semantic Web: Agenti Software

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

Page 168: Web10 Semantic Web: Agenti Software

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

?