DAI: Agent interaction in MAS Material collected, assembled and extended by S. Costantini, Computer Sc. Dept. Univ. of L’Aquila Many thanks to all colleagues that share teaching material on the web.
Distributed Artificial Intelligence – Definition A multiagent system (MAS) is a system in which several interacting, intelligent agents pursue some set of goals or tasks that are beyond their individual capabilities. Distributed problem solving considers how the task of solving a particular problem can be divided among a number of agents that cooperate in dividing and sharing knowledge about the problem and about its evolving solutions DAI is the study, construction and application of MAS.
Agent communication and interaction Communication protocols enable agents to exchange and understand messages Propose, accept, reject, retract, disagree or counterpropse a course of action Interaction protocols enable agents to have conversations Agent1 proposes an action to Agent2 Agent2 evaluates the proposal and sends to Agent1: acceptance, counterproposal, disagreement or rejection
Agent communications - coordination Agents communicate in order to achieve better the goals of themselves or of the society in which they exist. MAS to maintain global coherence (behaving as a unit) without explicit global control. Agents determine common goals and common tasks, avoid conflicts and pool knowledge and evidence.
Communications - meaning Three aspects to the formal study of communication: Syntax: how the symbols of communication are structured Semantics: what the symbols denote Pragmatics: how the symbols are interpreted Meaning is a combination of semantics and pragmatics.
Message types Communication could be active, passive or both (agent is master, slave or peer) Two message types: assertions and queries. All agents accept information by means of assertions. Passive agent: accepts queries, sends replies Active agent: issue queries, make assertions Peer agent: all of the above.
Communication levels Communication protocols are typically specified at several levels: Method of interconnection Syntax Meaning (semantics) Binary, multicast, broadcast. Data structure of a protocol: Sender, receiver(s), language, encoding and decoding functions, actions to be taken by the receiver
Speech acts Speech act theory used for analyzing human communication Aspects of speech act theory: Locution: physical utterance by the speaker Illocution: intended meaning Perlocution: action that result from the loction Message contained within the protocol maybe ambiguous or require decomposition, however, the communication protocol itself should clearly identify the type of message.
Knowledge Query and Manipulation Language (KQML) KQML is a protocol for exchanging information and knowledge. The semantics of the communications protocol must be domain independent, while the semantics of the enclosed message may depend on the domain. KQML performatives: evaluate, ask-one, ask-all, reply, sorry, cancel, ready, advertise, broadcast, etc. Example: (tell :sender Agent1 :receiver Agent2 :language KIF :ontology Blocks-World :content (AND (BLOCK A) (BLOCK B) (On A B)) Languages: KIF (Knowledge Interchange Format), Prolog, Lisp, etc. An ontology is a specification of objects, concepts and relationships in an area of interest.
Interaction protocols - coordination DAI involves distributed control and distributed data. Agents have a degree of autonomy in generating new actions and deciding which goal to pursue next. Knowledge of the system's overall state is dispersed throughout the system. Coordination activities on a search problem may be represented as: defining goal graph, assigning regions of the graph to appropriate agents decisions about which areas of the graph to explore traversing the graph ensuring that successful traversal is reported.
Coordination Coordination is a mechanism for ensuring that agents’ activities retain some desired relationship/s (sequence, complementarity, etc.). Control is the extent to which coordination information must be elaborated by each agent. The range of control is from none to total. Control is inversely related to autonomy: no control corresponds to total autonomy, and being totally controlled corresponds to zero autonomy.
Cooperation Agents which have some degree of autonomy can cooperate with other such agents on tasks and activities, for their own or mutual benefit.
Advantages of Cooperation Complete tasks quicker through shared effort By sharing resources, achieve tasks otherwise not possible Make use of complementary capabilities Avoid harmful interactions
Modes of Cooperation accidental: not intended unilaterally intended: one agent intentionally helps another mutual cooperation: two or more agents intentionally collaborate
Degrees of Cooperation Fully cooperative (benevolent): Agents always attempt to assist other agents that request or need their help Antagonistic: Agents do not cooperate with others and may even try to block their goals Partly cooperative: Agents sometimes or to some extent will assist other agents
Cooperation protocols Basic strategy is to decompose and then distribute tasks Decomposition done by system designer or by agents Distribution mechanisms: Market mechanism: generalized agreements or mutual selection Contract net: announce, bid and award cycles Multiagent planning: planning agents perform task assignment Organizational structure: agents have fixed responsibilities
Blackboard systems Offer a support for cooperation blackboard structure for exchanging proposals/requests control component (optional) to match proposals and requests based on Knowledge bases (KS’s) that are application-dependent
Blackboard systems Independence of expertise (knowledge sources) Common interaction language Event-based activation Need for control ….. Blackboard Library Of KSs Executing Activated KS Events Control components Pending KS Activations
Negotiation (Def 1) The process of improving agreement (reducing inconsistency and uncertainty) on common viewpoints or plans through the structured exchange of relevant knowledge
Negotiation (Def 2) Negotiation is a process involving at least two parties aimed at reaching an agreement that is acceptable by the parties involved
Negotiation (Def 3) Occurs when agents with different goals want to reach a joint decision Negotiation mechanism ideally: Efficiency Stability Simplicity Distribution
Prior to negotiation: an agent has Prior to negotiation: an agent has identified a resource or service it requires but cannot supply: then, it needs to identify an agent/s which it believes potentially could.
Negotiation Negotiation protocol is a set of rules which govern the interactions of participants Negotiation Strategy is a decision making model, which participants employ in order to achieve their goal in line with a negotiation protocol
Elements of Negotiation bargaining (promising something in exchange for something else), bidding (offering a service or capability at a specific ‘price’), contracting (committing to provide a service or capability at a specific ‘price’) may be part of the negotiation process.
Negotiation Process Agent contacts other agent(s) to offer or request resource or service (often under specified conditions) other agent/s identify what can be supplied under what conditions initiating agent/s accepts conditions supplying agent/s commit to provide resource or service.
Forms of Negotiation In single-stage negotiation, initiating agent makes a request and the respondent accepts or rejects this. In multi-stage negotiation, agents iterate through more than one stage of offer/counter-offer. Negotiation protocols: a structured procedure for one or more stages of the negotiation process.
Basic Negotiation Techniques Game theoretic Negotiation process seen as a game where agents are players and make moves Heuristic Agents make proposals and modify their proposals if not accepted according to heuristic strategies Argumentation based Agents try to convince others to accept their proposals by logical arguments
Classification of negotiation protocols Number of participants - 1-1, 1-N (Auction), N-M (Market) Existence of third party - direct, mediated negotiation Degree of automation - semi, fully automated …
Contract Net Protocol Agents coordinate their activities through contracts to accomplish specific goals. An agent acting as a manager decomposes its contract (the task or problem it was assigned with) into subcontracts to be accomplished by other potential contractor agents. For each subcontract, the manager announces a task to the network of agents.
Contract Net Protocol (cont’d) 3. Agents receive and evaluate the announcement. 4. Agents with appropriate resources, expertise, and information reply to the manager with bids that indicate their ability to achieve the announced task.
Contract Net Protocol (cont’d) 5. The manager evaluates the bids received and awards the task to the most suitable agent, called the contractor. 6. Finally, manager and contractor exchange information together during the accomplishment of the task
Contract Net Protocol Advantages: dynamic task allocation via self-bidding agents can be introduced and removed dynamically it provides natural load-balancing (as busy agents need not bid)
Contract Net Protocol Disadvantages: contract net protocol does not detect or resolve conflicts the agents in the contract net are considered helpful and non-antagonistic (which in real-world scenarios is not realistic) it is rather communication-intensive, the costs of which can be quite high
Interacting tasks Basic contract net model does not consider interacting tasks e.g., two agents each need all of an available resource; e.g., several agents all need a resource or another agent’s help at or about the same time
Possible Approaches to Interacting tasks 1. Agents negotiate directly on resolving problem. 2. A mediator coordinates the interaction to reduce or eliminate the conflict, or negotiates with agents on resolving it. 3. The agents not only plan how to accomplish their tasks/goals but communicate these to others and negotiate potential conflicts, modifying plans accordingly.
Multi Agent Planning Multi-agent planning emphasizes certain avoidance of inconsistent and conflicting situations, which is critical in applications such as air-traffic control By forming a multi-agent plan, the nodes determine all of their actions and interactions beforehand, leaving nothing to chance Two types of multi-agent planning centralized distributed
Centralized Multi Agent Planning (1) Separate agents form their individual plans and then they are sent to a central coordinator, that analyses them and finds potential plan conflicts The central coordinator can identify critical regions of plans around which agents should synchronize insert plan steps for sending and waiting for synchronization messages to ensure proper synchronization the individual partial plans can then be merged into a multi-agent plans with conflicting interactions eliminated
Centralized Multi Agent Planning (2) Disadvantages of centralized planning: It is static – e.g. the agents first form their plans and then coordinate them, hence can miss opportunities for cooperation that would have been possible had the agents built their individual plans concurrently with reasoning about what other nodes are doing It is difficult to create a central coordinator AOSE
Distributed Multi Agent Planning It allows agents to model each other's plans Agents communicate in order to build and update their individual plans and their models of others until all conflicts are resolved Multi Agent Planning requires that nodes share and process substantial amounts of information and hence it generally involves more computation and communication than other approaches