Agent Communication in Multi Agent Systems by ikn20172


									Agent Communication in Multi
       Agent Systems
• 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
• This discussion involves analysis and design of
  multi agent environments
   – Environment provide computational infrastructure
      • Protocols for agents to communicate
      • Protocols for agents to interact
       Example of Comm Protocol
• Example of a comm               • Interaction between A1 and
  protocol                          A2
   – Propose a course of action     – A1 proposes a course of action
   – Accept a course of action        to A2
   – Reject a course of action      – A2 evaluates the proposal and
   – Retract a course of action       does one of the following
                                      • Sends acceptance to A1
   – Disagree with proposed
                                      • Sends counter proposal to A1
     course of action
                                      • Sends disagreement to A1
   – Counter propose course of
                                      • Sends rejection to A1
           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
  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.
    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
  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
• Computational agents are distributed
   –   Application programs,
   –   Active info resources – available globally,
   –   Wrappers for legacy systems,
   –   On-line services
    Properties of Multi Agent Env

• Infrastructure including comm and
  interaction protocols
• No centralized controller (designer)
• Support autonomy
• Agents may cooperate or compete
               Properties of MAS
      Properties                      Range of values
Design Autonomy      Platform, interaction protocol, language, internal
Communication        Blackboard (shared mem) or Message passing;
Infrastructure       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 /

                               From Table 2.1 in [1]
    Communications Relies on
• Syntax (structure of comm – at the symbol
• Semantics (what the symbols denote)
• Pragmatics (interpretation of the symbols)
• Semantics + Pragmatics leads to
  understanding of the meaning of the
• Agents must understand and be understood
           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
• Cardinality: single message interpreted differently than a broadcast
          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
   – Economic markets are good at determining price, but not
     necessarily provides optimal resource allocation
                                 from Herb Simon
                       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
           Agent Capabilities
                      Basic   Passive Active    Peer
                      Agent   Agent Agent       Agent

Receives assertions                            
Receives queries                                 
Sends assertions                                
Sends queries                                    

                                    Table 2.3 from [1]
  Inter Agent Message Types
Communicative Action   Illocutionary Force   Expected Result
Assertion              Inform                Acceptance
Query                  Question              Reply
Reply                  Inform                Acceptance
Request                Request
Explanation            Inform                Agreement
Permission             Inform                Agreement
Refusal                Inform                Agreement
Offer/Bid              Inform                Agreement
Proposal               Inform                Offer/Bid

                                             Table 2.4 from [1]
         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
Knowledge Query and Manipulation
       Language (KQML)
• Protocol for info and knowledge exchange
• Structure
          :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
KQML: Inter Agent & Agent
 Program Communication

        KQML           KQML

Agent                         Application
KQML – Modes of Communication
Client                                     reply

           Synch: Blocking query – wait for reply

Client                                      reply      Server
    Server maintains state: individual replies on request

 Client                                        reply    Server
    Asynch: nonblocking subscribe results in replies
 Knowledge Interchange Format
• Formal syntax for knowledge representation
• Example: Block A on Block B.
          :sender     Agent1
          :receiver   Agent2
          :language   KIF
          :ontology   Blocks-World
          :content    (AND (Block A) (Block B) (On A B)))
                    Nested KQML
                   :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 = Agent1
Forward:to = Content:receiver = Agent2
Forward:receiver = Agent3
           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,
• Networking (register, unregister, forward,
 Knowledge Interchange Format
• Proposed standard for intelligent agents,
  expert systems, databases…
• Examples
  (salary xxx-yy-zzzz designer 40000)
  (> (* (width chip1) (length chip1))
     (* (width chip2) (length chip2)))
           Example KQML dialog
    :sender     A       :receiver B
    :language   KIF     :ontology         motors
    :reply-with q1      :content (val     (torque m1)))

     :sender      B     :receiver A
     :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]
                      Example KQML dialog
      :sender         A      :receiver B
      :language       KIF    :ontology          motors
      :reply-with     q1     :content (val      (torque m1)))
      :sender         B      :receiver A
      :in-reply-to    q1     :content (= (torque m1) (scalar 12 kgf)))
      :sender         B      :receiver A
      : in-reply-to   q1     :content (= (status m1) normal))
      :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]
                              FIPA ACL
    :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
• Specification of the objects, concepts and
  – 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?
         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.
    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
      Agent Interaction Protocols
•   Co-ordination
•   Co-operation
•   Contract Net
•   Blackboard
•   Negotiation
•   AIGA
          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
            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
            Task Assignment

                          Agent 1   Agent 2
• Spatial
                               Agent 3

• Functional         Radiologist

      Neurologist                        Internist

            Pedatrician        Cardiologist
                           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
           Structure Contract Net
• Structure the bid              • Multi level interaction
   –   Addressee
                                 • Contractor capability
   –   Capability requirements
   –   Task abstraction            and capacity
   –   Bid spec                    assessment
   –   Expiration                • Manager as a prime
• Contractor response              contractor
   – Capability
   – Capacity
                                 • Negotiation
   – Pricing                     • Synchronization
•   Specialized Knowledge Sources (KS)
•   Multiple approaches to problem solution
•   Knowledge representation is KS controlled
•   Control transfer
•   Data exchange
•   Synchronization
  Blackboard Architecture
                  Executing     Library
    Blackboard    Activated       Of
                     KS          KSs


     Control          KS
   Components     Activations

Distributed Memory Systems?
• Goes through a cycle
  –   Offer
  –   Evaluation
  –   Identify agreements
  –   Identify disagreements
  –   Repeat with counter offer
• Granularity, efficiency, stability

To top