Transcript
Page 1: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Multi-Agent SystemsLecture 5Lecture 5

University “Politehnica” of Bucarest2004 - 2005

Adina Magda [email protected]

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

version of ...

Page 2: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

2

promotes a societal view of computing uses mental states to design agents; mental

categories appear in the programming language

the semantics of the PL is related to the semantics of mental states

first AOPL: Agent-0 mental states of Agent-0: beliefs,

commitments, capabilities, decisions

1 AOP principles1 AOP principles

Page 3: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

3

March • P to C: Please inform me what flights you have from San Francisco to

New York on April 18. • C to P: Flight #354 departs at 08:30. flight #293 departs at 10:00, flight

#441 departs at noon, • P to C: Please book me on #354. • C to P: That is sold out. • P to C: Please book me on #293. • C to P: That is confirmed: your reservation number is 112358. • P to C: Please book me also on #441. • C to P: That conflicts with #293: I am not allowed to double book a

passenger. • P to C: Please get permission to do so. • C to S: I request permission for the fallowing double booking: • S to C: Permission denied. • C to P: Sorry, I cannot get approval.

Airline reservationAirline reservation

Page 4: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

4

April 18, at the airport • P to C: My name is P; I have a

reservation for flight =293. • C to P: Here is your boarding pass.

Airline reservationAirline reservation

Page 5: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

3 Overview of the AOP Framework3 Overview of the AOP Framework

A complete AOP system should have 3 components:

A formal (logical) language for defining the mental state of the agents

An (interpreted) programming language in which to define and program agents, with communication primitives based on speech-act theory; the semantics of the PL must match the semantics of the mental states

An "agentification" process converting neutral devices into programmable agents

5

Page 6: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

The agent’s beliefs refer to:

states of the world,

mental states of other agents, and

capabilities of this and other agents.

The actions of an agent are determined by its decisions, or choices.

Decisions are constrained (but nor determined) by the agent’s beliefs

Decisions are also constrained by prior decisions.

6

Page 7: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Persistence of Mental State

Beliefs persist by default: agents have perfect memory of their beliefs; a belief is dropped only when a contradictory fact is learned.

The absence of belief also persists by default.

Obligations persist by default, but there are conditions under which they’re revoked, e.g.:

explicit release of the agent by the party to which it’s obligated,

realization by the agent that it’s no longer able to fulfill the obligation.

Since decision is defined in terms of obligation, it inherits the default persistence.

7

Page 8: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Linear discrete time Beliefs Ba

t Actions raise_arm(robot)t

Obligations (commitments) OBLa,bt (CMTa,b

t ) Decisions (choices) DECa

t = OBLa,at

Abilities (capabilities) CANat

Properties of mental categories

• Internal consistency of beliefs and commitments Good faith Persistence of beliefs Persistence of commitments

8

Summary of mental categories in AGENT0Summary of mental categories in AGENT0

Page 9: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Actions to which agents can be committed include arbitrary private actions communicative actions (e.g., informing and requesting)

Private actions may or may not involve IO.

Communicative actions always involve IO and are common to all agents.

Actions may also be:

unconditional actions

conditional actions

A conditional action relies on a mental condition, which refers to the mental state of the agent.

9

A generic interpreter - contA generic interpreter - cont

Page 10: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Initialize mental stateand capabilitiesDefine rules for makingnew commitments

Update mentalstate

Execute commitmentfor current time

Clock Representationof mental stateand capabilities

Outgoing message

Incoming message

A flow diagram of the generic agent interpreter

Control

Data

Page 11: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Commitment rules - key to AOP

Conditions for entering a commitment: mental condition message condition

Message condition = a logical combination of message patterns

Message pattern (sender type content)

type: INFORM, REQUEST, UNREQUEST, REFRAIN

content: a fact statement or an action statement, depending on type

Commitment rule

(COMMIT message-cond mental-cond (agenti actioni)*)

Ex: (COMMIT (?a REQUEST ?action)

(B (now (myfriend ?a)))

(?a ?action))11

Page 12: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

4 Agent-04 Agent-0

4.1 Components of Mental State4.1 Components of Mental State Two mental categories: beliefs and decisions

A third (not per se mental) category: capabilities.

A forth category: obligation, or commitment - treat decision as commitment to oneself.

12

Page 13: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

The role of an agent program is to control the evolution of an agent’s mental state.

Actions occur as side-effects of the agent being committed to an action whose time has come.

The Basic LoopEach agent iterates the following steps at regular intervals:1. Read the current messages and update your mental state,

including your beliefs and commitments.(The agent program is crucial for the update.)

2. Execute the commitments for the current time, possibly resulting in further belief change.(This is independent of the agent program.)

13

4.3 A generic interpreter4.3 A generic interpreter

Page 14: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Commitment rules

<commitrule> ::=

(COMMIT <mes-cond> <mental-cond>

(<agent> <action>)*)

< mes- cond> ::=

< mes- conj> | (OR <mes- conj>*)

< mes- conj> ::=

< mes- pattern> | (AND < mes- pattern>*)

< mes- pattern> ::=

(<agent> INFORM <fact>) |

(<agent> REQUEST <action>) |

(<agent> UNREQUEST <action>) |

(<agent> REFRAIN <action>) |

(NOT < mes- pattern>)14

Page 15: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

A commitment rule adds a commitment to "action"(COMMIT mes-cond mental-cond (ai actioni)*)

If: the message condition holds for the incoming message the mental condition holds for the current mental state the agent is capable of doing all actioni

the agent is not committed to any REFRAIN actioni

if actioni=REFRAIN action1 the agent is not committed to action1

Then, for all i, commit to ai to perform actioni.

15

Page 16: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

The Basic Loop of AGENT01. Read the current messages and update your mental state,

including your beliefs and commitments.

(1a) Update the beliefs.

(2a) Update the commitments.

(1a) The belief database is updated either as a result of being informed or as a result of taking a private action -- e.g.,

- a database agent comes to believe a fact after performing a

retrieval operation.

- a robotic agent comes to believe something after performing a visual routine.

16

Page 17: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

The Basic Loop of AGENT0(2a) Updating commitments Items in the database of commitments are pairs

(agent action),

the agent to which the commitment was made and the content of the commitment.

Items in the database of capabilities are pairs

(privateaction mental-cond). The mental condition part prevents commitment to

incompatible actions.

E.g.,

((?!time (rotate wheelbase ?degrees))

(NOT ((CMT ?x) ?!time (service wheelbase))))

17

Page 18: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Existing commitments are removed either as a result of UNREQUEST messages

The agent removes the corresponding item from the commitment

database if it exists, else does nothing.

or as a result of belief change.

Belief change may affect capabilities since the capability of each private action depends on mental preconditions. So, whenever a belief update occurs, the AGENT-0 interpreter examines the current commitments to private actions. It removes those whose preconditions in the capability database have been violated.

It should add a commitment to inform the agent to which it was

committed (but AGENT-0 doesn’t enforce this).

18

Page 19: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Removing existing commitments is independent of the program, but adding them depends on the program.

Adding commitments – see commitment rule

The Basic Loop of AGENT0

2. Execute the commitments for the current time, possibly resulting in further belief change.

19

Page 20: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

5 A sample program5 A sample program

A program for the initial scenario

The ideas behind the program are that:

the relevant activity on the part of the airline is issuing a boarding pass to the passenger, and

confirming a reservation is a commitment to issue a boarding pass at the appropriate time.

20

Page 21: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

5.1 Macros5.1 Macros(issue_bp pass flightnum time) (IF (AND (B ((- time h) (present pass))) (B (time (flight ?from ?to

flightnum)))) (DO time – h (physical_issue_bp

pass flightnum time)))(query_which t asker askee q)

(REQUEST t askee(IF (B q) (INFORM (+ t 1) asker q)))

(query_whether t asker askee q) (REQUEST t askee(IF (B q) (INFORM (+ t 1) asker q)))(REQUEST t askee(IF (B (NOT q))

(INFORM (+ t 1) asker (NOT q))))21

Private action

Page 22: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

5.2 Initial Beliefs5.2 Initial BeliefsConcerning the flight schedule:

(time (flight from to number))And the number of seats available:

(time (remaining_seats time1 flight_number seats)

5.3 Capabilities5.3 CapabilitiesThese are issuing boarding passes and updating the count of theavailable seats on flights.((issue_bp ?a ?flight ?time) true)((DO ?time

(update_remaining_seats ?time1 ?flight_number?additional_seats))

(AND(B (?time (remaining_seats ?time1

?flight_number ?current_seats)))(?current_seats >= |?additional_seats|)))

22

Page 23: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

5.4 Commitment Rules5.4 Commitment Rules

(COMMIT

(?pass REQUEST

(IF (B ?p) (INFORM ?t ?pass ?p)))

true

?pass

(IF (B ?p) (INFORM ?t ?pass ?p)))

23

Page 24: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

(COMMIT

(?cust REQUEST

(issue_bp ?pass ?flight ?time))

(AND

(B (?time (remaining_seats ?flight ?n)

(?n > 0)

(NOT ((CMT ?anyone)

(issue_bp ?pass ?anyflight ?time))))

(myself

(DO (+ now 1)

(update_remaining_seats ?time ?flight -1)))

(?cust (issue_bp ?pass ?flight ?time)))

24

Page 25: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

5.5 Sample exchange between a passenger and an 5.5 Sample exchange between a passenger and an airline agentairline agent

smith (query_which lmarch/l:00 smith airline(18april/?!time (flight sf ny ?!num)))

airline (INFORM lmarch/2:00 smith(18april/8:30 (flight sf ny #354)))

airline (INFORM lmarch/2:00 smith(18april/10:00 (flight sf ny #293)))

airline (INFORM lmarch/2:00 smith(18april/

smith (REQUEST lmarch/3:00 airline(issue_bp smith #354 18april/8:30))

smith (query_whether lmarch/4:00 smith airline

((CMT smith)(issue-bp smith #354 18april/8:30)))

25

Page 26: Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

airline (INFORM lmarch/5:00 smith

(NOT ((CMT smith)

(issue-bp smith #354 18april/8:30))))

smith (REQUEST lmarch/6:00 airline

(issue-bp smith #293 18april/10,.00))

smith (query-whether lmarch/7:00 smith airline

((CMT smith)

(issue-bp smith #293 18april/10:00)))

airline (INFORM lmarch/8:00 smith

((CMT smith)

(issue-bp smith #293 18april/10:00)))

smith (INFORM 18april/9:00 airline

(present smith))

airline (DO 18april/9:00

(issue-bp smith #293 18april/10:00))

26


Top Related