44
Agent Communication in Multi Agent Systems

Agent Communication in Multi Agent Systems

  • Upload
    skylar

  • View
    79

  • Download
    10

Embed Size (px)

DESCRIPTION

Agent Communication in Multi Agent Systems. Reference. Weiss – Chapter 2 Wooldridge – Chapter 8. Multiple agent systems. There are cases of single independent agents Multiple agents are more typical Networks and interconnected systems - PowerPoint PPT Presentation

Citation preview

Page 1: Agent Communication in Multi Agent Systems

Agent Communication in Multi Agent Systems

Page 2: Agent Communication in Multi Agent Systems

Reference

• Weiss – Chapter 2

• Wooldridge – Chapter 8

Page 3: Agent Communication in Multi Agent Systems

Multiple agent systems

• There are cases of single independent agents• Multiple agents are more typical

– Networks and interconnected systems

• This discussion involves analysis and design of multi agent environments– Environment provide computational infrastructure

• Protocols for agents to communicate

• Protocols for agents to interact

Page 4: Agent Communication in Multi Agent Systems

Example of Comm Protocol

• Example of a comm protocol– Propose a course of action

– Accept a course of action

– Reject a course of action

– Retract a course of action

– Disagree with proposed course of action

– Counter propose course of action

• Interaction between A1 and A2– A1 proposes a course of action

to A2

– A2 evaluates the proposal and does one of the following• Sends acceptance to A1

• Sends counter proposal to A1

• Sends disagreement to A1

• Sends rejection to A1

Page 5: Agent Communication in Multi Agent Systems

Lost update problem

• Process synchronization is critical– Shared variable v, is read by p1 and processed. – Process p2 updates v.– Process p1 updates v.– p2 updates are lost– Serialization

Page 6: Agent Communication in Multi Agent Systems

Communication: Object vs. Agent

• OO: Communication as Method Invocation– Two objects O1 and O2.– Object O1 has a public method m1.– Object O2 communicates with O1 by invoking m1, i.e. O2 executes O1. m1(arg); arg is argument communicated by O2 2 to O1.

– In effect O2 controls execution of O1.

• In agent environment the agents are autonomous and hence this is not acceptable. – Agents communicate to influence the other agent.

Page 7: Agent Communication in Multi Agent Systems

Why Multi Agent Systems?

• Info is geographically distributed

• Info arch is large and complex– Many components, concepts, large data

volume, complex interconnections

• Multi modal info– Text, database, voice, images, video…– Static, dynamic, probabilistic

Page 8: Agent Communication in Multi Agent Systems

How to deal with complexity?

• Potential ways to deal with complexity– Modularity, distribution, abstraction, intelligent info

processing (find and modify) DAI / Agents– Develop agents independently, make agents

autonomous

• Computational agents are distributed – Application programs, – Active info resources – available globally, – Wrappers for legacy systems, – On-line services

Page 9: Agent Communication in Multi Agent Systems

Properties of Multi Agent Env

• Infrastructure including comm and interaction protocols

• No centralized controller (designer)

• Support autonomy

• Agents may cooperate or compete

Page 10: Agent Communication in Multi Agent Systems

Properties of MASProperties Range of values

Design Autonomy Platform, interaction protocol, language, internal arch

Communication Infrastructure

Blackboard (shared mem) or Message passing;

Synch or Asynch; Push or Pull;

Point-to-point, Multicast, or Broadcast

Directory services Yellow or white pages

Message Protocol KQML, CORBA, HTTP, HTML

Security Timestamp / Authentication

Operations Support Archiving / Redundancy / Restoration / Accounting

From Table 2.1 in [1]

Page 11: Agent Communication in Multi Agent Systems

Communications Relies on

• Syntax (structure of comm – at the symbol level)

• Semantics (what the symbols denote)• Pragmatics (interpretation of the symbols)• Semantics + Pragmatics leads to

understanding of the meaning of the communication

• Agents must understand and be understood

Page 12: Agent Communication in Multi Agent Systems

Dimensions of Meaning• Descriptive vs Prescriptive

– Describe phenomena vs prescribe behavior– Descriptions are good for humans, what about agents?– ACL are designed to communicate behavior and activities

• Personal vs Conventional meaning– Agents should use conventional (standards). But what about context?

• Semantics vs Pragmatics– Pragmatics specifies how communication is used. Environment. Context

• Contextuality– Context of the present state of the communicator. Environment and

history of actions. Communicating agent.

• Identity of the communicator. • Coverage – smaller languages are better suited for agent

communication• Cardinality: single message interpreted differently than a broadcast

message.

Page 13: Agent Communication in Multi Agent Systems

Agent Communication

• Coordination requires the agent to predict behavior of the other agents in the system – requires good models

• Coord – Competition – Negotiation

Cooperation – Planning – Centralized Plnng

Distributed Plnng

• Coherence – achieve global coherence without centralized control– Economic markets are good at determining price, but not

necessarily provides optimal resource allocation

from Herb Simon

Page 14: Agent Communication in Multi Agent Systems

Message Types• Agents must be capable to participate in a dialog

– Potential agent role • Active, passive or both• Master, slave or peer

– Passive agents • Accept info (assertions), • Accept query and send a reply (assertion)• From the comm network there is no difference between an unsolicited

assertion or an assertion in reply to a query– Active agents

• Issue queries, issue assertions• Control subagents, Monitor environment

• Speech act theory is the basis of the inter agent communication– Views natural language as actions – requests, suggestions, commitments,

and replies.– Locution – the spoken (physical) utterances– Illocution – intended meaning of the spoken utterance– Perlocution – action resulting from the locution

Page 15: Agent Communication in Multi Agent Systems

Agent Capabilities

Basic Agent

Passive Agent

Active Agent

Peer Agent

Receives assertions Receives queries Sends assertions Sends queries

Table 2.3 from [1]

Page 16: Agent Communication in Multi Agent Systems

Inter Agent Message Types

Communicative Action Illocutionary Force Expected Result

Assertion Inform Acceptance

Query Question Reply

Reply Inform Acceptance

Request Request

Explanation Inform Agreement

Command

Permission Inform Agreement

Refusal Inform Agreement

Offer/Bid Inform Agreement

Acceptance

Agreement

Proposal Inform Offer/Bid

Confirmation

Retraction

Denial

Table 2.4 from [1]

Page 17: Agent Communication in Multi Agent Systems

Communication Protocol

• Typical levels– Lowest level: interconnection– Middle level: format, syntax of the info being transferred– Top level: meaning or semantics of the info

• Binary: one sender, one receiver• N-ary: Broadcast, Multicast – one sender, N receivers• Data structure

– Sender– Receiver (s)– Languages in the protocol– Encoding and decoding functions– Actions to be taken by the receiver

Page 18: Agent Communication in Multi Agent Systems

Knowledge Query and Manipulation Language (KQML)

• Protocol for info and knowledge exchange• Structure

(KQML-performative :sender <word>

:receiver <word> :language <word> :ontology <word> :content <expression>

……)

• Keywords (preceded by :) can be in any order. Others– reply-with, in-reply-to

• Message can be understood by agents – assuming language and ontology knowledge

Page 19: Agent Communication in Multi Agent Systems

KQML: Inter Agent & Agent Program Communication

Agent Agent Application Program

KQML KQML

Page 20: Agent Communication in Multi Agent Systems

KQML – Modes of Communication

Client Server

Client Server

Client Server

query

reply

Synch: Blocking query – wait for reply

query

reply

next

nextreply

handle

subscribe

reply

reply

reply

Server maintains state: individual replies on request

Asynch: nonblocking subscribe results in replies

Page 21: Agent Communication in Multi Agent Systems

Knowledge Interchange Format

• Formal syntax for knowledge representation• Example: Block A on Block B.

(tell:sender Agent1:receiver Agent2:language KIF:ontology Blocks-World:content (AND (Block A) (Block B) (On A B)))

Page 22: Agent Communication in Multi Agent Systems

Nested KQML(forward

:from Agent1

:to Agent2

:sender Agent1

:receiver Agent3

:language KQML

:ontology KQML-ontology

:content (tell

:sender Agent1

:receiver Agent2

:language KIF

:ontology Blocks-World

:content (AND (Block A) (Block B) (On A B))))

Forward:from = Content:sender = Agent1Forward:to = Content:receiver = Agent2Forward:receiver = Agent3

Page 23: Agent Communication in Multi Agent Systems

KQML performatives

• Basic query (evaluate, ask-one, ask-all,…)• Multiresponse query (stream-in, stream-all,..)• Response (reply, sorry,…)• Generic info (tell, achieve, cancel, untell,

unachieve, …)• Generator (standby, ready, next, rest,…)• Capability-definition (advertise, subscribe,

monitor,…)• Networking (register, unregister, forward,

broadcast,…)

Page 24: Agent Communication in Multi Agent Systems

Knowledge Interchange Format (KIF)

• Proposed standard for intelligent agents, expert systems, databases…

• Examples(salary xxx-yy-zzzz designer 40000)

(> (* (width chip1) (length chip1))

(* (width chip2) (length chip2)))

Page 25: Agent Communication in Multi Agent Systems

Example KQML dialog(evaluate

:sender A :receiverB:language KIF :ontology motors:reply-with q1 :content (val (torque m1)))

(reply:sender B :receiverA:language KIF :ontology motors:in-reply-to q1 :content (= (torque m1) (scalar 12 kgf)))

• Note: q1 is query reference number

From Figure 8.2 in [2]

Page 26: Agent Communication in Multi Agent Systems

Example KQML dialog(stream-about

:sender A :receiver B:language KIF :ontology motors:reply-with q1 :content (val (torque m1)))

(tell:sender B :receiver A:in-reply-to q1 :content (= (torque m1) (scalar 12 kgf)))

(tell:sender B :receiver A: in-reply-to q1 :content (= (status m1) normal))

(eos:sender B :receiver A: in-reply-to q1)

• stream-about: S wants all relevant answers in R’s Virtual Knowledge Base. Output is streamed. • eos ends the stream

From Figure 8.2 in [2]

Page 27: Agent Communication in Multi Agent Systems

FIPA ACL

(inform

:sender agent1

:receiver agent2

:content (price good2 150)

:language s1

:ontology hpl-auction

)

• FIPA=Foundation of Intelligent Physical Agents

• Message structure is similar to KQML

• Message attribute fields is also similar to KQML

• FIPA performatives are different than KQML– 20 performatives

– Inform tells the receiver to believe the message content; implies that sender also believes the message

Page 28: Agent Communication in Multi Agent Systems

Ontologies

• Specification of the objects, concepts and relationships– In the Block World example, BLOCK

represents a concept and ON is a relationship

• Each agent must represent its knowledge using the vocabulary of a specific ontology

• Note KQML – specifies the Ontology• How are Ontologies co-ordinated?

Page 29: Agent Communication in Multi Agent Systems

Ontologies for ACL

• Represent part of the world.

• Shared virtual world, which provide the terms for communication.

• If 2 agents agree on the upper nodes of a taxonomy, then these agents can focus on the language content in this context.

Page 30: Agent Communication in Multi Agent Systems

Agent Interaction Protocols

• Interaction implies conversation

• Objective: – Ensure achievement of overall goals, – Coherence across agents– Retain agent autonomy

• Shared goals, common tasks, reduce conflicts, pool knowledge and evidence

Page 31: Agent Communication in Multi Agent Systems

Agent Interaction Protocols (contd)

• Co-ordination

• Co-operation

• Contract Net

• Blackboard

• Negotiation

• AIGA

Page 32: Agent Communication in Multi Agent Systems

Co-ordination Protocols

• Reason for co-ordination: better utilization of resources, avoid duplication, maintain coherence– Timely updates, agent synchronization– Distribute control and data

• Disadv: System state is distributed• Adv: Reduce points of bottleneck

– Goal graph• Relates goals and resources• Identifies dependencies• Assignment of goals to agents• Manage graph traversal and report results

Page 33: Agent Communication in Multi Agent Systems

Co-operation Protocol• Supports decomposition and distribution of tasks (divided

and conquer)– Avoid overloading of critical resources– Task assigned to agents with matching skills– Master / slave relationships in task assignment– Minimize communication and synchronization cost: spatial and

semantic proximity– Migrate tasks if necessary– Redundancy and fault tolerance

• Task distribution approaches– Market mechanisms: price, utility– Contract net– Credibility, belief management– Static plans: task to resource map

Page 34: Agent Communication in Multi Agent Systems

Task Assignment

• Spatial

• Functional

Agent 1

Agent 3

Agent 2

Neurologist

Pedatrician Cardiologist

Radiologist

Internist

Page 35: Agent Communication in Multi Agent Systems

Contract Net

• Manager wants to find contractors– Announce task (RFP)– Receive bids– Award contracts– Results,

task accomplishment

• Contractors role– Get RFP– Evaluate capability– Respond (Bid, No Bid)– Perform task– Report results

• Manager assess contractor capability• Distributed computing implications

Page 36: Agent Communication in Multi Agent Systems

Structure Contract Net

• Structure the bid– Addressee

– Capability requirements

– Task abstraction

– Bid spec

– Expiration

• Contractor response– Capability

– Capacity

– Pricing

• Multi level interaction• Contractor capability

and capacity assessment

• Manager as a prime contractor

• Negotiation• Synchronization

Page 37: Agent Communication in Multi Agent Systems

Blackboard

• Specialized Knowledge Sources (KS)

• Multiple approaches to problem solution

• Knowledge representation is KS controlled

• Control transfer

• Data exchange

• Synchronization

Page 38: Agent Communication in Multi Agent Systems

Blackboard Architecture

ExecutingActivated

KS

ControlComponents

LibraryOf

KSsBlackboard

Events

PendingKS

Activations

Distributed Memory Systems?Granuality?

Page 39: Agent Communication in Multi Agent Systems

Negotiation

• Goes through a cycle– Offer– Evaluation– Identify agreements– Identify disagreements– Repeat with counter offer

• Granularity, efficiency, stability

Page 40: Agent Communication in Multi Agent Systems
Page 41: Agent Communication in Multi Agent Systems
Page 42: Agent Communication in Multi Agent Systems
Page 43: Agent Communication in Multi Agent Systems
Page 44: Agent Communication in Multi Agent Systems