Presentation is loading. Please wait.

Presentation is loading. Please wait.

Aplicatii Web bazate pe semantica, agenti si servicii

Similar presentations


Presentation on theme: "Aplicatii Web bazate pe semantica, agenti si servicii"— Presentation transcript:

1 Aplicatii Web bazate pe semantica, agenti si servicii
Universitatea Politehnica Bucuresti Anul universitar , Master Adina Magda Florea

2 Curs 5 Agenti si arhitecturi agenti Sisteme multi-agent (SMA)
Comunicare in SMA

3 1. Structura conceptuala a agentilor
Rationalitatea unui agent Ce inseamna rationalitatea unui agent Cum putem masura rationalitatea unui agent? Sa gasim o masura a performantei 3

4 Un agent este situat in mediu
Perpece mediul prin sensori si actioneaza asupra lui prin efectori Scop: proiectarea unui program – functie care realizeaza corespondenta sensori - efectori Agent = architectura + program Mediu accesibil vs. inaccesibil determinist vs. non-determinist static vs. dinamic discret vs. continu 4

5 Modelare agent E = {e1, .., e, ..} P = {p1, .., p, ..}
A = {a1, .., a, ..} Agent reactiv see : E  P action : P  A env : E x A  E (env : E x A  P(E)) Componenta decizie Agent action P A Componenta Componenta perceptie executie see action Mediu env (E) 5

6 Modelare agent Mai multi agenti reactivi seei : E  Pi A1,…, Ai,..
actioni : Pi  Ai env : E x A1 x … An  P(E) A1,…, Ai,.. P1,…, Pi,.. (de obicei identice) Agent (A1) Componenta decizie action Agent (A2) Componenta Componenta perceptie executie Agent (A3) see action Mediu env 6

7 Nu folosesc reprezentari simbolice sau rationament
Unitati simple de prelucrare care percep mediul si reactioneaza la schimbarile din mediu Nu folosesc reprezentari simbolice sau rationament Inteligenta nu este situata la nivel individual ci distribuita in sistem, rezulta din interactiunea entitatilor cu mediu – “emergence” 7

8 Modelare agent E = {e1, .., e, ..} P = {p1, .., p, ..}
A = {a1, .., a, ..} S = {s1, .., s, ..} Agent cu stare see : E  P next : S x P  S action : S  A env : E x A  P(E) Componenta S decizie Agent action, next P A Componenta Componenta perceptie executie see action Mediu env (E) 8

9 Modelare agent Mai multi agenti cognitivi seei : E  Pi S1,…, Si,..
nexti : Si x P  Si actioni : Si x I  Ai interi : Si  I env : E x A1 x … An  P(E) S1,…, Si,.. A1,…, Ai,.. P1,…, Pi,.. (nu intotdeauna identice) I = {i1, .., ik,…} Agent (A1) Componenta decizie Componenta interactiune inter action, next Agent (A2) Componenta Componenta perceptie executie Agent (A3) see action Mediu 9 env

10 Modelare agent Agenti cu stare si scopuri goal : E  {0, 1}
Agenti cu utilitate utility : E  R Mediu nedeterminist env : E x A  P(E) Probabilitatea estimata de un agent ca rezultatul unei actiuni (a) executata in e sa fie noua stare e’ 10

11 Modelare agent Agenti cu utilitate
Utilitatea estimata (expected utility) a unei actiuni a intr-o stare e, dpv al agentului Principiul utilitatii estimate maxime Maximum Expected Utility (MEU) 11

12 Cum modelam? Curatirea unei camere Agent reactiv Agent cognitiv
Agent cognitiv cu utilitate Ce actiuni selectez? Ce se face daca rezultatul actiunilor nu este cunoscut/sigur? 12

13 Agenti cognitivi Modelul uman al perspectivei asupra lumii  caracterizare agent utilizand reprezentari simbolice si notiuni mentale knowledge - cunostinte beliefs - convingeri desires, goals – dorinte, scopuri intentions - intentii commitments - angajamente obligations - obligatii De ce se utilizeaza aceste notiuni? 13

14 2. Arhitecturi de agenti Arhitecturi pentru agenti cognitivi
Arhitecturi pentru agenti reactivi 14

15 Arhitectura BDI Specificatii de nivel inalt Means-end analysis
Beliefs (convingeri) = informatii pe care agentul le are despre lume Desires (dorinte) = stari pe care agentul ar vrea sa le vada realizate Intentions (intentii) = dorinte (sau actiuni) pe care agentul s-a angajat sa le indeplineasca Rolul intentiilor 15

16 Arhitectura BDI 16 percepts Belief revision Beliefs B = brf(B, p)
Knowledge B = brf(B, p) Opportunity analyzer Deliberation process Desires D = options(B, D, I) Intentions Filter Means-end reasonner I = filter(B, D, I) Intentions structured in partial plans  = plan(B, I) Library of plans Plans Executor 16 actions

17 Bucla de control a agentului
B = B I = I D = D0 while true do get next perceipt p B = brf(B,p) D = options(B, D, I) I = filter(B, D, I)  = plan(B, I) execute() end while 17

18 Strategii de angajare Optiune aleasa de agent ca intentie – agentul s-a angajat pentru acea optiune Persistenta intentiilor Interbare: Cat timp se angajeaza un agent fata de o inetntie? Angajare oarba (Blind commitment) Angajare limitata (Single minded commitment) Angajare deschisa (Open minded commitment) 18

19 19 Bucla de control BDI angajare oarba B = B0 I = I0 D = D0
while true do get next perceipt p B = brf(B,p) D = options(B, D, I) I = filter(B, D, I)  = plan(B, I) while not (empty() or succeeded (I, B)) do  = head() execute()  = tail() if not sound(, I, B) then end while Bucla de control BDI angajare oarba 19

20 20 Bucla de control BDI angajare limitata B = B0 I = I0 D = D0
while true do get next perceipt p B = brf(B,p) D = options(B, D, I) I = filter(B, D, I)  = plan(B, I) while not (empty() or succeeded (I, B) or impossible(I, B)) do  = head() execute()  = tail() if not sound(, I, B) then end while Bucla de control BDI angajare limitata 20

21 21 Bucla de control BDI angajare deschisa B = B0 I = I0 D = D0
while true do get next perceipt p B = brf(B,p) D = options(B, D, I) I = filter(B, D, I)  = plan(B, I) while not (empty() or succeeded (I, B) or impossible(I, B)) do  = head() execute()  = tail() end while Bucla de control BDI angajare deschisa if reconsider(I, B) then Replan 21

22 22 Nu exista o unica arhitectura BDI
PRS - Procedural Reasoning System (Georgeff) UMPRS si JAM – arhitecturi BDI ( JACK – platforma de dezvoltare C-BDI – BDI – nucleu Jack ( JASON – arhitectura BDI ( 22

23 Arhitectura reactiva Arhitectura de subsumare - Brooks, 1986 23
(1) Luarea deciziilor = {Task Accomplishing Behaviours} Fiecare comportare (behaviour) = o functie ce realizeaza o actiune TAB – automate finite Implementare: situation  action (2) Mai multe comportari pot fi activate in paralel 23

24 Arhitectura de subsumare
Un TAB este reprezentat de un modul de competenta (c.m.) Fiecarte c.m. executa un task simplu c.m. opereaza in paralel Nivele inferioare au prioritate fata de cele superioare c.m. la nivel inferior monitorizeaza si influenteaza intrarile si iesirile c.m. la nivel superior  subsumtion architecture 24

25 25 Sensors Effectors Competence Module (2) Explore environ Module (0)
Avoid obstacles Effectors Module (1) Move around Input (percepts) Output (actions) Competence Module (1) Move around Supressor node Inhibitor node Competence Module (0) Avoid obstacles 25

26 Comportare arhitectura subsumare
(c, a) – conditie-actiune; descrie comportarea R = { (c, a) | c  P, a  A} - multimea reguli de comportare   R x R – relatie binara totala de inhibare function action( p: P) var fired: P(R), selected: A begin fired = {(c, a) | (c, a)  R and p  c} for each (c, a)  fired do if   (c', a')  fired such that (c', a')  (c, a) then return a return null end 26

27 (1) Daca detectez obstacol atunci schimb directia
Ne aflam pe o planeta necunoscuta care contine aur. Mostre de teren trebuie aduse la nava. Exista mai multi agenti autonomi care nu pot comunica intre ei. Nava transmite semnale radio: gradient al campului Comportare (1) Daca detectez obstacol atunci schimb directia (2) Daca am mostre si sunt la baza atunci depune mostre (3) Daca am mostre si nu sunt la baza atunci urmez directia baza (4) Daca gasesc mostre atunci le iau (5) Daca adevarat atunci ma misc in mediu (1)  (2)  (3)  (4)  (5) 27

28 (1)  (2)  (3)  (4)  (5)  (6) Agentii pot comunica indirect:
- Depun si culeg boabe radioactive - Pot seziza aceste boabe radioactive (1) Daca detectez obstacol atunci schimb directia (2) Daca am mostre si sunt la baza atunci depune mostre (3) Daca am mostre si nu sunt la baza atunci depun boaba radioactiva si urmez directia baza (4) Daca gasesc mostre atunci le iau (5) Daca gasesc boabe radioactive atunci iau una si urmez directia baza (6) Daca adevarat atunci ma misc in mediu (1)  (2)  (3)  (4)  (5)  (6) 28

29 Swarms Swarm intelligence – comportarea colectiva a sistemelor descentralizate si cu auto-organizare Agenti reactivi, emergenta comportarii colective furnici pasari vaci Swarm robotics ACO = ant colony optimization = algoritm de optimizare – furnici artificiale care construiesc solutia prin miscarea pe graful problemei: depun feromoni artificiali Proiectul Swarm 29

30 3. Comunicare in SMA Comunicare indirecta
Comunicare directa de nivel inalt 30

31 Comunicare indirecta In general pt agenti reactivi
Comunicare prin semnale V(x)=V(x0)/dist(x,x0) Comunicare prin "urme" lasate in mediu x0 S S - stimulus Agent A (stimulus genreaza comportare P) Agent B 31

32 Comunicare indirecta Comunicare in sisteme tip "blackboard" 32
Control Blackboard KS KSAR KS KS KS 32

33 Comunicare directa ACL = Agent Communication Languages
SMA – limbaje de nivel inalt Presupun in general agenti BDI ACL = Agent Communication Languages Comunica cunostinte  RC Intelegerea mesajului in context  ontologii Comunicare vazuta ca o actiune – acte de vorbire (de comunicare) 33

34 Acte de vorbire 34 Un act de comunicare: Categorii ilocutionale
J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 Un act de comunicare: locutie = fraza spusa de locutor ilocutie = intelesul dorit spre a fi comunicat de locutor (performativa) prelocutie = actiunea care rezulta din locutie Maria i-a spus lui Gigel: "Te rog inchide usa" locutie ilocutie continut prelocutie: usa inchisa Categorii ilocutionale Asertive Directive Comisive Permisive Prohibitive Declarative Expresive 34

35 3 straturi ale comunicarii
Primitive si protocol Limbaje pentru continut KIF Prolog Clips SQL DL FIPA-SL, FIPA-KIF Ontologii DAML OWL ACL Content language Ontology 35

36 KIF 36 Knowledge Interchange Format (KIF) Facts
(salary john 72000) (salary michael 36000) (salary sam 42000) Asserted relation (> (* (width chip1) (length chip1)) (* (width chip2) (length chip2))) Rule (=> (and (real-number ?x) (even-number ?n)) (> (expt ?x ?n) 0)) Procedure (progn (fresh-line t) (print "Hello!") (fresh-line t)) 36

37 ACL Cele 3 straturi separa:
Content language Ontology ACL Cele 3 straturi separa: continutul si semantica mesajului semantica comunicarii (acte vorbire) – independenta de domeniu Un ACL are o semantica formala bazata pe un formalism logic 2 ACL-uri care s-au impus: KQML FIPA-ACL 37

38 KQML 38 Content Communication Message Tpuri de performative
KQML de baza - protocol retea - act de vorbire Optional - limbajul continutului - ontologie Parametrii comunicarii - identitate emitator si receptor - identificator unic asociat comunicarii Content Communication Message Tpuri de performative Queries - ask-one, ask-all, ask-if, stream-all,... Generative - standby, ready, next, rest, discard, generate,... Response - reply, sorry ... Informational - tell, untell, insert, delete, ... Capability definition - advertise, subscribe, recommend... Networking - register, unregister, forward, route, ... 38

39 KQML - exemple 39 (ask-one :sender joe :receiver ibm-stock
:reply-with ibm-stock :language PROLOG :ontology NYSE-TICKS :content (price ibm ?price) ) (tell :sender willie :receiver joe :reply-with block1 :language KIF :ontology BlockWorld :content (AND (Block A) (Block B) (On A B)) ) A ask-one(P) B tell(P1,P2,...) ask-all(P) tell(P) A B stream-all(P) B tell(P1) A tell(P2) eos 39

40 Agent facilitator 40 point-to-point tell(P) ask(P) A B
subscribe(ask(P)) tell(P) A B recommend(ask(P)) advertise(ask(P)) tell(P) ask(P) reply(B) advertise(ask(P)) tell(P) recruit(ask(P)) reply(A) B A A B 40

41 Semantica KQML 41 tell(A,B,X) Logica modala
Bel(A,P) Know(A,S) Want(A,S) Int(A,S) Preconditii: starea agentului emitator si a celui receptor pt a trimite si receptiona un mesaj Postconditii – statrea emitatorului si receptorului dupa primirea cu succes a unui mesaj Conditie de finalizare – dupa incheierea mesajului si realizarea intentiei asociate tell(A,B,X) Pre(A): Bel(A,X)  Know(A, Want(B, Know(B, Bel(A,X)))) Pre(B): Int(B, Know(B, Bel(A,X))) Post(A): Know(A, Know(B, Bel(A,X))) Post(B): Know(B, Bel(A,X)) Completion: Know(B, Bel(A,X)) 41

42 FIPA ACL (inform :sender (agent-identifier :name i)
Asemanator cu KQML Primitive (putin) diferite Semantica semnificativ diferita (inform   :sender (agent-identifier :name i)   :receiver (set (agent-identifier :name j))   :content     "weather (today, raining)"   :language Prolog) 42

43 FIPA - exemple 43 (request :sender (agent-identifier :name i)
:receiver (set (agent-identifer :name j) :content ((action (agent-identifier :name j) (deliver box7 (loc )))) :protocol fipa-request :language fipa-sl :reply-with order56 ) (agree sender (agent-identifier :name j) :receiver (set (agent-identifer :name i) (deliver box7 (loc ))) (priority order56 low)) :in-reply-to order56 ) 43

44 FIPA - primitive FIPA – acte de comunicare Informative
- query_if, subscribe, inform, inform_if, confirm, disconfirm, not_understood Distributie taskuri - request, request_whenever, cancel, agree, refuse, failure Negociere - cfp, propose, accept_proposal, reject_proposal 44

45 FIPA ACL 45 SL (Semantic Language)
B  - belief C  - desire U  - uncertain belief Bif  = B  V B~  Preconditii – conditiile necesare pt agentul emitator; nu neaparat trimite mesaj Rational effect – efectul sperat la receptor; nu neaparat realizat <A, inform(B, )> Pre: BA   BA (BifB   UifB ) Post: BB  45

46 FIPA ACL Inform indica faptul ca agentul A:
<A, inform(B, )> Pre: BA   BA (BifB   UifB ) Post: BB  Inform indica faptul ca agentul A:  crede ca  este adevrat, are intentia ca B sa creada de asemenea  adevarat, si Nu crede ca B crede ceva despre adevarul lui    Daca B primeste mesajul de Inform atunci: B stie ca A crede ca  este adevarat, si, A doreste ca B sa creada ca  este adevrat Daca B ajunge sa creada ca este adevrat depinde de increderea lui B in A. 46

47 FIPA - Protocoale FIPA-query, FIPA-request, FIPA-contract-net, ... 47
Defineste o serie de protocoale standard FIPA-query, FIPA-request, FIPA-contract-net, ... 47

48 FIPA - Request Pt exceptii – meta-protocol 48

49 Contract net Initiator si contractori (potentiali) 49

50 FIPA - Contract net Pt exceptii – meta-protocol 50


Download ppt "Aplicatii Web bazate pe semantica, agenti si servicii"

Similar presentations


Ads by Google