Multi-Agent Systems Lecture 5 University - PowerPoint PPT Presentation

About This Presentation
Title:

Multi-Agent Systems Lecture 5 University

Description:

... with #293: I am not allowed to double book a passenger. ... (robot,cup)t ... time-constant ::= m | h | d | y ; m (minute) =60, h (hour) 3600, etc. 20. 4.4 ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 43
Provided by: AdinaF3
Category:

less

Transcript and Presenter's Notes

Title: Multi-Agent Systems Lecture 5 University


1
Multi-Agent SystemsLecture 5University
Politehnica of Bucarest2004 - 2005Adina
Magda Floreaadina_at_cs.pub.rohttp//turing.cs.pub
.ro/blia_2005
2
Agent Oriented ProgrammingLecture outline
  • 1 AOP principles
  • 2 An agent scenario
  • 3 Overview of the AOP framework
  • 4 AGENT-0
  • 5 A sample program

3
1 AOP principles
  • 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

3
4
1.1 OOP versus AOP
4
5
2 An agent scenario
  • Airline Reservation
  • Agents
  • P is a passenger.
  • C is an airline clerk, a program.
  • S is Cs supervisor.
  • By confirming a reservation, the airline enters
    into a commitment to issue a boarding pass to the
    passenger at the appropriate time.

5
6
Airline reservation
  • 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 0830. flight
    293 departs at 1000, 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.

6
7
Airline reservation
  • 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.

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

8
9
4 Agent-0
  • 4.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.

9
10
  • The agents 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 agents beliefs
  • Decisions are also constrained by prior
    decisions.

10
11
  • 4.2 Representation of Belief, Obligation, and
    Capability
  • Time
  • We adopt a point-based temporal language
  • holding(robot,cup)t
  • Action
  • We dont distinguish between actions and facts
    the occurrence of an action is represented by the
    corresponding fact holding,
  • e.g., instead of saying that the robot took the
    action raise-arm at time t, we say that the
    sentence
  • raise-arm(robot)t
  • is true.
  • Since actions are facts, theyre instantaneous.

11
12
  • Belief
  • Using modal operator B,
  • Bta j
  • At time t agent a believes that j,
  • where j is a (recursively defined) sentence.
  • B3a B10b like(a,b)7
  • At time 3 agent a believes that at time 10 agent
    b will believe that at time 7 a liked b.
  • Obligation (commitment)
  • OBLta,b j
  • At time t agent a is obligated (committed) to
    agent b about j.
  • Decision (choice)
  • Decision is defined to be obligation to oneself
  • DECta j def OBLta,a j

12
13
  • Capability
  • CANtaj
  • At time t agent a is capable of j.
  • CAN5robotopen(door)8
  • At time 5 the robot can ensure that the door is
    open at time 8.
  • ABLE is the immediate version of CAN.
  • time(j) - the outermost time occurring in
    sentence j, time(open(door)t)t
  • ABLEa j def CANtime(j)aj

13
14
  • 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 theyre revoked, e.g.
  • explicit release of the agent by the party to
    which its obligated,
  • realization by the agent that its no longer
    able to fulfill the obligation.
  • Since decision is defined in terms of
    obligation, it inherits the default persistence.

14
15
Summary of mental categories in AGENT0
  • Linear discrete time
  • Beliefs Bat ?
  • Actions raise_arm(robot)t
  • Obligations (commitments) OBLa,bt ? (CMTa,bt ?)
  • Decisions (choices) DECat ? OBLa,at ?
  • Abilities (capabilities) CANat ?
  • Properties of mental categories
  • Internal consistency of beliefs and commitments
  • Good faith
  • Persistence of beliefs
  • Persistence of commitments

15
16
4.3 A generic interpreter
  • The role of an agent program is to control the
    evolution of an agents mental state.
  • Actions occur as side-effects of the agent being
    committed to an action whose time has come.
  • The Basic Loop
  • Each 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.)

16
17
A generic interpreter - cont
  • 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.

17
18
A generic interpreter - cont
  • Assumptions about Message Passing
  • the platform can pass messages to other agents
    addressable by name.
  • the interpreter determines when messages are
    sent.
  • Assumptions about the Clock
  • The clock initiates iterations of the two-step
    loop at regular intervals.
  • The length of these intervals is determined by
    the variable timegrain.
  • Assume that a single iteration through the loop
    lasts less than the time grain.

18
19
Control
Initialize mental state and capabilities Define
rules for making new commitments
Data
Incoming message
Update mental state
Clock
Representation of mental state and capabilities
Execute commitment for current time
Outgoing message
A flow diagram of the generic agent interpreter
20
4.4 Agent language
  • Fact statements
  • Fact statements are used to specify both the
    content of actions and conditions for their
    execution.
  • (t (employee smith acm))
  • (NOT (t (employee jones acm)))
  • ltfactgt (lttimegt (ltpredicategt ltarggt))
  • lttimegt ltintegergt now lttime-constantgt
  • ( lttimegt lttimegt) (- lttimegt lttimegt)
  • ( lttimegt lttimegt)
  • Time may be a ltvariablegt when
  • it appears in a commitment rule
  • lttime-constantgt m h d y
  • m (minute) 60, h (hour) 3600, etc.

20
21
  • Action Statements
  • Private actions
  • The syntax for a private action is
  • (DO t p-action)
  • where t is a time point and p-action is a private
    action name.
  • Communicative actions
  • The syntax of informing is
  • (INFORM t a fact)
  • where t is a time point, a an agent name, and
    fact is a fact statement.
  • The syntax of requesting is
  • (REQUEST t a action)
  • where action is an action statement, recursively
    defined.
  • e.g.,
  • (REQUEST 1 a (DO 10 update-database))
  • (REQUEST 1 a (REQUEST 5 b
  • (INFORM 10 a fact)))

21
22
  • The syntax of canceling a request is
  • (UNREQUEST t a action)
  • We can also prevent commitment to a particular
    action
  • (REFRAIN action)
  • ltactiongt
  • (DO lttimegt ltprivateactiongt)
  • (INFORM lttimegt ltagentgt ltfactgt)
  • (REQUEST lttimegt ltagentgt ltactiongt)
  • (UNREQUEST lttimegt ltagentgt ltactiongt)
  • (REFRAIN ltactiongt)
  • (IF ltmental-condgt ltactiongt)

22
23
  • Conditional Action Statements
  • We distinguish between
  • commitments for conditional actions, which
    include conditions
  • to be tested just before acting, and
  • conditions for entering into commitments in the
    first place
  • When the time comes to execute the action, the
    mental state at that time is examined to see
    whether the mental condition is satisfied. So the
    agent and time components of the mental state are
    left implicit.
  • A mental condition is then any combination of
    modal statements in the temporal-modal language,
    with the primary agent and time arguments
    omitted.
  • (IF (B (t1 (employee smith ibm)))
  • (INFORM t a (t1 (employee smith
    ibm))))

23
24
  • ltactiongt (IF ltmental-condgt ltactiongt)
  • lt mental-cond gt
  • lt mental- conjgt (OR lt mental- conjgt)
  • lt mental- conjgt
  • lt mental- patterngt (AND lt mental- patterngt)
  • lt mental- patterngt
  • (B ltfactgt)
  • ((CMT ltagentgt) ltactiongt)
  • (NOT lt mental- patterngt)

24
25
  • Variables
  • agent names, fact statements, action statements
    ?x ?!x
  • Ex (IF (NOT ((CMT ?x) (REFRAIN sing)))
    sing)
  • (IF (B (t (emp ?!x ibm)))
  • (INFORM a (t (emp ?!x ibm))))
  • ltvariablegt ?ltalphanumeric_stringgt
    ?!ltalphanumeric_stringgt
  • ltagentgt ltalphanumeric_stringgt ltvariablegt
  • ltpredicategt ltalphanumeric_stringgt
  • ltarggt ltalphanumeric_stringgt ltvariablegt

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

26
27
  • Commitment rules
  • ltcommitrulegt
  • (COMMIT ltmes-condgt ltmental-condgt
  • (ltagentgt ltactiongt))
  • lt mes- condgt
  • lt mes- conjgt (OR ltmes- conjgt)
  • lt mes- conjgt
  • lt mes- patterngt (AND lt mes- patterngt)
  • lt mes- patterngt
  • (ltagentgt INFORM ltfactgt)
  • (ltagentgt REQUEST ltactiongt)
  • (ltagentgt UNREQUEST ltactiongt)
  • (ltagentgt REFRAIN ltactiongt)
  • (NOT lt mes- patterngt)

27
28
  • 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 actioniREFRAIN action1 the agent is not
    committed to action1
  • Then, for all i, commit to ai to perform actioni.

28
29
  • Agent program
  • fix the time grain
  • define agent's abilities for all agents
  • define agents' initial beliefs
  • state sequence of commitment rules
  • ltprogramgt
  • timegrain lttimegt
  • CAPABILITIES (ltactiongt ltmental-condgt)
  • INITIAL BELIEFS ltfactgt
  • COMMITMENT RULES ltcommitrulegt

29
30
  • The Basic Loop of AGENT0
  • 1. 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.

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

31
32
  • 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 doesnt enforce this).

32
33
  • 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.

33
34
  • Conditions for an agent to be capable of an
    action
  • An agent can request and unrequest anything from
    anyone.
  • An agent can inform anyone of a fact he believes.
  • An agent can inform itself of any fact at all
    (useful to implement reasoning in the agent).
  • An agent is capable of any private action in the
    capability database provided the mental condition
    associated with that private action by the
    database holds at that time.
  • An agent can refrain from any action provided
    hes not already committed to it.
  • An agent can perform a conditional action (IF
    mental-cond action) if he can perform action
    under the condition mental-cond.

34
35
  • Carrying Out Commitments
  • Each commitment in the commitment database has an
    associated time.
  • In 2) the interpreter executes all actions whose
    time is in the interval (now - timegrain, now.
  • The meaning of execute depends on the type of
    action
  • INFORM, REQUEST, UNREQUEST Send the
    appropriate message.
  • REFRAIN No effect on execution.
  • DO Consulting the belief and commitment
    databases, check the mental condition associated
    with the primitive action in the capability
    database if it holds, then perform the primitive
    action.
  • IF Consulting the belief and commitment
    databases, test the
  • mental condition if it holds, then
    (recursively) execute the action.

35
36
5 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.

36
37
  • 5.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))))

Private action
37
38
  • 5.2 Initial Beliefs
  • Concerning the flight schedule
  • (time (flight from to number))
  • And the number of seats available
  • (time (remaining_seats time1 flight_number
    seats)
  • 5.3 Capabilities
  • These are issuing boarding passes and updating
    the count of the
  • available 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 gt ?additional_seats)))

38
39
  • 5.4 Commitment Rules
  • (COMMIT
  • (?pass REQUEST
  • (IF (B ?p) (INFORM ?t ?pass ?p)))
  • true
  • ?pass
  • (IF (B ?p) (INFORM ?t ?pass ?p)))

39
40
  • (COMMIT
  • (?cust REQUEST
  • (issue_bp ?pass ?flight ?time))
  • (AND
  • (B (?time (remaining_seats ?flight ?n)
  • (?n gt 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)))

40
41
  • 5.5 Sample exchange between a passenger and an
    airline agent
  • smith (query_which lmarch/l00 smith airline
  • (18april/?!time (flight sf ny ?!num)))
  • airline (INFORM lmarch/200 smith
  • (18april/830 (flight sf ny 354)))
  • airline (INFORM lmarch/200 smith
  • (18april/1000 (flight sf ny 293)))
  • airline (INFORM lmarch/200 smith
  • (18april/ ¼
  • smith (REQUEST lmarch/300 airline
  • (issue_bp smith 354 18april/830))
  • smith (query_whether lmarch/400 smith airline
  • ((CMT smith)
  • (issue-bp smith 354 18april/830)))

41
42
  • airline (INFORM lmarch/500 smith
  • (NOT ((CMT smith)
  • (issue-bp smith 354 18april/830))))
  • smith (REQUEST lmarch/600 airline
  • (issue-bp smith 293 18april/10,.00))
  • smith (query-whether lmarch/700 smith airline
  • ((CMT smith)
  • (issue-bp smith 293 18april/1000)))
  • airline (INFORM lmarch/800 smith
  • ((CMT smith)
  • (issue-bp smith 293 18april/1000)))
  • ¼
  • smith (INFORM 18april/900 airline
  • (present smith))
  • airline (DO 18april/900
  • (issue-bp smith 293 18april/1000))

42
Write a Comment
User Comments (0)
About PowerShow.com