1 / 50

Aplicatii Web bazate pe semantica, agenti si servicii

http://turing.cs.pub.ro/webs_07. Aplicatii Web bazate pe semantica, agenti si servicii. Universitatea Politehnica Bucuresti Anul universitar 2008-2009, Master Adina Magda Florea. Curs 5. Agenti si arhitecturi agenti Sisteme multi-agent (SMA) Comunicare in SMA.

niyati
Download Presentation

Aplicatii Web bazate pe semantica, agenti si servicii

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://turing.cs.pub.ro/webs_07 Aplicatii Web bazate pe semantica, agenti si servicii Universitatea Politehnica BucurestiAnul universitar 2008-2009,MasterAdina 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 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 Agent (A3) executie perceptie action see Mediu env 6

  7. 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. Componenta interactiune inter Modelare agent Mai multi agenti cognitivi seei : E  Pi 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 action, next Agent (A2) Componenta Componenta Agent (A3) executie perceptie action see 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. percepts Arhitectura BDI Belief revision Beliefs 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 = B0 I = I0D = 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. 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() get next perceipt p B = brf(B,p) if not sound(, I, B) then  = plan(B, I) end while end while 19

  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() get next perceipt p B = brf(B,p) if not sound(, I, B) then  = plan(B, I) end while end while 20

  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() get next perceipt p B = brf(B,p) D = options(B, D, I) I = filter(B, D, I)  = plan(B, I) end while end while ifreconsider(I,B) then Replan 21

  22. Nu exista o unica arhitectura BDI • PRS - Procedural Reasoning System (Georgeff) • UMPRS si JAM – arhitecturi BDI(http://www.marcush.net/IRS/irs_downloads.html) • JACK – platforma de dezvoltare • C-BDI – BDI – nucleu Jack (http://www.aosgrp.com/index.html) • JASON – arhitectura BDI(http://jason.sourceforge.net/JasonWebSite/Jason%20Home.php) 22

  23. Arhitectura reactiva Arhitectura de subsumare - Brooks, 1986 • (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. Competence Module (2) Explore environ Effectors Sensors Output (actions) Input (percepts) Competence Module (1) Move around Competence Module (0) Avoid obstacles 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 functionaction( 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. 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. Agentii pot comunica indirect: - Depun si culeg boabe radiocative - 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 atuncidepun boaba radioactivasi 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 = at colony optimization = algoritm de optimizare – furnici artificiale care construiesc solutia prin miscarea pe graful problemei: depun feromoni artificiali • Proiectul Swarm http://www.swarms.org/ 29

  30. 3. Comunicare in SMA • Comunicare indirecta • Comunicare directa • Specificarea protocolului 30

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

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

  33. Comunicare directa • 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 J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 Un act de comunicare: • locutie = fraza spusa de locutor • illocution = intelesul dorit spre a fi comunicat de locutor (performativa) • prelocution = actiunea care rezulta din locutie Maria i-a spus lui Gigel: "Te rog inchide usa" locution illocutie continut prelocutie: usa inchisa Categorii ilocutionale • Asertive • Directive • Comisive • Permisive • Prohibitive • Declarative • Expresive 34

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

  36. KIF Knowledge Interchange Format (KIF) • Facts (salary 015-46-3946 john 72000) (salary 026-40-9152 michael 36000) (salary 415-32-4707 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 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. Content Communication Message KQML KQML de baza - protocol retea - act de vorbire Optional - limbajul continutului - ontologie 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 - advartise, subscribe, recommend... • Networking - register, unregister, forward, route, ... Parametrii comunicarii - identitate emitator si receptor - identificator unic asociat comunicarii 38

  39. ask-all(P) tell(P1,P2,...) KQML - exemple (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(P) A B stream-all(P) B tell(P1) A tell(P2) eos 39

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

  41. Semantica KQML 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 (error or sorry daca nu sunt) • 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 • Asemanator cu KQML • Primitive oarecum 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 (request :sender (agent-identifier :name i) :receiver (set (agent-identifer :name j) :content ((action (agent-identifier :name j) (deliver box7 (loc 10 15)))) :protocol fipa-request :language fipa-sl :reply-with order56 ) (agree sender (agent-identifier :name j) :receiver (set (agent-identifer :name i) :content ((action (agent-identifier :name j) (deliver box7 (loc 10 15))) (priority order56 low)) :protocol fipa-request :language fipa-sl :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 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 <A, inform(B, )> Pre:BA   BA (BifB   UifB ) Post: BB  • Inform indicates that the sending agent: •  holds that some proposition is true, •  intends that the receiving agent also comes to believe that the proposition is true, and, •  does not already believe that the receiver has any knowledge of the truth of the proposition. • From the receiver’s viewpoint, receiving an inform message entitles it to believe that: • the sender believes the proposition that is the content of the message, and, •  the sender wishes the receiver to believe that proposition also. •  Whether or not the receiver does, indeed, adopt belief in the proposition will be a function of the receiver's trust in the sincerity and reliability of the sender. 46

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

  48. FIPA - Request 48

  49. Contract net Initiator si contractori (potentiali) 49

  50. FIPA - Contract net 50

More Related