Intelligent Agents: Technology and Applications Unit Five: Collaboration and Task Allocation IST 597B Spring 2003 John Yen
Learning Objectives: Given a problem of allocating tasks among multiple agents, be able to evaluate the pros and cons of acquaintance network approach and contract net approach. Given an application of a task allocation approach, be able to identify issues in designing and implementing the approach. Given a task allocation design for a multi-agent system, be able to identify its interaction to the mental states of the agent.
Given a task T that an agent (or a group of agent) intends to accomplish, how do they select the agent (can be outside the group) for doing the task?
Issues Minimal requirements: The selected agent should have (can acquire) the skills required by T. Desired cost of the performance (minimal, acceptable, etc) Desired quality of the performance (if the effect is not binary, but a continuum). Fairness and/or load balancing Impact on the long-term relationships between agents (remember capabilities, learn reputations, etc.) Whether delegations are allowed
Problem 1 (5 %): Consider the ore-gathering robots described in the textbook (P. 363). 1. Describe the situations in which you would choose acquaintance network? 2. Describe the situations in which you would choose contract net?
Situations for choosing the acquaintance network If knows the capabilities of other agents If knows about the states of other agents (relevant to selection criteria) (limited comm range) If the area is large, it’s costly/difficult to communicate with all agents (use reachable acquaintance net) If cost of communication is high (compared to the cost of the task) If agents are homogenous (same capabilities) If the frequency of tasks is high => more efficient
Situations for choosing the contract net Does not know the capabilities of other agents If agents’ capabilities can change dynamically If the number of agents are small (less communication overhead) (deadlock resolved by manager) If the best “choice” is outside the acquaintance net If the quality of the task performance is important If agents are heterogeneous (different capabilities) If the types of tasks are large If the agent population changes dynamically (leaves, enters, dies, …)
Computation Costs (time) for contract establishment Acquaintance Net Contract Net Issue Request/ Bid Solicitation N*(Cs+Ce+Cr) (worst case) 1 (parallel to N) Submit Proposals 0N*Cr (worst case) Evaluate Proposals 0N*Cv (worst case) Establish Contract 11
Acquaintance Network Request (an agent capable of doing the task T) followed by acceptance or refuse. Sequential process –ask one capable agent at a time, until one accepts the request.
Contract Net Consists of four phases 1.Request for bids 2.Submit proposal 3.Evaluate proposals 4.Establish contract. The first and the second phases involve parallel communications
Acquaintance Network Contract Net Skills required for tasks IdentifiedNot identified Other agents’ capabilities KnownUnknown Agent community ClosedOpen RelationshipsColleaguesBusiness Degree of trustHighUnknown
Problem 2: List five elements of an agent’s mental state that may be used or affected by the task allocation process
Individual Intentions (to do the task) Context for the intention Joint Intention (after the task is assigned) Belief about other agents (capability, trust) Knowledge about required capabilities for a task (or a type of task) World state (for evaluating proposals or candidates) Belief about other competitors (through learning) Knowledge relevant to evaluation criteria Interactions between Task Allocation and the Agent’s Mental States
Dynamic Task Allocation in CAST Designed for closed collaborative agent teams with well-defined structures. Capabilities for tasks are grouped into roles. Roles of agents specified in a language called MALLET. Constraints are used to describe evaluation criteria in contract net.
Dynamic Task Allocation Team Plan Constraints for Task Allocation Roles of Agents in the Team My Belief about The World My Belief about Teammates Dynamic Task Allocation
(team-plan kill-enemy () (agent-bind ?s (play-role ?s scout) ) (process (while ((enemy ?x) (not (dead ?x)))) (seq (do ?s (find-enemy ?x)) (agent-bind ?f (play-role ?f fighter) (closest ?f enemy )) (do ?f (move-toward-enemy ?x)) (do ?f (shoot-enemy ?x))))) An Example of Constraints for Task Allocation in CAST
Relationships between CAST Components MALLET Knowledge Base Prolog Knowledge Base (belief) MALLET Compiler Petri Net (team process) query reply CAST Kernel (Task Allocation) Communications
Domain Simulator Team Process ExecutionTeam Process Specification CAST Software Architecture MALLET Team Structure Process Net Knowledge Base Kernel Agent Selection Goal Selection Domain World Communication Fact Base & Domain Policy Monitor Inference Engine Parser Domain Adapter Inference Engine
The Task Allocation Algorithm of CAST Find the set of agents that satisfy the constraints. If exactly one found, select it. If more than one found, select the one with the least load. If none found, call recursively by relaxing the constraint.
Comparison with acquaintance network Similar in that capabilities of agents are known to each other. Differences –Additional “constraints” are taken into consideration in task allocation –All agents in the team know about the situation that requires a task allocation (I.e., no explicit request) –Agents mutually agree to accept the commitments if they are chosen (I.e., no explicit accept/reject)
Comparison with Contract Net Similarity –The “constraints” are like ? Differences –All agents know about the capabilities of others (through their roles) –All agents in the team know about the situation that requires a task allocation (I.e., no explicit request) –Agents mutually agree to accept the commitments if they are chosen (I.e., no explicit accept/reject) –If CAST allows an agent to leave or enter the team, it needs to inform all team members to update their mental states (costly).
Efficiency Flexibility Work flows Acquaintance Network CAST Contract Net