Aplicatii Web bazate pe semantica, agenti si servicii

Post on 22-Jan-2016

38 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Aplicatii Web bazate pe semantica, agenti si servicii

Aplicatii Web bazate pe semantica, agenti si servicii

Universitatea Politehnica Bucuresti

Anul universitar 2008-2009, MasterAdina Magda Florea

http://turing.cs.pub.ro/webs_07

Curs 5

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

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

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

Modelare agent

E = {e1, .., e, ..}P = {p1, .., p, ..}A = {a1, .., a, ..}

Agent reactivsee : E Paction : P Aenv : E x A E(env : E x A P(E))

Mediuenv (E)

Componentadecizie

action

Componentaexecutie

action

Componentaperceptie

see

Agent

5

P A

Modelare agentMai multi agenti reactivi

seei : E Pi

actioni : Pi Ai

env : E x A1 x … An P(E)

Mediuenv

Componentadecizie

action

Componentaexecutie

action

Componentaperceptie

see

Agent (A1)

Agent (A2)

Agent (A3)

6

A1,…, Ai,..P1,…, Pi,..(de obicei identice)

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

Modelare agent

E = {e1, .., e, ..}P = {p1, .., p, ..}A = {a1, .., a, ..}S = {s1, .., s, ..}

Agent cu staresee : E Pnext : S x P Saction : S Aenv : E x A P(E)Mediu

env (E)

Componentadecizie

action, next

Componentaexecutie

action

Componentaperceptie

see

Agent

8

P A

S

Mai multi agenti cognitiviseei : E Pi

nexti : Si x P Si

actioni : Si x I Ai

interi : Si I env : E x A1 x … An P(E)

Mediuenv

Componentadecizie

action, next

Componentaexecutie

action

Componentaperceptie

see

Agent (A1)

Agent (A2)

Agent (A3)

Componentainteractiune

inter

9

S1,…, Si,..A1,…, Ai,..P1,…, Pi,..(nu intotdeauna identice)

I = {i1, .., ik,…}

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’

prob(ex(a, e) e') 1e'env( e,a)

10

Modelare agent

Agenti cu utilitate

Utilitatea estimata (expected utility) a unei actiuni a intr-o stare e, dpv al agentului

Principiul utilitatii estimate maximeMaximum Expected Utility (MEU)

),('

)'(*)'),((),(aeenve

eutilityeeaexprobeaU

11

Modelare agent

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

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

Agenti cognitivi

Arhitecturi pentru agenti cognitivi Arhitecturi pentru agenti reactivi

14

2. Arhitecturi de agenti

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

Arhitectura BDI

16

Arhitectura BDIBelief revision

BeliefsKnowledge

Deliberation process

percepts

DesiresOpportunityanalyzer

Intentions

Filter

Means-endreasonner

Intentions structured in partial plans

PlansLibrary of plans

Executor

B = brf(B, p)

D = options(B, D, I)

I = filter(B, D, I)

= plan(B, I)

actions

Bucla de control a agentuluiB = B0 I = I0 D = D0

while true doget next perceipt pB = brf(B,p)D = options(B, D, I)I = filter(B, D, I) = plan(B, I)execute()

end while 17

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

B = B0

I = I0 D = D0

while true doget next perceipt pB = 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 pB = brf(B,p)if not sound(, I, B) then = plan(B, I)

end whileend while 19

Bucla de control BDIBucla de control BDIangajare oarba

B = B0

I = I0 D = D0

while true doget next perceipt pB = 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 pB = brf(B,p)if not sound(, I, B) then = plan(B, I)

end whileend while 20

Bucla de control BDIBucla de control BDIangajare limitata

B = B0

I = I0 D = D0

while true doget next perceipt pB = 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 pB = brf(B,p)

D = options(B, D, I) I = filter(B, D, I)

= plan(B, I)end while

end while 21

Replan

if reconsider(I, B) then

Bucla de control BDIBucla de control BDIangajare deschisa

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

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

Arhitectura reactiva

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

CompetenceModule (1)Move around

CompetenceModule (0)Avoid obstacles

Inhibitor nodeSupressor node

Sensors

CompetenceModule (2)Explore environ

CompetenceModule (0)Avoid obstacles

EffectorsCompetenceModule (1)Move around

Input(percepts)

Output(actions)

(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: Abegin

fired = {(c, a) | (c, a) R and p c}for each (c, a) fired doif (c', a') fired such that (c', a') (c, a) then return areturn null

end26

Comportare arhitectura subsumare

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

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

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

Swarms

Comunicare indirecta Comunicare directa Specificarea protocolului

30

3. Comunicare in SMA

In general pt agenti reactivi Comunicare prin semnale

V(x)=V(x0)/dist(x,x0)

Comunicare prin "urme" lasate in mediu

31

Comunicare indirecta

x0

SS - stimulus

Agent A(stimulus genreazacomportare P)

Agent B(stimulus genreazacomportare P)

Comunicare in sisteme tip "blackboard"

32

Comunicare indirecta

KS

KS

KS

KS

KSAR

Control

Blackboard

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

Comunicare directa

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

Acte de vorbire

35

3 straturi ale comunicarii

ACL

Content language

Ontology

Primitive si protocol Limbaje pentru continut

KIF Prolog Clips SQL DL FIPA-SL, FIPA-KIF

Ontologii DAML OWL

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))

37

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

ACL

Content language

Ontology

38

KQML

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

Content

Communication

Message

Parametrii comunicarii- identitate emitator si receptor- identificator unic asociat comunicarii

KQML de baza- protocol retea- act de vorbire

Optional- limbajul continutului- ontologie

(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)) )

39

KQML - exemple

ask-one(P)

tell(P)

tell(P1)

stream-all(P)

tell(P2)eos

tell(P1,P2,...)

ask-all(P)

B

B

B

A

A

A

40

Agent facilitator

tell(P)

ask(P)

subscribe(ask(P)) tell(P)

tell(P)

advertise(ask(P))

tell(P)

recruit(ask(P))

reply(A)

recommend(ask(P)) advertise(ask(P))

tell(P)

ask(P)

reply(B)

A

A

A

A

B

B

B

B

point-to-point

Logica modalaBel(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

Semantica KQML

• 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

FIPA ACL

(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

FIPA - exemple

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

FIPA - primitive

SL (Semantic Language)B - belief C - desire U - uncertain beliefBif = 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

FIPA ACL

46

FIPA ACL

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.

<A, inform(B, )>Pre: BA BA (BifB UifB )Post: BB

47

FIPA - Protocoale

Defineste o serie de protocoale standard FIPA-query, FIPA-request, FIPA-

contract-net, ...

48

FIPA - Request

49

Contract netInitiator si contractori (potentiali)

50

FIPA - Contract net