UniversitateaPolitehnica Bucuresti Anuluniversitar2010...

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

Transcript of UniversitateaPolitehnica Bucuresti Anuluniversitar2010...

Page 1: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

InteligentaInteligenta ArtificialaArtificiala

Universitatea Politehnica Bucuresti

Anul universitar 2010-2011

Adina Magda Florea

http://turing.cs.pub.ro/ia_10 si

curs.cs.pub.ro

Page 2: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Curs nr. 12

Agenti inteligenti

Page 3: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

1. De 1. De cece agentiagenti??

� Sisteme complexe, pe scara larga, distribuite

� Sisteme deschise si heterogene – construireaindependenta a componentelor

� Distributia resurselor

� Distributia expertizei

� Personalizare

� Interoperabilitatea sistemelor/ integrare sistemesoftware exsitente (legacy systems)

3

Page 4: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

2. 2. DefinitiiDefinitii ale ale agentiloragentilor in in stiintastiinta

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

5

Page 6: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

DefinitiiDefinitii agentiagenti

� “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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� “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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

3. 3. CaracteristiciCaracteristici agentiagenti

2 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

inteligenti

8

Page 9: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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

inteligentainteligenta??

� Scopuri, rationalitate

� Rationament, luarea deciziilor cognitivcognitiv

� Invatare/adaptare

� Interactiune cu alti agenti – dimensiune sociala

Alte moduri de a realiza inteligenta?

9

Page 10: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� 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 SMA –– maimai multi multi agentiagenti in in acelasiacelasi mediumediu

Page 11: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� Comunicare

� protocol

� limbaj

- negociere

- ontologii

� Structuri organizationale

� centralizate vs decentralizate

� ierarhie/ piata

abordare "agent "agent cognitivcognitiv""

11

Page 12: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

14

Dilema prizonierului

Rezultatele 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Problema prazilor si vanatorilor

15

☺☺☺☺ ☺☺☺☺

☺☺☺☺

Abordare reactiva

−Prazile emit semnale a caror intensitate scade pe masura cresteriidistantei 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 cognitiva

−vanatorii au scopuri, prazile nu

−Detectia prazilor

−Echipa vanatori, roluri

−Comunicare/cooperare

Page 16: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

17

Decision theory

Economic

theories

Sociology

Psychology

Distributed

systems

OOP

Artificial intelligence

and DAI

AutonomyMarkets

Learning

Proactivity

Reactivity

Cooperation

Character

Communication

Mobility

Organizations

AOP

MAS

Legaturi cu alte discipline

Rationality

Page 18: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

4. 4. DirectiiDirectii de de studiustudiu sisi cercetarecercetare

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

5. 5. ModeleModele arhitecturalearhitecturale de de

agentiagenti

� Structura conceptuala a agentilor

� Arhitecturi de agenti cognitivi

� Arhitecturi de agenti reactivi

Page 20: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

5.1 5.1 StructuraStructura conceptualaconceptuala a a

agentiloragentilor

1.1 Rationalitatea unui agent

� Ce inseamna rationalitatea unui agent

� Cum putem masura rationalitatea unui

agent?

� O masura a performantei

20

Page 21: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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)

Componenta

decizieaction

Componenta

executieaction

Componenta

perceptiesee

Agent

21

P A

Page 22: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Modelare agenti reactivi

Mai multi agenti reactiviseei : E →→→→ Piactioni : Pi →→→→ Aienv : E x A1 x … An →→→→ P(E)

Mediuenv

Componenta

decizie

action

Componenta

executie

action

Componenta

perceptie

see

Agent (A1)

Agent (A2)

Agent (A3)

22

A1,…, Ai,..

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

Page 23: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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)

Mediuenv (E)

Componenta

decizieaction, next

Componenta

executieaction

Componenta

perceptiesee

Agent

23

P A

S

Page 24: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Mai multi agenti cognitivi

seei : E →→→→ Pi

nexti : Si x P →→→→ Siactioni : Si x I →→→→ Ai

interi : Si →→→→ I

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

Mediuenv

Componenta

decizie

action, next

Componenta

executie

action

Componenta

perceptie

see

Agent (A1)

Agent (A2)

Agent (A3)

Componenta

interactiune

inter

24

S1,…, Si,..

A1,…, Ai,..

P1,…, Pi,..(nu intotdeauna identice)

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

Modelare agenti cognitivi

Page 25: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 uneiactiuni (a) executata in e sa fie noua stare e’

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

e'∈env( e,a)

25

Modelare agent cognitiv

Page 26: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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)

∑∈

==),('

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

eutilityeeaexprobeaU

26

Modelare agent cognitiv

Masura a performantei

Page 27: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Exemplu

Cum modelam?

� Curatirea unei camere

� Agent reactiv

� Agent cognitiv

� Agent cognitiv cu utilitate

27

Page 28: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

5.2 5.2 ArhitecturiArhitecturi de de agentiagenti

cognitivicognitivi

5.2.1 Comportare rationala

IA si Teoria deciziei

� IA

� Teoria deciziei

� Problema 1 = deliberare/decizie vs.

actiune/proactivitate

� Problema 2 = limitarea resurselor

28

Page 29: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

General cognitive agent architectureGeneral cognitive agent architecture

29

Information about

itself- what it knows

- what it believes

- what is able to do

- how it is able to do

- what it wants

environment and

other agents- knowledge

- beliefs

Communication

Interactions

Control

Output

Input

Other

agents

Environment

Scheduler&

Executor State

Planner

Reasoner

Page 30: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

5.2.2 Modele LPOI

� Reprezentare simbolica + inferente – demonstrarea teoremelor pt a afla ceactiuni va face agentul

� Abordare declarativa

� (a)Reguli de deductie

Predicate At(x,y), Free(x,y), Wall(x,y), Exit(dir), Do(action)

Fapte si axiome despre mediu

At(0,0)

Wall(1,1)

∀x ∀y Wall(x,y) →¬Free(x,y)

Reguli de deductie

At(x,y) ∧ Free(x,y+1) ∧ Exit(east) → Do(move_east)

Actualizare automata a starii curente si test pt starea scop

At(0,3)30

Page 31: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Modele LPOI

(b) Utilizarea calcului situational = descrieschimbari utilizand formalismul logic

� Situatie = starea rezultata prin executarea unei actiuni

Result(Action,State) = NewState

At(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 analysis

31

Page 32: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Avantaje LPOI

Dezavantaje

Avem nevoie de un alt model

32

Page 33: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 intentiilor

33

Page 34: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

34

Arhitectura BDIBelief revision

BeliefsKnowledge

Deliberation process

percepts

DesiresOpportunity

analyzer

Intentions

Filter

Means-end

reasonner

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Bucla de control a agentuluiBucla de control a agentului

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)

execute(π)

end while

35

Page 36: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

Strategii de angajare

(Commitment strategies)

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

36

Page 37: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 while37

Reactivity, replan

BuclaBucla de control BDIde control BDI

angajare oarba

Page 38: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 while38

Reactivity, replan

Dropping intentions that are impossible

or have succeeded

BuclaBucla de control BDIde control BDI

angajare limitata

Page 39: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 39

Replan

if reconsider(I, B) then

BuclaBucla de control BDIde control BDI

angajare deschisa

Page 40: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

5.3 5.3 ArhitecturiArhitecturi de de agentiagenti

reactivireactiviArhitectura 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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

Competence

Module (1)

Move around

Competence

Module (0)

Avoid obstacles

Inhibitor nodeSupressor node

Sensors

Competence

Module (2)

Explore environ

Competence

Module (0)

Avoid obstacles

EffectorsCompetence

Module (1)

Move around

Input

(percepts)

Output

(actions)

Page 44: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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

44

Page 45: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 boabaradioactiva si urmez campul de gradient

(4) Daca gasesc mostre atunci le iau

(5) Daca gasesc boabe radioactive atunci iau una si urmez campulde gradient

(6) Daca adevarat atunci ma misc in mediu

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

46

Page 47: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

ComunicareComunicare in SMAin SMA

Comunicare agenti� nivel scazut

� nivel inalt

� Implica interactiuni

Protocoale de comunicare

Protocoale 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

49

� In general pt agenti reactivi

� Comunicare prin semnale

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

� Comunicare prin "urme" lasate in mediu

6.1 6.1 ComunicareComunicare indirectaindirecta

x0

S

S - stimulus

Agent A(stimulus genreaza

comportare P)

Agent B(stimulus genreaza

comportare P)

Page 50: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� Comunicare in sisteme tip "blackboard"

50

ComunicareComunicare indirectaindirecta

KS

KS

KS

KS

KSAR

Control

Blackboard

Page 51: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� 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 6.2 ComunicareComunicare directadirecta

Page 52: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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) – independentade 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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

querie

informational

Page 57: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

• 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

(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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

� 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

61

FIPA - Protocoale

� Defineste o serie de protocoale standard

� FIPA-query, FIPA-request, FIPA-contract-

net, ...

Page 62: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

62

FIPA - Request

Page 63: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

63

FIPA - Contract net

Page 64: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

6.3.3 6.3.3 LimbajeLimbaje pentrupentru continutcontinut

� KIF

� Prolog

� Clips

� SQL

� FIPA-SL, FIPA-KIF

Page 65: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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 Asserted relation Asserted relation Asserted relation (> (* (width chip1) (length chip1))

(* (width chip2) (length chip2)))�RuleRuleRuleRule

(=> (and (real-number ?x)(even-number ?n))

(> (expt ?x ?n) 0))�ProcedureProcedureProcedureProcedure

(progn (fresh-line t)(print "Hello!")(fresh-line t))

Page 66: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

6.3.4 6.3.4 ProtocoaleProtocoale de de interactiuneinteractiune

Perimit agentilor realizarea de

conversatii = schimburi structurate de

mesaje

Finite automata

Conversations in KQML

Petri nets

Page 67: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

68

Conversatii in KQML

Definite 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: UniversitateaPolitehnica Bucuresti Anuluniversitar2010 …andrei.clubcisco.ro/cursuri/4ia1/cursuri/v2/IA_Lect_12_Agenti.pdf · sociala si Stiinta calculatoarelor ⊃IA ... Inteligenta

DAA wants to do P,

A cannot do PRequest do(P)

Refuse do(P)

Accept/request do(P)

Fail to do(P)

Notification of end(P)

DB

AR1

AR2

SAFA

BR

FBFailure Satisfaction

Impossible

to do(P)

B does not want

to do(P)B is willing

to do(P)

Completed(P)

Retele Petri Ferber, 1997

69

Success