45
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 1 Syntax-how structured Semantics-symbol meanin Pragmatics-interpretati

Chapter 8 The nature of communication Human communication Communication is the intentional exchange of information brought about by the production and

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

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 communicationSpeaker Hearer Intention Perception Generation- create Analysis Synthesis- organize Disambiguation

Incorporation

1

Syntax-how structuredSemantics-symbol meaningPragmatics-interpretation

Artificial Communication low-level language vs high-level languages direct communication vs. indirect communication

Computer communication shared memory message passing

Agent communication/ MAS communicationCommunication in MAS = more than simple

communication, implies interactionThe environment provides a computational

infrastructure protocols for agents to communicate protocols for agents to interact

2

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:

o coordinate their actions and behavior

o attempt to change state of the other agents

o attempt to get other agents perform actions

3

Communication infrastructure • blackboard (shared memory) or message-based• connected or connection-less (email) • 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 statesPragmatics: 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

2. Indirect communication2.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

6

2.2 Trails - L. Steels, 1995agents drop "radioactive crumbs" making trailsan agent following a trail makes the trail faint until it disappears

Reactive agentsReactive 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)

7

Cognitive agentsCognitive agents

KS

KS

KS

KS

Control

Blackboard

events

Pending KS Activations

3. Direct communication

Sending messages = method invocationExchange of partial plans

– distributed planning

ACL = Agent Communication Languages

communication as action - communicative acts

8

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

9

ACL

Content language

Ontology

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 ACLsOrigins 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.

Theory of Speech ActsJ. Austin - How to do things with words, 1962,

J. Searle - Speech acts, 1969Treats communication as an action – made to further agent’s intentionsChanges world in a way analogous to physical actionsNeed 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“

12

desireillocution

Effect perlocutionspecific words -locution

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.

14

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 Act Please close the door

The door is closed Is the door closed?

Performative request inform inquire

Content the door is closed the door is closed the door is closed

Speech Acts Components

• In general, speech acts can be seen to have 2 components:

1. A performative verb

• e.g. Request, inform

2. Propositional content

• e.g. ”the window is closed”

16

KQML – Knowledge Query and Manipulation LanguageA 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

16

Content (Message itself)Content

Communication

Message

Describes low levelcommunication parameters:- identity of sender and receiver- a unique id associated with the communication

Core of KQML- identity of the network protocol with which to deliver the message- speech act or performative Optional- content language- ontology

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:

– 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

• An “outer language” that defines a set of performatives (communicative acts), such as ask, reply.

• Ontology specifies which namespace to use.

CommunicationMechanics 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)”)

KQML

21

• 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.

KQML - Performatives

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

23

Syntax LISP-like list of attribute/value pairs

(ask-one :sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG // of content :ontology NYSE-TICKS // define terminology :content (price ibm ?price) )

23

(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)

(stream-all :sender willie:receiver ibm-stock:content (price ?VL ?price ) )

(standby:content (stream-all:content (price ?VL ?price) )

ask-one(P)

tell(P)

tell(P1)

stream-all(P)

tell(P2)eos

tell(P1,P2,...)

ask-all(P)

B

B

B

A

A

A

24

24

4. Generic informational performatives:

tell (I know it), untell, insert (add to your VKB), delete, ...

tell(P)

untell(P)

delete(P)

insert(P)

2. Generator performatives:standby (be ready to respond), ready, next, rest, discard, generate,...

6. Network performatives:register, unregister, forward, route, ...

3. Response performatives:reply, sorry ...

5. Capability performatives:advertise, subscribe, recommend...

Facilitator

A

A

B

B

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)))(tell :sender A :receiver B :in-reply-to s1 :content (=(status m1) normal))(untell :sender A :receiver B :in-reply-to s1 :content (=(torque m1)(scalar 12 kgf)))(tell :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

30

A B

F

ask(X)

tell(X)

Facilitators

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.

31

A B

Ftell(X)

subscribe(ask(X)) tell(X) 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.

Facilitators

32

A B

Ftell(X) ask(X)

broker(ask(X))

advertise(ask(X))

tell(X)Using the broker performative

A asks Facilitator to find another agent

which can process a given performative.

Facilitators

33

A B

Fask(X)

recruit(tell(X))

advertise(ask(X))

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.

Facilitators

34

A B

Freply(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.

Facilitators

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 hocResulted in FIPA

36

3.3 FIPA - ACLFoundation for Intelligent Physical Agents, 1996

Goal of FIPA = make available specifications that maximize interoperability across agent-based systems. SL formal languageSyntax 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 actsInformatives - query_if, subscribe, inform, inform_ifconfirm, disconfirm, not_understoodTask distribution - request, request_whenever, cancel, agree,refuse, failureNegotiation - cfp (call for proposal - initiate), propose, accept_proposal, reject_proposal

37

FIPA - SemanticsSL (Semantic Language) - a quantified, multi-modal logic, with modal operators:B - beliefD - desireU - 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 aboutBif - 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.

38

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

Using ACLs in MASAny MAS that is to use an ACL must provide:a finite set of APIs for composition, sending, and receiving ACL messagesan 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

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 LanguageThe DAML Program officially began in August 2000.The goal of the DAML effort is to develop a languageand tools to facilitate the concept of the Semantic Web.

Interaction protocols

enable agents to have conversations, i.e., structured exchanges of messages

Finite automataConversations in KQMLPetri nets - more in distributed planning lecture

FIPA IP standards:– FIPA-query, FIPA-request, FIPA-contract-net,

Finite state automataNodes represent states

Arrows represent actions

43

A:B<<ask(do P)

B:A<<accept(do P)

B:A<<refuse(do P)

B:A<<result(do P)B:A<<fail(do P)

proposeS(P)

acceptR(P) rejectR(P)

counterR(P)counterS(P)

acceptS(P) rejectS(P)Winograd, Flores, 1986

COOL, Barbuceanu,95

44

Conversations in KQMLUse Definite Clause Grammars (DCG) formalism for the specification of conversation policies for KQML performativesDCGs extend Context Free Grammars in the following way:non-terminals may be compound termsthe 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

45

DAA wants to do P,A cannot do P

Request do(P)

Refuse do(P)

Accept/request do(P)

Fail to do(P)

Notification of end(P)

DB

AR1

AR2

FA2FA1

BR

FBFailure Satisfaction

Impossibleto do(P)

B does not wantto do(P)

B is willingto do(P)

Completed(P)

Petri netsPetri 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.

Ferber, 1997

45