Working Together � Why and how do agents work together? LECTURE 9: � Important to make a distinction between: Working Together � benevolent agents � self-interested agents An Introduction to MultiAgent Systems http://www.csc.liv.ac.uk/~mjw/pubs/imas 9-1 9-2 Benevolent Agents Self-Interested Agents � If we “own” the whole system, we can design � If agents represent individuals or agents to help each other whenever asked organizations, (the more general case), then � In this case, we can assume agents are we cannot make the benevolence assumption benevolent : our best interest is their best � Agents will be assumed to act to further their interest own interests, possibly at expense of others � Problem-solving in benevolent systems is � Potential for conflict cooperative distributed problem solving � May complicate the design task enormously (CDPS) � Benevolence simplifies the system design task enormously! 9-3 9-4 Task Sharing and Result Sharing The Contract Net � Two main modes of cooperative problem A well known task-sharing protocol for task � solving: allocation is the contract net : � task sharing : Recognition 1. components of a task are distributed to Announcement 2. component agents Bidding 3. � result sharing : Awarding 4. information (partial results, etc.) is distributed Expediting 5. 9-5 9-6 1
Recognition Announcement � In this stage, the agent with the task sends out an announcement of the task which � In this stage, an agent recognizes it has a includes a specification of the task to be problem it wants help with. achieved Agent has a goal, and either… � Specification must encode: � realizes it cannot achieve the goal in isolation — does not have capability � description of task itself (maybe executable) � realizes it would prefer not to achieve the goal in � any constraints (e.g., deadlines, quality isolation (typically because of solution quality, constraints) deadline, etc.) � meta-task information (e.g., “bids must be submitted by…”) � The announcement is then broadcast 9-7 9-8 Bidding Awarding & Expediting � Agents that receive the announcement � Agent that sent task announcement must decide for themselves whether they wish to choose between bids & decide who to “award bid for the task the contract” to � Factors: � The result of this process is communicated to agents that submitted a bid � agent must decide whether it is capable of expediting task � The successful contractor then expedites the � agent must determine quality constraints & price task information (if relevant) � May involve generating further manager- � If they do choose to bid, then they submit a contractor relationships: sub-contracting tender 9-9 9-10 Issues for Implementing Contract Net The Contract Net � An approach to distributed problem solving , focusing on task distribution � How to… � …specify tasks ? � Task distribution viewed as a kind of � …specify quality of service ? contract negotiation � …select between competing offers? � “Protocol” specifies content of � …differentiate between offers based on multiple communication, not just form criteria? � Two-way transfer of information is natural extension of transfer of control mechanisms 9-11 9-12 2
Cooperative Distributed Problem Solving CDPS System Characteristics and (CDPS) Consequences � Neither global control nor global data � Communication is slower than computation storage — no agent has sufficient � loose coupling information to solve entire problem � efficient protocol � Control and data are distributed � modular problems � problems with large grain size 9-13 9-14 More CDPS System Characteristics Four Phases to Solution, as Seen in Contract Net and Consequences 1. Problem Decomposition � Any unique node is a potential bottleneck � distribute data 2. Sub-problem distribution � distribute control 3. Sub-problem solution � organized behavior is hard to 4. Answer synthesis guarantee (since no one node has complete picture) The contract net protocol deals with phase 2. 9-15 9-16 Contract Net Node Issues Task Announcement � The collection of nodes is the “contract net” � Each node on the network can, at different times or for different tasks, be a manager or a Task Announcement contractor � When a node gets a composite task (or for Manager any reason can’t solve its present task), it breaks it into subtasks (if possible) and announces them (acting as a manager), receives bids from potential contractors, then awards the job (example domain: network resource management, printers, …) 9-17 9-18 3
Idle Node Listening to Task Node Submitting a Bid Announcements Bid Manager Manager Potential Potential Contractor Contractor Manager Manager 9-19 9-20 Manager listening to bids Manager Making an Award Award Bids Potential Manager Manager Contractor Potential Contractor Contractor 9-21 9-22 Contract Established Domain-Specific Evaluation � Task announcement message prompts Contract potential contractors to use domain specific task evaluation procedures; there is deliberation going on, not just selection — Manager perhaps no tasks are suitable at present � Manager considers submitted bids using Contractor domain specific bid evaluation procedure 9-23 9-24 4
Types of Messages Efficiency Modifications � Focused addressing — when general � Task announcement broadcast isn’t required � Bid � Directed contracts — when manager already � Award knows which node is appropriate � Interim report (on progress) � Request-response mechanism — for simple � Final report (including result description) transfer of information without overhead of contracting � Termination message (if manager wants to � Node-available message — reverses terminate contract) initiative of negotiation process 9-25 9-26 Task Announcement Example Message Format (common internode language) To: * � Task Announcement Slots: From: 25 � Eligibility specification Type: Task Announcement � Task abstraction Contract: 43–6 Eligibility Specification: Must-Have FFTBOX � Bid specification Task Abstraction: � Expiration time Task Type Fourier Transform Number-Points 1024 Node Name 25 Position LAT 64N LONG 10W Bid Specification: Completion-Time Expiration Time: 29 1645Z NOV 1980 9-27 9-28 Example: Distributed Sensing System The existence of a common P internode language allows S S new nodes to be added to the P S system modularly, without the S need for explicit linking to S S P S others in the network (e.g., as S needed in standard S P P S procedure calling) or object S S S awareness (as in OOP) M 9-29 9-30 5
Data Hierarchy Interpretation Task Hierarchy OVERALL AREA OVERALL AREA MAP AREA MAP AREA VEHICLE VEHICLE GROUP CLASSIFICATION SIGNAL GROUP LOCALIZATION SIGNAL TRACKING SIGNAL 9-31 9-32 Interpretation Problem Structure Nodes and Their Roles Nodes are simultaneously workers and supervisors Monitor Node: integrate area maps into overall map G1 Area Task Manager: oversee area contractors Area Contractor: integrate vehicle traffic into area map Group Task Manager: Vehicle Task Manager: C1 C2 oversee group contractors oversee vehicle contractors G2A G2B G2C Group Contractor: assemble Vehicle Contractor: Integrate C3 C4 signal features into groups Vehicle Information Classification/Localization/Tracking Signal Task Manager: overvsee Task Manager: overvsee signal contractors respective contractors C5 G3A G3B G3C G3D Signal Contractor: Classification Contractor: classify vehicle provide signal features C6 . . . . . . . . . Localization Contractor: locate vehicle Note: Classification and Signal Contractors can also communicate… Tracking Contractor:track vehicle 9-33 9-34 Example: Signal Task Announcement Example: Signal Bid To: * From: 25 To: 25 Type: Task Announcement From: 42 Contract: 22–3–1 Eligibility Specification: Type: BID Must-Have SENSOR Contract: 22–3–1 Must-Have Position Area A Node Abstraction: Task Abstraction: Task Type Signal LAT 47N LONG 17E Position LAT 47N LONG 17E Sensor Name S1 Type S Area Name A Specification (…) Bid Specification: Position Lat Long Sensor Name S2 Type S Every Sensor Name Type Sensor Name T1 Type T Expiration Time: 28 1730Z FEB 1979 9-35 9-36 6
Recommend
More recommend