Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 8 The nature of communication

Similar presentations


Presentation on theme: "Chapter 8 The nature of communication"— Presentation transcript:

1 Chapter 8 The nature of communication
Human communication Communication is the intentional exchange of information brought about by the production and perception of signs drawn from a shared system of conventional signs (AIMA, Russell&Norvig)  language Communication seen as an action (communicative act) and as an intentional stance (want something to happen) Component steps of communication Speaker Hearer  Intention  Perception  Generation- create  Analysis  Synthesis- organize  Disambiguation  Incorporation Syntax-how structured Semantics-symbol meaning Pragmatics-interpretation 1

2 Artificial Communication
low-level language vs high-level languages direct communication vs. indirect communication Computer communication shared memory  message passing Agent communication/ MAS communication Communication in MAS = more than simple communication, implies interaction The environment provides a computational infrastructure protocols for agents to communicate protocols for agents to interact 2

3 Aim Communication enables agents to:
Communication protocols = enables agents to exchange and understand messages Interaction protocols = enable agents to have conversations, i.e., structured exchanges of messages. Can trace series of responses. Aim Communication enables agents to: coordinate their actions and behavior attempt to change state of the other agents attempt to get other agents perform actions Communication infrastructure Directory services  blackboard or message-based  White pages  connected or connection-less ( )  Yellow pages  point-to-point, multicast, broadcast Message protocol  push or pull  KQML  synchronous or asynchronous  HTTP or HTML  OLE, CORBA, DSOM 3

4 Communication infrastructure
blackboard (shared memory) or message-based connected or connection-less ( ) point-to-point (1), multicast (some), broadcast (all) push or pull (information given to you or requested) synchronous or asynchronous

5 Dimensions of Meaning (think of examples of each)
Descriptive/Prescriptive: describe phenomenon vs proscribe behavior (I am cold) Personal/conventional: different meaning to individual Semantics/Pragmatics: interpreted differently than intended: mental states Pragmatics: the study of how people use language. How people comprehend and produce communication. Contextuality: cannot be understood in isolation Coverage: language express necessary concepts Identity: meaning is dependent on individual Cardinality: private message interpreted differently than public message

6 2. Indirect communication
Reactive agents 2. Indirect communication 2.1 Signal propagation (no specific target) - Manta, A. Drogoul 1993 An agent sends a signal, which is broadcast into the environment, and whose intensity decreases as the distance increases At a point x, the signal may have one of the following intensities (why?) Topological differences lead to social differences 2.2 Trails - L. Steels, 1995 agents drop "radioactive crumbs" making trails an agent following a trail makes the trail faint until it disappears 6

7 Pending KS Activations
Cognitive agents 2.3 Blackboard systems, Barbara Hayes-Roth, 1985 Blackboard = a common area (shared memory) in which agents can exchange information, data, knowledge Agents initiates communication by writing info on the blackboard Agents are looking for new info, they may filter it Agents must register with a central site for access authorization Blackboard = a powerful distributed knowledge paradigm Agents = Knowledge sources (KS) events Control The KS are triggered in response to blackboard and external events BK events: addition of new info change of info removal of info each KS informs the BK about the kind of events in which it is interested. BK directly considers KSs for activation whenever that kind of event occur Control component - selects the KS for execution among pending KSs. KS uses its expertise to evaluate the quality and importance of its contribution and informs the control component about it without performing the work to complete the contribution The Control component uses this estimates to decide how to proceed Different regions of the BK to which individual KSs are assigned Blackboard KS Pending KS Activations KS KS KS 7

8 3. Direct communication Sending messages = method invocation
Exchange of partial plans distributed planning ACL = Agent Communication Languages communication as action - communicative acts Communicative acts Performative = an utterance that suceeds simply because the speaker says or asserts it 8

9 3.1 Agent Communication Languages
Concepts (distinguish ACLs from other means of communication such as RPC, RMI or CORBA, ORB – in which a procedure is remotely called): ACLs handle propositions, rules, and actions instead of objects with no associated semantics An ACL message describes a desired state in a declarative language, rather than a procedure or method invocation ACLs are mainly based on BDI theories: BDI agents attempt to communicate their BDI states or attempt to alter others BDI state ACLs are based on Speech Act Theory Agent behavior and strategy drive communication and lead to conversations ACL Content language Ontology 9

10 Ontology =formal definition of a body of knowledge
Ontology =formal definition of a body of knowledge. The most typical ontology used in building agents involves a structural component. Essentially a taxonomy of class and subclass relations coupled with definitions and relationships between things. (Jim Hendler) An ontology is analogous to a data base organization, not the contents of the database. Example: To express the idea that a block is a physical object we might use the first order predicate language expression: x (Block x)  (PhysicalObject x) To state relationships between classes: x,y,z (instanceOf x y ) (subclassOf y z) (instanceOf x z) To define a relationship On(X,Y) (domain On PhysicalObject) (range On PhysicalObject)

11 Origins of ACLs Knowledge Sharing Effort - DARPA, 1990
External Interface Group - interaction between KBS - KQML Interlingua – language for communicating between independent agents. KIF (not designed as a language to be used by humans) Shared, Reusable Knowledge Bases – Ontolingua (set of tools written in Lisp for analyzing and translating ontologies. Uses KIF parser and syntax checker. Resulted in (Web-based) KQML: Knowledge Query and Manipulation Language Language for both message formatting and message handling protocols. KIF: Knowledge Interchange Format Langauge for expressing message content.

12 specific words -locution
Theory of Speech Acts J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 Treats communication as an action – made to further agent’s intentions Changes world in a way analogous to physical actions Need formal representation so planning systems can reason about them. A speech act has 3 aspects: locution = physical utterance by the speaker illocution = the intended meaning of the utterance by the speaker (performative) prelocution = the action that results from the locution Alice told Tom: "Would you please close the door“ desire illocution Effect perlocution specific words -locution 12

13 Human Communication: Intent may be ambiguous
Colleague states “I am cold” What is the meaning? For computers, state performative (KQML) or Communicative Act (FIPA) so no ambiguity (except in content itself). Note, FIPA is an improvement over KQML, but has same goal. statement of fact (assertion) would you get me a sweater (request) turn up the heat (request)

14 (According to speech act theory)
Illocutionary aspect - several categories (According to speech act theory) Assertives, which inform: the door is shut Directives, which request: shut the door, Commissives, which promise something: I will shut the door Permissive, which gives permission for an act: you may shut the door Prohibitives, which ban some act: do not shut the door Declaratives, which causes events: I name you king of Cache Valley; You are not guilty. Expressives, which express emotions and evaluations: I am happy Excuse me, congratulations

15 Speech Acts Components
In general, speech acts can be seen to have 2 components: A performative verb e.g. Request, inform Propositional content e.g. ”the window is closed” Speech Act Please close the door The door is closed Is the door closed? Performative request inform inquire Content the door is closed

16 Content (Message itself)
KQML – Knowledge Query and Manipulation Language A high-level, message-oriented communication language and protocol for information exchange, independent of content syntax (KIF, SQL, Prolog,…) and application ontology KQML separates: semantics of the communication protocol (domain independent) semantics of the message (domain dependent) 3 (conceptual) layers Core of KQML - identity of the network protocol with which to deliver the message - speech act or performative Optional - content language - ontology Describes low level communication parameters: - identity of sender and receiver - a unique id associated with the communication Content (Message itself) Content Communication Message 16

17 KIF (Knowledge Interchange Format)
Motivation: creation of a common language for expressing properties of a domain. Intented to express contents of a message; not the message itself. Based on first-order logic.

18 Using KIF (think in terms of Lisp type statements), it’s possible to express:
Properties of things in a domain e.g. Michael is a vegetarian – Michael has the property of being a vegetarian Relationships between things in a domain e.g. Michael and Janine are married – the relationship of marriage exists between Michael and Janine. General properties of a domain e.g. Everybody has a mother.

19 KIF - Example Relation between 2 objects: Definition of new concept:
The temperature of m1 is 83 Celsius: (= (temperature m1) (scalar 83 Celsius)) Definition of new concept: An object is a bachelor if this object is a man and not married: (defrelation bachelor (?x) := (and (man ?x) (not (married ?x)))) Relationship between individuals in the domain: A person with the property of being a person also has the property of being a mammal: (defrelation (person ?x) :=> (mammal ?X))

20 KQML An “outer language” that defines a set of performatives (communicative acts), such as ask, reply. Ontology specifies which namespace to use. Communication Mechanics of communication, e.g. Sender, receiver. Performatives (message layer) Content of communication, e.g. a KIF expression Content Logic of communication, e.g. ask, tell. e.g. (ask-if :sender agenti :receiver agentj :language Prolog :ontology genealogy :content “spouse(adam, eve)”)

21 KQML - Performatives The idea of communication in KQML is to represent illocutionary (meaning) acts. Performatives form the core of the language: Determine the kinds of interactions one can have with KQML-speaking agents. Identify the protocol to be used to deliver the message Signify that the content is an assertion, a query, a command or another speech act. Describe how the sender would like any reply to be delivered.

22 KQML Categories of Performatives
Category Performatives Basic Query evaluate, ask-if, ask-one, ask-all, ask-about Multi-response Query stream-about, stream-all Response reply, sorry Generic informational tell, achieve, cancel, untell Generator standby, ready, next,rest, discard, generator Capability-definition advertise, subscribe, monitor, import, export Networking register, unregister, forward, broadcast, route Examples of Performatives: ask_-all: S wants all of R’s answers to a question. Stream-all: multiple response version of ask-all Reply: communicates an expected reply Sorry: S cannot provide a more informative reply Tell: S claims to R that C is in S’s virtual knowledge base Ready: S is ready to respond to R’s previously mentioned performative Subscribe: S wants updates to R’s response to a performative Register: S can deliver performatives to some named agent

23 Syntax LISP-like list of attribute/value pairs (tell :sender willie
(ask-one :sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG // of content :ontology NYSE-TICKS // define terminology :content (price ibm ?price) ) (tell :sender willie :receiver joe :reply-with block1 :language KIF :ontology BlockWorld :content (AND (Block A)(Block B) (On A B)) ) 1. Query performatives: ask-one, ask-all (want all answers to question), ask-if, stream-all (multiple response version of ask-all) A ask-one(P) B tell(P1,P2,...) ask-all(P) tell(P) (stream-all :sender willie :receiver ibm-stock :content (price ?VL ?price ) ) (standby :content (stream-all :content (price ?VL ?price) ) Query performatives - ask for information ask-one = one reply (solution) ask-all = all replies (solutions) stream-all = a set of answers be turned into a set of replies standby = the receiver takes the stream of messages and holds them and releases them one at a time, each time the sending agent transmits a next performative A B stream-all(P) B tell(P1) A tell(P2) eos 23

24 2. Generator performatives:
standby (be ready to respond), ready, next, rest, discard, generate,... 3. Response performatives: reply, sorry ... delete(P) insert(P) A B 4. Generic informational performatives: tell (I know it), untell, insert (add to your VKB), delete, ... tell(P) untell(P) 5. Capability performatives: advertise, subscribe, recommend... A B 6. Network performatives: register, unregister, forward, route, ... Facilitator 24

25 Example of KQML Dialog (evaluate :sender A :receiver B :language KIF :ontology motors :reply-with q1 :content (val (torque m1)) (reply :sender B :receiver A :language KIF :ontology motors :in-reply-to q1 :content (= (torque m1) (scalar 12 kgf))

26 Another example of KQML
(stream-about // multiple responses wanted :sender A :receiver B :language KIF :ontology motors :reply-with q1 :content 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 B :in-reply-to q1) //end of stream

27 In the next KQML example
A advertises that it is willing to accept subscriptions related to m1. B responds by subscribing A sends message sequence about m1 A untells the previous fact and gives new information eos ends the stream of messages

28 (advertise :sender A :language KQML :ontology K10
:content (stream-about :language KIF :ontology motors :content m1))) (subscribe :sender B :receiver A :reply-with s1 :content (stream-about :language KIF :ontology motors : content m1)) (tell :sender A :receiver B :in-reply-to s1 :content (=(torque m1)(scalar 12 kgf))) :content (=(status m1) normal)) (untell :sender A :receiver B :in-reply-to s1 :content (=(torque m1)(scalar 15 kgf))) (eos :sender A :receiver B :in-reply-to s1)

29 Facilitators KQML environments (may) contain facilitators that help make the communication protocol transparent. Facilitators: a special class of agents that perform useful communication services such as: Maintain registry of service names Forward messages to named services Routing messages based on content Provide matchmaking between information providers and seekers Provide mediation and translation services Reference for Facilitators: T. Finin, Y. Labrou, J. Mayfield. ”KQML as an Agent Communication Language”. In: J. Bradshaw (ed). Software Agents, AAAI Press/MIT Press, 1997, pp

30 Point-to-point protocol
Facilitators A B F ask(X) tell(X) Point-to-point protocol A is aware that it is appropriate to send a query about X to B There are several ways to achieve this via a Facilitator. F is the Facilitator and is not involved in the communication.

31 Facilitators F A B Using the subscribe performative
Request that Facilitator F monitor for the truth of X. If B subsequently informs F that it believes X to be true, then F can in turn inform A. subscribe(ask(X)) tell(X) F tell(X) F just forwards A B

32 Facilitators A B F tell(X ) ask(X) broker(ask(X)) advertise(ask(X))
Using the broker performative A asks Facilitator to find another agent which can process a given performative. A asks F to find an agent that can process an ask(x) performative. B independently informs F that it is willing to accept performatives matching ask(x). Once F receives both these messages, it send B the query, gets a response and forwards it to A.

33 Facilitators A B F advertise(ask(X)) recruit(tell(X))
Using the rercruit performative A asks Facilitator to find an appropriate agent to which an embedded performative can be forwarded. A reply is returned directly to the original agent. Consider the situation where the performative from A is subscribe(x) rather than tell(x).

34 Facilitators A B F Using the recommend performative reply(B) ask(X)
tell(X) recommend(ask(X)) advertise(ask(X)) Using the recommend performative Asks Facilitator to respond with the ”name” of another agent which is appropriate for sending a particular performative. Service discovery.

35 Criticisms of KQML not fixed performatives – different implementations don’t interoperate transport mechanisms (ways of getting a message from A to B) not precisely defined semantics not rigorous – not adhered to missing commissives (make commitment) performative set too large and ad hoc Resulted in FIPA

36 3.3 FIPA - ACL Foundation for Intelligent Physical Agents, 1996
Goal of FIPA = make available specifications that maximize interoperability across agent-based systems. SL formal language Syntax similar to KQML (inform :sender Agent1 :receiver Agent2 :content (price good2150) :in-reply-to round-1 : reply-with bid03 : language S1 :ontology hp-auction :reply-by 10 :protocol offer :conversation-id conv-1 ) FIPA communicative acts Informatives - query_if, subscribe, inform, inform_if confirm, disconfirm, not_understood Task distribution - request, request_whenever, cancel, agree, refuse, failure Negotiation - cfp (call for proposal - initiate), propose, accept_proposal, reject_proposal FIPA = a standards organization in the area of software agents Several technical committees: - specifications for ACLs - agent management: agent services such as facilitation, registration, and agent platforms - agent/software interaction: integration of agents with legacy software applications FIPA-ACL also provides the normative description of a set of high-level interaction protocols, including requesting an action, contract net, and several kinds of auctions 36

37 FIPA - Semantics SL (Semantic Language) - a quantified, multi-modal logic, with modal operators: B  - belief D  - desire U  - uncertain belief – neither believes  or its negation, but believes  more likely than its negation. PG  - persistent goal, but will not necessarily plan to bring it about Bif  - agent believes  or disbelieves  Uif  - agent has an uncertain belief of  or an uncertain belief of ¬  Given that one of the most frequent and serious criticisms of KQML is the lack of adequate semantics, it is not surprising that the developers of FIPA felt it important to give comprehensive formal semantics to their language. <i, inform(j, )> Pre: Bi   Bi (Bifj   Uifj ) Post: Bj  The content is a proposition and the meaning is that the sender informs the receiver that a given proposition is true According to the semantics, the sending agent: - holds that the proposition is true Bj  - does not already believe that the receiver has any knowledge of the truth of the proposition Bi (Bifj   Uifj ) - intends that the receiving agent should also come to believe that the proposition is true (rational effect Bj ) 37

38 Pre: Bi   Bi (Bifj   Uifj ) Post: Bj 
The semantics of a communicative act is specified as a set of SL's formulae that describe: Feasibility preconditions - the necessary conditions for the sender - the sender is not obliged to perform the CA Rational effect - the effect that an agent can expect as a result of performing the action; it also typically specifies conditions that should hold true of the recipient The receiving agent is not required to ensure that the expected effect comes about The sender can not assume that the rational effect will necessary follow Semantics of inform: <i, inform(j, )> Pre: Bi   Bi (Bifj   Uifj ) Post: Bj 

39 Syntax of request: <k, request(j, )> Pre: Bk Agent( ,j)   BkIj(Done ) Post: Done() Agent( ,j) means that the agent of action  is j (j is the one who can perform the action) Done( ) means that the action has been done Effect: agent k is requesting agent j to do action  and agent k believes that the agent to do the action is j and it believes that j does not currently intend to do the action. The effect is that j will do it.

40 Any MAS that is to use an ACL must provide:
Using ACLs in MAS Any MAS that is to use an ACL must provide: a finite set of APIs for composition, sending, and receiving ACL messages an infrastructure of services that assist agents in naming, registration, and basic facilitation services (finding other agents that can do things for your agent) code for every reserved message type that takes the action prescribed by the semantics for the particular application; the code depends on the application language, the domain, and the details of the agent system using the ACL 40

41 4. Communication content
Content languages KIF Prolog Clips SQL FIPA-SL, FIPA-CCL, FIPA-KIF DAML XML Xtensible Markup Language Ontologies ACL Content language Ontology DARPA Agent Markup Language The DAML Program officially began in August 2000. The goal of the DAML effort is to develop a language and tools to facilitate the concept of the Semantic Web. 41

42 Petri nets - more in distributed planning lecture FIPA IP standards:
Interaction protocols enable agents to have conversations, i.e., structured exchanges of messages Finite automata Conversations in KQML Petri nets - more in distributed planning lecture FIPA IP standards: FIPA-query, FIPA-request, FIPA-contract-net, FIPA IP standards : more in coordination lecture FIPA-query: the receiver agent is requested to perform some kind of inform action FIPA-request: the receiver agent is requested to perform some action FIPA-contract-net: an agent (manager) solicits proposals from other agents (contractors) by specifying the task and the conditions placed by the manager upon the execution of the task. The contractor's proposal includes the preconditions that the contractor is setting out for the task (e.g., price, time, etc.)

43 Finite state automata Nodes represent states Arrows represent actions
COOL, Barbuceanu,95 A:B<<ask(do P) B:A<<accept(do P) proposeS(P) B:A<<refuse(do P) acceptR(P) rejectR(P) B:A<<fail(do P) B:A<<result(do P) counterR(P) counterS(P) Winograd, Flores, 1986 rejectS(P) acceptS(P) 43

44 Conversations in KQML Use Definite Clause Grammars (DCG) formalism for the specification of conversation policies for KQML performatives DCGs extend Context Free Grammars in the following way: non-terminals may be compound terms the body of the rule may contain procedural attachments, written as "{" and "}" that express extra conditions that must be satisfied for the rule to be valid Ex: noun(N)  [W], {RootForm(W,N), is_noun(N)} S  s(Conv, P, S, R, inR, Rw, IO, Content), {member(P, [advertise, ask-if]} s(Conv, ask-if, S, R, inR, Rw, IO, Content)  [ask-if, S, R, inR, Rw, IO, Content] | [ask-if, S, R, inR, Rw, IO, Content], {OI is inv(IO)}, r(Conv, ask-if, S, R, _, Rw, OI, Content) r(Conv, ask-if, R, S, _, inR, IO, Content)  [tell, S, R, inR, Rw, IO, Content] | problem(Conv, R, S, inR, _, IO) Labrou, Finin, 1998 44

45 Petri nets Ferber, 1997 Petri net = oriented graph with 2 type of nodes:places and transitions; there are moving tokens through the net - representation of dynamic aspect of processes. Stores state. Tokens are moved from place to place, following firing rules. A transition T is enabled if all the input places P of T contains a token A marking (state) is a distribution of tokens over places. A wants to do P, A cannot do P B does not want to do(P) DA DB B is willing to do(P) Request do(P) AR1 Refuse do(P) BR Accept/request do(P) Finite state automata are of great practical value for specifying the structure of conversations when they appear in an isolated manner, that is, when a conversation can be summarized as a single process. However, agents are sometimes involved in several conversations simultaneously, and they have to manage these multiple conversations. It is then easier to describe the nature of these interactions by using Petri nets. Each agent is described by a Petri subnet, the positions in which correspond to the internal states of the agent (or of the task in hand). The transitions correspond either to synchronizations due to the receipt of a message or to conditions of application of actions, such as the essential or preparatory conditions for the associated speech acts. Messages being routed are represented by supplementary locations which link agents A and B in such a way as to form a single net. Locations DA and DB describe the initial states in which the agents find themselves before the beginning of the conversation, and locations FA1 and FA2 and FB represent the end of conversation states. Starting from state DA, agent A sends a request to B and moves into the state AR, which represents waiting for a response. If B cannot do P, it send a refusal to A, which then goes into state FA1, which indicates that A must look elsewhere to have A carried out. If B can do P, it sends an acceptance message to A, which again goes into a wait for a response state. During this time, B is in state BR, while trying to carry out the action P. If it can do it, it sends a notification of end of accomplishment, which places agent A in state FA2. If not, it indicates that it can not do P. In both cases, it goes into the terminal state FB AR2 Completed(P) Fail to do(P) Impossible to do(P) Notification of end(P) FB FA1 Failure FA2 Satisfaction 45


Download ppt "Chapter 8 The nature of communication"

Similar presentations


Ads by Google