380 likes | 517 Views
Multi-agent systemen Working together. Cooperative Distributed Problem Solving (CDPS). How can a MAS task be divided into smaller tasks How can a solution be created for a MAS using results from individual agents What action coordination techniques can be used. Task sharing / Result sharing.
E N D
Multi-agent systemen Working together Multi-agent systemen
Cooperative Distributed Problem Solving (CDPS) • How can a MAS task be divided into smaller tasks • How can a solution be created for a MAS using results from individual agents • What action coordination techniques can be used Multi-agent systemen
Task sharing / Result sharing • Task sharing: a problem is decomposed into a number of sub-tasks (how to allocate the tasks to the agents?) • Result sharing: the sharing of gained information over the agents (how to communicate the information?) Multi-agent systemen
Distributed tasks • MAS perform a task collectively • Therefore task distribution methods and resource sharing are important aspects • A successful method is to breakdown the tasks into contracts Multi-agent systemen
Allocation of tasks Multi-agent systemen
Centralized allocation of tasks by a trader Multi-agent systemen
Nr of messages processed by the trader vs nr of agents Multi-agent systemen
Centralized allocation of tasks by a trader (2) • Advantage: Simple to understand and implement • Disadvantage: Centralized source of knowledge about all agents Multi-agent systemen
Distributed task allocation:Acquaintance networks Every agent keeps a list of skills of all other agents: Agent A: A B C D (agents) C1: 0 1 1 0 C2: 0 0 1 0 C3: 1 0 0 1 (skills) Multi-agent systemen
Distributed task allocation1. Direct Multi-agent systemen
Distributed allocation2. By delegation Multi-agent systemen
Task allocation: Contract nets Based on the market mechanism of making contracts between two parties There are 4 stages: • Request for bids to all agents for performing a task • Proposals from the bidders • Evaluation of proposals, selection of contractor • Establishment of contract Multi-agent systemen
Task allocation: Contract nets Multi-agent systemen
Contract nets Requirements: • Communication links between agents • A common language for requesting, bidding, evaluation, etc. • Limit date for proposal submission • Commitment from the contractor Multi-agent systemen
Contract net languagerequest for bids Multi-agent systemen
Contract net languageproposal Multi-agent systemen
Contract nets Ring structure Multi-agent systemen
Contract nets: Problem of sub-contracting How long do we wait? Multi-agent systemen
Other types of task allocation • Combination of contract net and acquaintance network • Emergent allocation Multi-agent systemen
Emergent task allocation:Reactive Gold mining robots bring gold to the user using the shortest path method. There can be only one agent per user (if conflict, react and find other user or wait) Multi-agent systemen
Part IICoordination of actions Multi-agent systemen
Four-stage model of CDPS(Cooperative Distributed Problem Solving) 1. Recognition (by an agent that needs others) 2. Team formation 3. Plan formation 4. Team action Multi-agent systemen
Approaches to coordination between agents • Partial global plans • Joint intentions • Mutual modeling • Norms and social laws Multi-agent systemen
Partial Global Planning Multi-agent systemen
Joint intentions Based on commitments and conventions • A commitment is a promise to do the task • A convention is a set of rules of how to deal with commitments • For example, a commitment may be abandoned if another agent can do the same task (it becomes redundant) • A group of agents share the same commitment (joint intention) • Commitments and conventions can be coded as rules in a rule-based system Multi-agent systemen
Example: ARCHON (Jennings 1993) Multi-agent systemen
Coordination by mutual modeling What does the other agent want? Share the same view of the environment (world model) Share the same believes Optimize personal and MAS utility (payoff matrix) Multi-agent systemen
MACE MACE (by Les Gasser,1985) was the first experimental testbed for MAS MACE brought five important components together: 1. Application agents (the actual agent application) 2. Standardized system agents (e.g. user interfaces) 3. Facilities available to all agents (software libraries) 4. Description database (maintains descriptions of other agents) 5. Kernels to handle communication, message passing, etc Multi-agent systemen
Acquaintance information in MACE • Class (agents are organized in structured groups) • Name (of the agent) • Roles (of the agent in its class) • Skills • Goals • Plans Multi-agent systemen
Coordination by norms and social laws • Norms are expected patterns of behavior • Social laws are imposed norms Multi-agent systemen
Traffic management • Cars are agents that behave using social laws (driving on the right lane, right goes first at cross-sections, etc) • Traffic management is currently heavily studied Multi-agent systemen
Planning methods • Centralized planning There is a “master” agent who distributes the sub-plans over the agents • Distributed planning Each agent generates its own plan and merges it with the other agents. After negotiation the agents execute their plans Multi-agent systemen
Centralized planning Operators: MoveFromTo(b,x,y) Precond: on(b,x), clear(b), clear(y) Postcond: on(b,y), clear(y), on(b,x) MoveToTable(b,x) Precond: on(b,x), clear(b) Postcond: on(b,T), clear(x), on(b,x) Given a goal description, a set of operators, and an initial state description, generate a partial plan order Multi-agent systemen
Centralized planning (2) Possible plans: S1:MoveToTable(A,B) S2:MoveToTable(C,D) S3:MoveToTable(E,F) 1. Decompose the plan into sub-plans 2. Check the preconditions to select the sub-plans 3. Synchronize the sub-plans 4. Allocate the sub-plans to agents S4: MoveFromTo(A,T,E) S5: MoveFromTo(D,T,C) S6: MoveFromTo(B,T,A) S7: MoveFromTo(F,T,D) S1:MoveToTable(A,B) { { { S3:MoveToTable(E,F) S2:MoveToTable(C,D) S4: MoveFromTo(A,T,E) S5: MoveFromTo(D,T,C) S6: MoveFromTo(B,T,A) S7: MoveFromTo(F,T,D) Multi-agent systemen
Distributed planning Each of the planning agents generate a partial plan (=sub-plan) in parallel Then merge these plans into a global plan Agent 1 is specialized in doing MoveToTable(b,x) Agent 2 is specialized in doing MoveFromTo(b,x,y) Merge the plan of agent 1 with plan of agent 2 by checking the preconditions The agents need to communicate Typical there is a-synchronous execution of the plans, therefore the agents exchange handshake signals Multi-agent systemen
Distributed planning (2) Plan agent1: S1:MoveToTable(A,B) S2:MoveToTable(C,D) S3:MoveToTable(E,F) Plan agent2: S4: MoveFromTo(A,T,E) S6: MoveFromTo(B,T,A) S7: MoveFromTo(D,T,C) S8: MoveFromTo(F,T,D) Final Plan A1 start with S3 (best move found after negotiation); S1 S2 Final Plan A2 Wait till A and E are free; S4 S6 Wait till D is free; S7 S8 Multi-agent systemen
Aircraft tracking example Multi-agent systemen
Tentamens…. Multi-agent systemen