Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea

Slides:



Advertisements
Similar presentations
Lists and the Collection Interface Chapter 4. Chapter Objectives To become familiar with the List interface To understand how to write an array-based.
Advertisements

Problems and Their Classes
Intelligent Architectures for Electronic Commerce Part 1.5: Symbolic Reasoning Agents.
AOSE Agent-Oriented Programming. Introduction A class of programming language that often embodies the various principles proposed by theorists. –Many.
Summer 2011 Tuesday, 8/ No supposition seems to me more natural than that there is no process in the brain correlated with associating or with.
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
1 Lecture 20 Sequential Circuits: Latches. 2 Overview °Circuits require memory to store intermediate data °Sequential circuits use a periodic signal to.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Physical Inventory Management Scenario Overview
Consistency of Assessment
Hybrid Policies Overview Chinese Wall Model Clinical Information Systems Security Policy ORCON RBAC Introduction to Computer Security ©2004 Matt Bishop.
University of Jyväskylä An Observation Framework for Multi-Agent Systems Joonas Kesäniemi, Artem Katasonov * and Vagan Terziyan University of Jyväskylä,
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Guide To UNIX Using Linux Third Edition
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Knowledge Representation and Reasoning University "Politehnica" of Bucharest Department of Computer Science Fall 2010 Adina Magda Florea
Chapter 9 Designing Databases Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
Chapter 6 Programming Languages. © 2005 Pearson Addison-Wesley. All rights reserved 6-2 Chapter 6: Programming Languages 6.1 Historical Perspective 6.2.
IBT - Electronic Commerce Privacy Concerns Victor H. Bouganim WCL, American University.
Chapter 6 Programming Languages © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Artificial Intelligence By Michelle Witcofsky And Evan Flanagan.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2010 Adina Magda Florea curs.cs.pub.ro.
Lamport’s Logical Clocks & Totally Ordered Multicasting.
Applications Development
II.I Selected Database Issues: 2 - Transaction ManagementSlide 1/20 1 II. Selected Database Issues Part 2: Transaction Management Lecture 4 Lecturer: Chris.
`. Lecture Overview Structure Programming Basic Control of Structure Programming Selection Logical Operations Iteration Flowchart.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
Chapter 5 Conditionals and Loops. © 2004 Pearson Addison-Wesley. All rights reserved5-2 The switch Statement The switch statement provides another way.
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lotzi Bölöni.
Copyright © 2010 Pearson Education, Inc. Warm Up- Good Morning! If all the values of a data set are the same, all of the following must equal zero except.
Programming with Microsoft Visual Basic th Edition
1 MORE ON MODULAR DESIGN: MODULE COMMUNICATIONS. 2 WHEN A FUNCTION IS INVOKED, MEMORY IS ALLOCATED LOCALLY FOR THE FORMAL PARAMETERS AND THE VALUE OF.
GROUPING OBJECTS CITS1001. Lecture outline The ArrayList collection Process all items: the for-each loop 2.
RULES Patty Nordstrom Hien Nguyen. "Cognitive Skills are Realized by Production Rules"
Threaded Programming Lecture 1: Concepts. 2 Overview Shared memory systems Basic Concepts in Threaded Programming.
Logical Clocks. Topics r Logical clocks r Totally-Ordered Multicasting.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Object-Oriented Design Concepts University of Sunderland.
1 (Chapter 3 of) Planning and Control in Stochastic Domains with Imperfect Information by Milos Hauskrecht CS594 Automated Decision Making Course Presentation.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 5 Decision Making.
Artificial Intelligence Knowledge Representation.
About the Presentations
User-Defined Functions
Chapter 10 Transaction Management and Concurrency Control
Chapter 6: Programming Languages
Chapter 26 Comparing Counts Copyright © 2009 Pearson Education, Inc.
Chapter 26 Comparing Counts.
Presentation transcript:

Lecture 5 Multi-Agent Systems Lecture 5 University “Politehnica” of Bucarest Adina Magda Florea version of...

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 principles

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

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 reservation

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 5

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

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

Linear discrete time BeliefsB a t  Actionsraise_arm(robot) t Obligations (commitments)OBL a,b t  (CMT a,b t  ) Decisions (choices)DEC a t  = OBL a,a t  Abilities (capabilities)CAN a t  Properties of mental categories Internal consistency of beliefs and commitments Good faith Persistence of beliefs Persistence of commitments 8 Summary of mental categories in AGENT0

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

Initialize mental state and capabilities Define rules for making new commitments Update mental state Execute commitment for current time Clock Representation of mental state and capabilities Outgoing message Incoming message A flow diagram of the generic agent interpreter Control Data

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 (agent i action i )*) Ex: (COMMIT (?a REQUEST ?action) (B (now (myfriend ?a))) (?a ?action)) 11

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

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 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.) A generic interpreter

Commitment rules ::= (COMMIT ( )*) ::= | (OR *) ::= | (AND *) ::= ( INFORM ) | ( REQUEST ) | ( UNREQUEST ) | ( REFRAIN ) | (NOT ) 14

A commitment rule adds a commitment to "action" (COMMIT mes-cond mental-cond (a i action i )*) 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 action i the agent is not committed to any REFRAIN action i if action i =REFRAIN action1 the agent is not committed to action1 Then, for all i, commit to a i to perform action i. 15

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

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

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

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

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

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)))) 21 Private action

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 >= |?additional_seats|))) 22

5.4 Commitment Rules (COMMIT (?pass REQUEST (IF (B ?p) (INFORM ?t ?pass ?p))) true ?pass (IF (B ?p) (INFORM ?t ?pass ?p))) 23

(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

5.5 Sample exchange between a passenger and an airline 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

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