inteligenta artificiala

69
Inteligenta Inteligenta Artificiala Artificiala Universitatea Politehnica Bucuresti Anul universitar 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/ia_10 si curs.cs.pub.ro

Upload: lewis-dixon

Post on 15-Mar-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Inteligenta Artificiala. Universitatea Politehnica Bucuresti Anul universitar 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/ia_10 si curs.cs.pub.ro. Curs nr. 12. Agenti inteligenti. 1. De ce agenti?. Sisteme complexe, pe scara larga, distribuite - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Inteligenta Artificiala

Inteligenta ArtificialaInteligenta Artificiala

Universitatea Politehnica BucurestiAnul universitar 2010-2011

Adina Magda Floreahttp://turing.cs.pub.ro/ia_10 si

curs.cs.pub.ro

Page 2: Inteligenta Artificiala

Curs nr. 12

Agenti inteligenti

Page 3: Inteligenta Artificiala

1. De ce agenti?1. De ce agenti? Sisteme complexe, pe scara larga, distribuite Sisteme deschise si heterogene – construirea

independenta a componentelor Distributia resurselor Distributia expertizei Personalizare Interoperabilitatea sistemelor/ integrare sisteme

software exsitente (legacy systems)

3

Page 4: Inteligenta Artificiala

Agent?Agent?Termenul agent este frecvent utilizat in:

Sociologie, biologie, psihologie cognitiva, psihologie sociala si

Stiinta calculatoarelor IA Ce sunt agentii? Ce sunt agentii in stiinta calculatoarelor? Aduc ceva nou? Cum difera agentii software de alte programe?

4

Page 5: Inteligenta Artificiala

2. Definitii ale agentilor in stiinta 2. Definitii ale agentilor in stiinta calculatoarelorcalculatoarelor

Nu exista o definitie unanim acceptata De ce este greu de definit? IA, agenti inteligenti, sisteme multi-agent Aparent agentii sunt dotati cu inteligenta Sunt toti agentii inteligenti? Agent = definit mai mult prin caracteristici,

unele pot fi considerate ca manifestari ale unui comportament inteligent

5

Page 6: Inteligenta Artificiala

Definitii agentiDefinitii agenti “De cele mai multe ori, oamenii folosesc termenul

agent pentru a referi o etitate care functioneaza permanent si autonom intr-un mediu in care exsita alte procese si/sau alti agenti” (Shoham, 1993)

“Un agent este o entitate care percepe mediul in care se afla si actioneaza asupra acestuia” (Russell, 1997)

Page 7: Inteligenta Artificiala

“Agent = un sistem (software sau hardware) cu urmatoarele proprietati:

autonomie – agentii opereaza fara interventai directa a utilizatorui si au un anumit control asupra actiunilor si starilor lor;

Actiune autonoma flexibila

reactivitate: agentii percep mediul si reactioneaza corespunzator al schimbarile din acesta;

pro-activitate: agentii, pe langa reactia la schimbarile din mediu, sunt capabili sa urmareasca executia scopurilor si sa actioneze independent;

abilitati sociale – agentii interactioneaza cu alti agenti sau cu utilizatorul pe baza unui limbaj de comunicare.

(Wooldridge and Jennings, 1995)7

Page 8: Inteligenta Artificiala

3. Caracteristici agenti3. Caracteristici agenti2 directii de definitie Definirea unui agent izolat Definirea agentilor in colectivitate

dimensiune sociala SMA

2 tipuri de definitii Nu neaparat agenti inteligenti Include o comportare tipica IA agenti

inteligenti8

Page 9: Inteligenta Artificiala

Caracteristici agenti Actioneaza pentru un utilizator sau un program Autonomie Percepe mediul si actioneaza asupra lui reactiv Actiuni pro-active Caracter social Functionare continua (persistent software) Mobilitate

inteligenta?inteligenta? Scopuri, rationalitate Rationament, luarea deciziilor cognitivcognitiv Invatare/adaptare Interactiune cu alti agenti – dimensiune sociala

Alte moduri de a realiza inteligenta?

9

Page 10: Inteligenta Artificiala

Interactiuni intre agenti- nivel inalt

Interactiuni pentru- coordonare- comunicare- organizare

Coordonare motivati colectiv motivati individual

- scopuri proprii / indiferenta- scopuri proprii / competitie pentru resurse- scopuri proprii si contradictorii / competitie pentru resurse- scopuri proprii / coalitii

10

SMA – mai multi agenti in acelasi mediuSMA – mai multi agenti in acelasi mediu

Page 11: Inteligenta Artificiala

Comunicare protocol limbaj

- negociere- ontologii Structuri organizationale

centralizate vs decentralizate

ierarhie/ piataabordare "agent cognitiv""agent cognitiv"

11

Page 12: Inteligenta Artificiala

3.1 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

(Shoham, 1993) De ce se utilizeaza aceste notiuni? Comparatie cu IA

12

Page 13: Inteligenta Artificiala

3.2 Agenti reactivi 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”

13

Page 14: Inteligenta Artificiala

14

Dilema prizonieruluiRezultatele pentru A si B (in puncte ipotetice) in functie de actiunile fiecaruia

Problema inteleptilor

Regele picteaza cate o pata alba si spune ca cel putin o pata este alba

Player A / Player B Tradeaza Coopereaza

Tradeaza 2 , 2 5 , 0

Coopereaza 0 , 5 3 , 3

Page 15: Inteligenta Artificiala

Problema prazilor si vanatorilor

15

Abordare reactivaPrazile emit semnale a caror intensitate scade pe masura cresterii distantei de vanatori Vanatorii emit semnale care pot fi percepute de alti vanatori Fiecare vanator este atras de o prada si respins de alt semnal de la un vanator

Abordare cognitivavanatorii au scopuri, prazile nuDetectia prazilorEchipa vanatori, roluriComunicare/cooperare

Page 16: Inteligenta Artificiala

3.3 Agenti emotionali Inteligenta afectiva Actori virtuali

recunoasterea vorbirii gesturi, sinteza de vorbire

Emotii: Aprecierea unei situatii sau a unui eveniment: bucurie,

suparare; valoarea unei situatii care afecteaza pe alt agent: bucuros-

pentru,, gelos, invidios, suprat-pentru; Aprecierea unui eveniment viitor: speranta, frica; Aprecierea unei situatii care confirma o asteptare: satisfactie,

dezamagire Controlarea emotiilor prin temperament

16

Page 17: Inteligenta Artificiala

17

Decision theory

Economictheories

Sociology

Psychology

Distributedsystems

OOP

Artificial intelligenceand DAI

AutonomyMarkets

LearningProactivity

Reactivity

Cooperation

Character

Communication

Mobility

Organizations

AOP

MAS

Legaturi cu alte discipline

Rationality

Page 18: Inteligenta Artificiala

4. Directii de studiu si cercetare4. Directii de studiu si cercetare

18

Arhitecturi agent Reprezentare cunostinte: sine, alti agenti, lume Comunicare: limbaje, protocol Planificare distribuita Cautare distribuita, coordonare Luarea deciziilor: negociere, piete de marfuri Invatare Structuri organizationale Implementare:

Programarea agentilor: paradigme, limbaje Platforme multi-agent Middleware, mobilitate, securitate

Page 19: Inteligenta Artificiala

5. Modele arhitecturale de 5. Modele arhitecturale de agentiagenti

Structura conceptuala a agentilor Arhitecturi de agenti cognitivi Arhitecturi de agenti reactivi

Page 20: Inteligenta Artificiala

5.1 Structura conceptuala a 5.1 Structura conceptuala a agentiloragentilor1.1 Rationalitatea unui agent

Ce inseamna rationalitatea unui agent Cum putem masura rationalitatea unui

agent? O masura a performantei

20

Page 21: Inteligenta Artificiala

Modelare agent reactiv

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

21

P A

Page 22: Inteligenta Artificiala

Modelare agenti reactiviMai 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)

22

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

Page 23: Inteligenta Artificiala

Modelare agent cognitiv

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

23

P A

S

Page 24: Inteligenta Artificiala

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

24

S1,…, Si,..A1,…, Ai,..P1,…, Pi,..(nu intotdeauna identice)I = {i1, .., ik,…}

Modelare agenti cognitivi

Page 25: Inteligenta Artificiala

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)

25

Modelare agent cognitiv

Page 26: Inteligenta Artificiala

Agenti cu utilitateUtilitatea estimata (expected utility) a unei actiuni a intr-o

stare e, dpv al agentului

Principiul utilitatii estimate maximeMaximum Expected Utility (MEU)

),('

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

eutilityeeaexprobeaU

26

Modelare agent cognitiv

Masura a performantei

Page 27: Inteligenta Artificiala

ExempluCum modelam? Curatirea unei camere

Agent reactiv Agent cognitiv Agent cognitiv cu utilitate

27

Page 28: Inteligenta Artificiala

5.2 Arhitecturi de agenti 5.2 Arhitecturi de agenti cognitivicognitivi

5.2.1 Comportare rationalaIA si Teoria deciziei

IA Teoria deciziei Problema 1 = deliberare/decizie vs.

actiune/proactivitate Problema 2 = limitarea resurselor

28

Page 29: Inteligenta Artificiala

General cognitive agent architectureGeneral cognitive agent architecture

29

Information aboutitself- what it knows- what it believes- what is able to do- how it is able to do- what it wantsenvironment andother agents- knowledge- beliefs

Communication

Interactions

Control

Output

Input

Otheragents

Environment

Scheduler&Executor State

Planner

Reasoner

Page 30: Inteligenta Artificiala

5.2.2 Modele LPOI Reprezentare simbolica + inferente – demonstrarea teoremelor pt a afla ce

actiuni va face agentul Abordare declarativa (a)Reguli de deductiePredicateAt(x,y), Free(x,y), Wall(x,y), Exit(dir), Do(action)

Fapte si axiome despre mediuAt(0,0)Wall(1,1)x y Wall(x,y) Free(x,y)

Reguli de deductieAt(x,y) Free(x,y+1) Exit(east) Do(move_east)

Actualizare automata a starii curente si test pt starea scopAt(0,3)

30

Page 31: Inteligenta Artificiala

Modele LPOI(b) Utilizarea calcului situational = descrie

schimbari utilizand formalismul logic Situatie = starea rezultata prin executarea unei actiuni

Result(Action,State) = NewStateAt(location, situation)

At((x,y), Si) Free(x,y+1) Exit(east)

At((x,y+1), Result(move_east,Si))Scop At((0,3), _) + actiuni care au condus la scop

means-end analysis31

Page 32: Inteligenta Artificiala

Avantaje LPOI

Dezavantaje

Avem nevoie de un alt model

32

Page 33: Inteligenta Artificiala

5.2.3 Arhitecturi 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 intentiilor33

Page 34: Inteligenta Artificiala

34

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

Page 35: Inteligenta Artificiala

Bucla de control a agentuluiBucla 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

35

Page 36: Inteligenta Artificiala

Strategii de angajare(Commitment strategies) Optiune aleasa de agent ca intentie – agentul s-a

angajat pentru acea optiune Persistenta intentiilorInterbare: Cat timp se angajeaza un agent fata de o

inetntie? Angajare oarba (Blind commitment) Angajare limitata (Single minded commitment) Angajare deschisa (Open minded commitment)

36

Page 37: Inteligenta Artificiala

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 37

Reactivity, replan

Bucla de control BDIBucla de control BDIangajare oarba

Page 38: Inteligenta Artificiala

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 38

Reactivity, replan

Dropping intentions that are impossibleor have succeeded

Bucla de control BDIBucla de control BDIangajare limitata

Page 39: Inteligenta Artificiala

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 whileend while 39

Replan

if reconsider(I, B) then

Bucla de control BDIBucla de control BDIangajare deschisa

Page 40: Inteligenta Artificiala

Nu exista o unica arhitectura BDI

PRS - Procedural Reasoning System (Georgeff) dMARS UMPRS si JAM – C++ JACK – Java JADE - Java JADEX – XML si Java, JASON – Java

40

Page 41: Inteligenta Artificiala

5.3 Arhitecturi de agenti 5.3 Arhitecturi de agenti reactivireactivi

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

41

Page 42: Inteligenta Artificiala

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

42

Page 43: Inteligenta Artificiala

M1 = move around while avoiding obstacles M0

M2 = explores the environment looking for distant objects of interests while moving around M1

Incoroprarea functionalitatii unui c.m. subordonat de catre un c.m. superior se face prin noduri supresoare (modifica semnalul de intrare) si noduri inhibitoare (inhiba iesirea)

43

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)

Page 44: Inteligenta Artificiala

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

end44

Page 45: Inteligenta Artificiala

Ne aflam pe o planeta necunoscuta care contine aur. Mostre de teren trebuie aduse la nava. Nu se stie daca sunt aur sau nu. Exsita 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

campul de gradient(4) Daca gasesc mostre atunci le iau(5) Daca adevarat atunci ma misc in mediu

(1) (2) (3) (4) (5)45

Page 46: Inteligenta Artificiala

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 campul de gradient(4) Daca gasesc mostre atunci le iau(5) Daca gasesc boabe radioactive atunci iau una si urmez campul

de gradient(6) Daca adevarat atunci ma misc in mediu

(1) (2) (3) (4) (5) (6)

46

Page 47: Inteligenta Artificiala

6. Comunicare in SMA Comunicare indirecta Comunicare directa

ACL Limbaje pentru continut Teoria actelor de vorbire KQML FIPA and FIPA-ACL

Protocoale de interactiune

Page 48: Inteligenta Artificiala

Comunicare in SMAComunicare in SMAComunicare agenti nivel scazut nivel inalt Implica interactiuni

Protocoale de comunicareProtocoale de interactiune – conversatii = schimb structurat de mesaje

Scop comunicarea permiet agentilor: coordinarea actiunii si comportarii schimbarea starii altor agenti determina agenti sa faca actiuni

48

Page 49: Inteligenta Artificiala

49

In general pt agenti reactivi Comunicare prin semnale V(x)=V(x0)/dist(x,x0)

Comunicare prin "urme" lasate in mediu

6.1 Comunicare indirecta6.1 Comunicare indirecta

x0S

S - stimulus

Agent A(stimulus genreazacomportare P)

Agent B(stimulus genreazacomportare P)

Page 50: Inteligenta Artificiala

Comunicare in sisteme tip "blackboard"

50

Comunicare indirectaComunicare indirecta

KS

KS

KS

KS

KSAR

Control

Blackboard

Page 51: Inteligenta Artificiala

SMA – limbaje de nivel inalt Presupun in general agenti BDI

ACL = Agent Communication Languages Comunica cunostinte rep. cunostinte Intelegerea mesajului in context ontologii Comunicare vazuta ca o actiune – acte de

vorbire (de comunicare)

51

6.2 Comunicare directa6.2 Comunicare directa

Page 52: Inteligenta Artificiala

Concepts (distinguish ACLs from RPC, RMI or CORBA, ORB):

An ACL message describes a desired state in a declarative language, rather than a procedure or method invocation

ACLs handle propositions, rules, and actions instead of objects with no associated semantics - KR

ACLs are mainly based on BDI theories: BDI agents attempt to communicate their BDI states or attempt to alter interlocutor's BDI state – Cognitive Agents

ACLs are based on Speech Act Theory – Communicative Acts ACLs refer to shared Ontologies Agent behavior and strategy drive communication and lead to

conversations - Protocols

52

6.2.1 ACL6.2.1 ACL

Page 53: Inteligenta Artificiala

53

3 straturi ale comunicarii

ACL

Content language

Ontology

Primitive si protocol- KQML- FIPA

Limbaje pentru continut KIF Prolog Clips SQL DL FIPA-SL, FIPA-KIF

Ontologii DAML OWL

Page 54: Inteligenta Artificiala

54

6.2.2 Primitive ACL6.2.2 Primitive ACL Bazate pe acte de comunicare / acte de vorbireJ. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969

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

Pot include definitii de protocoloale

Page 55: Inteligenta Artificiala

55

KQML

Tipuri 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

Page 56: Inteligenta Artificiala

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

56

KQML - exempleask-one(P)

tell(P)

tell(P1)

stream-all(P)

tell(P2)eos

tell(P1,P2,...)

ask-all(P)

B

B

B

A

A

A

querie

informational

Page 57: Inteligenta Artificiala

57

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

capability

Page 58: Inteligenta Artificiala

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

58

FIPA ACL

Page 59: Inteligenta Artificiala

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

59

FIPA - exemple

Page 60: Inteligenta Artificiala

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 60

FIPA - primitive

Page 61: Inteligenta Artificiala

61

FIPA - Protocoale

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

net, ...

Page 62: Inteligenta Artificiala

62

FIPA - Request

Page 63: Inteligenta Artificiala

63

FIPA - Contract net

Page 64: Inteligenta Artificiala

6.3.3 Limbaje pentru continut6.3.3 Limbaje pentru continut KIF Prolog Clips SQL FIPA-SL, FIPA-KIF

Page 65: Inteligenta Artificiala

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

Page 66: Inteligenta Artificiala

6.3.4 Protocoale de interactiune6.3.4 Protocoale de interactiunePerimit agentilor realizarea de conversatii = schimburi structurate de mesaje

Finite automata Conversations in KQML Petri nets

Page 67: Inteligenta Artificiala

Automate finite

67

A:B<<ask(do P)

B:A<<accept(do P)

B:A<<refuse(do P)

B:A<<result(do P) B:A<<fail(do P)

proposeS(P)

acceptR(P) rejectR(P)

counterR(P)counterS(P)

acceptS(P) rejectS(P)Winograd, Flores, 1986

COOL, Barbuceanu,95

Page 68: Inteligenta Artificiala

68

Conversatii in KQMLDefinite Clause Grammars

S s(Conv, P, S, R, inR, Rw, IO, Content), {member(P, [advertise, ask-if]}

s(Conv, ask-if, S, R, inR, Rw, IO, Content) [ask-if, S, R, inR, Rw, IO, Content] |[ask-if, S, R, inR, Rw, IO, Content], {OI is inv(IO)},

r(Conv, ask-if, S, R, _, Rw, OI, Content)r(Conv, ask-if, R, S, _, inR, IO, Content)

[tell, S, R, inR, Rw, IO, Content] |problem(Conv, R, S, inR, _, IO)

Labrou, Finin, 1998

Page 69: Inteligenta Artificiala

DAA wants to do P,A cannot do P

Request do(P)

Refuse do(P)

Accept/request do(P)

Fail to do(P)

Notification of end(P)

DB

AR1

AR2

SAFA

BR

FBFailure Satisfaction

Impossibleto do(P)

B does not wantto do(P)

B is willingto do(P)

Completed(P)

Retele Petri Ferber, 1997

69

Success