agents transacting in open environments

57
IntelligentAgents Katia Sycara katia@ cs.cmu.edu The RoboticsInstitute Joseph G iam papa garof@ cs.cmu.edu www.cs.cm u.edu/~softagents

Upload: jessie

Post on 19-Mar-2016

51 views

Category:

Documents


1 download

DESCRIPTION

Agents Transacting in Open Environments. Two phases: Locating appropriate agents through different kinds of middle agents Performing the transaction with or without middle agents. Transaction Phase. Providers and requesters interact with each other directly - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Agents Transacting in Open Environments

Intelligent Agents Katia Sycara

[email protected] Robotics Institute

Joseph [email protected]

www.cs.cmu.edu/~softagents

Page 2: Agents Transacting in Open Environments

Agents Transacting in Open Environments

Two phases:• Locating appropriate agents

– through different kinds of middle agents

• Performing the transaction– with or without middle agents

Page 3: Agents Transacting in Open Environments

Transaction Phase

• Providers and requesters interact with each other directly– a negotiation phase to find out service parameters and preferences

(if not taken into account in the locating phase)– delegation of service

• Providers and requesters interact through middle agents– middle agent finds provider and delegates– hybrid protocols

• Reasons for interacting through middle agents– privacy issues (anonymization of requesters and providers)– trust issues (enforcement of honesty; not necessarily keep

anonymity of principals); e.g. NetBill

Page 4: Agents Transacting in Open Environments

Matching Engine for Service Providers & Requesters

matching capabilities with requests

capability parametersservice request

(LARKS) matching capabilities with requests

capability parametersservice request+ parameters

(LARKS)

unsorted list of agent contact infodecision algorithm

sorted list of agent contact info

Page 5: Agents Transacting in Open Environments

Broadcaster

BroadcasterRequester

Provider 1 Provider n

Request for service

Broadcast service request

Delegation of serviceResults of

service request

Offer of service

Page 6: Agents Transacting in Open Environments

Matchmaking

MatchmakerRequester

Provider 1 Provider n

Request for service

Unsorted full description of (P1,P2, …, Pk) Advertisement

of capabilities+para.Delegation of service

Results of service request

Page 7: Agents Transacting in Open Environments

FacilitatorCombines Agent Location and Transaction Phases

FacilitatorRequester

Provider 1 Provider n

Request for service+pref.

Advertisementof capabilities

+ para.

Results of service

Serviceresult

Delegationof service

Page 8: Agents Transacting in Open Environments

Contract Net

ManagerRequester

Provider 2 Provider n

Request for service+ preferences

Broadcast service request + pref

Delegationof service

Results of service

Offer of service

Provider 1

BroadcastBroadcast

Offer of service

Results ofService

Page 9: Agents Transacting in Open Environments

Agent Communication• Aspects of communication:

– syntax: the structure of communicated symbols– semantics: what the symbols denote– pragmatics: the interpretation of the symbols

• Dimensions:– Personal vs. conventional meaning– subjective vs. objective meaning– semantics vs pragmatics– contextuality– agent and message identity

Page 10: Agents Transacting in Open Environments

Message Types• Agent roles in a dialogue: active, passive, both• This allows it to be master, slave, peer,

respectively• Two basic message types: assertion and query• For example, an agent that takes the passive role

can:– accepts a query from external source (asserted)– sends a reply (makes an assertion)

Page 11: Agents Transacting in Open Environments

Passive, Active, Peer

Passiveagent

Activeagent

Peer agent

Receiveassertions

Receivequeries

Sendassertions

Sendqueries

Page 12: Agents Transacting in Open Environments

Communication levels• Lower level: specifies method of interconnection• Middle level: specifies format, syntax• Top level: specifies meaning, semantics

(substance and type)• Agent Communication specification includes:

– sender– receiver(s)– language – encoding and decoding functions– actions to be taken by the receiver(s)

Page 13: Agents Transacting in Open Environments

Speech Act Theory• Theory of communication which is the basis for

the FIPA ACL• Speech act theory is derived from linguistic

analysis of human communication• Speaker not only makes statements but also

performs actions (e.g., “I hereby request…”)• Verbs that cannot be put in this form are not

speech acts (e.g. “I hereby solve this equation..”)

Page 14: Agents Transacting in Open Environments

Speech Act Theory (cont)• Aspects of a speech act:

– Locution, the physical utterance by the speaker– Illocution, the intended meaning of the utterance by

the speaker– Perlocution, the action that results from the locution

• In communication among agents, we want to insure there is no doubt about the message type

• Speech act theory uses performative to identify the illocutionary force

• Helps define the type of message

Page 15: Agents Transacting in Open Environments

Speech Act Theory (cont.d) In FIPA ACL:• Locution refers to formulation of an utterance• Illocution refers to a categorization of an

utterance from the speaker’s point of view (e.g. question, command)

• Perlocution refers to the other intended effects on the hearer, i.e., updating of the hearer’s mental attitudes.

Page 16: Agents Transacting in Open Environments

Types of Communicative Acts • Assertives which inform: The door is shut• Directives which request: Shut the door – or query: Can pelicans fly?• Commissives which promise something: I will shut the door• Permissives which give permission for an act: You may shut the door• Prohibitives which ban some act: You may not shut the door• Declaratives which cause events in themselves: I name this door the

Golden Gate• Expressives which express emotions and evaluations: I wish this door

were the Golden Gate

Page 17: Agents Transacting in Open Environments

Communication ActionsAction Illocutionary force Expected result

Assertion Inform AcceptanceQuery Question ReplyReply Inform AcceptanceRequest RequestExplanation Inform AgreementCommand RequestPermission Inform AcceptanceRefusal Inform AcceptanceOffer/bid Inform AcceptanceAcceptance

Page 18: Agents Transacting in Open Environments

Assumptions of FIPA ACL

• The agents are communicating at a higher level of discourse, i.e. the contents of the communication are meaningful statements about the agent’s environment or knowledge.

• This assumption differentiates agent communication from other interaction mechanisms, such as method invocation in CORBA

• Abstract characterization of agent’s capabilities in terms of mental attitudes.*beliefs denote set of propositions (statements that can be true or false) which the agent currently accepts as true *Uncertainty, denotes sets of propositions an agent accepts as not

known as to be false or true*Intention, which denotes a choice or set of properties the agent

desires to be true and which are not currently believed to be true. An agent which adopts an intention will form a plan of action to bring about the state of the world indicated by his choice.

Page 19: Agents Transacting in Open Environments

Set of requirements for FIPA ACL compliant agents

Requirement 1:

Agents should send “not understood” if they receive a message they do not understand; agents must also be able to handle properly a “not understood” message sent by another agent to them Requirement 2:

An ACL compliant agent may chose to implement any subset of the pre-defined message types and protocols.

Page 20: Agents Transacting in Open Environments

Set of requirements for FIPA ACL compliant agents, cont.

Requirement 3:An ACL compliant agent, which uses the FIPA-defined communicative acts, must implement them correctly with respect to their definition Requirement 4:Agents may use communicative acts with other names, as long as they are responsible for ensuring the receiving agent will understand them; agents may not define new acts whose meaning is same as a pre-defined meaning. Requirement 5:An ACL compliant agent must be able to generate syntactically correct messages, and parse well formed messages it receives.

Page 21: Agents Transacting in Open Environments

Overview ACL example (inform :sender agent1 :receiver hp1-auction-server :content (price (bid good02) 150) :in-reply-to round-4 :reply-with bid04 :protocol Auction :language sl :ontology hp1-auction)

Page 22: Agents Transacting in Open Environments

Pre-defined Message Parameters          :sender          :receiver          :content          :reply-with          :in-reply-to         :envelope          :language          :ontology          :reply-by          :protocol          :conversation-id

Page 23: Agents Transacting in Open Environments

Requirement on Content Language A content language must be able to express propositions, objects/entities, and actions. No other properties are required.

•The FIPA specification does not mandate the use of any specific content language.

•The FIPA spec gives guidelines for simple syntax, e.g.—s-expressions are admissible as legal ACL messages

 

Page 24: Agents Transacting in Open Environments

Primitive and Composite Communicative Acts (CA’s)

• Primitive CA’s are those whose actions are defined atomically

• Composite CA’s are composed by one of the following methods:

• making one CA the object of another (e.g.. “I request you to inform me whether it is raining”)

• using the compositional operator “;” to sequence actions (e.g. a ; b means action a followed by action b)

• using the compositional operator “!” to denote a non-deterministic choice of action (e.g. a ! b means a or b but not both)

Page 25: Agents Transacting in Open Environments

Catalogue of Communicative Acts

Accept-proposal: accepting a previously submitted proposal to perform an action in the future, e.g. when a stated precondition becomes true (e.g. (accept-proposal :sender I :receiver j :in-reply-to bid089 :content ( (action j (stream-content moview1234 19)) (B j (ready customer78)) )“language sl)

Page 26: Agents Transacting in Open Environments

Catalogue of Communicative Acts (cont.)

agree: agreeing to perform some action, possibly in the future cancel: cancelling a previously requested action which has temporal extent cfp: the action of calling for proposals to performa a given action confirm: sender informs the receiver that a given proposition is true, where the receiver is known to be uncertain about the proposition disconfirm: the sender informs the receiver that a give proposition is false, where the receiver is known to believe, or believe it likely that a proposition is true.

Page 27: Agents Transacting in Open Environments

Catalogue of Communicative Acts (cont.)inform: the sender informs the receiver that a given proposition is true

*the sending agent(a)   holds that some proposition is true(b)   intends that the receiving agent also comes to believe that the proposition is true(c)   does not already believe that the receiver has

any knowledge of the truth of the proposition *the receiving agent is entitled to believe

(a) the sender believes the proposition(b)   the sender wishes the receiver to believe the proposition also

Page 28: Agents Transacting in Open Environments

Catalogue of Communicative Acts (cont.)failure: the action of telling the receiver that an action was attempted but failed inform-if: a macro action for the agent of the action to inform the recipient of whether or not a proposition is true (e.g. Agent I requests j to inform it whether Katia is in Pittsburgh) inform-ref: a macro action for sender to inform the receiver the object which corresponds to a definite description (e.g. a name) not-understood: the sender k informs the receiver j that it perceived that j performed some actin but k does not understand what j did (a common case is when k tells j it does not understand the message that j sent to k)

Page 29: Agents Transacting in Open Environments

Catalogue of Communicative Acts (cont.)propose: the action of submitting a proposal to perform a certain action given a certain precondition query-if: the action of asking another agent whether or not a given proposition is true query-ref: the action of asking an agent for the object referred to by an expression refuse: the action of refusing to perform an action and explaining the reason for the refusal reject-proposal: the action of rejecting to perform some action during a negotiation

Page 30: Agents Transacting in Open Environments

Catalogue of Communicative Acts (cont.)request: the sender requests the receiver to perform some action request-when: sender wants the receiver to perform some action when some given precondition becomes true request-whenever: sender wants the receiver to perform some action as soon as some proposition becomes true and thereafter each time the proposition becomes true again. request-whomever: sender wants an action to be performed by some agent other than itself. The receiving agent should either perform the action or pass it to wsome other agent subscribe: the act of requesting a persistent intention to notify the sender of the value of a reference, and to notify again whenever the object identified by that reference changes

Page 31: Agents Transacting in Open Environments

Interaction Protocols

Interaction protocols are standard patterns of message exchangeFIPA pre-specifies a (non-exhaustive) set of protocols to facilitate agent interaction.  Requirement 8: An ACL compliant agent need not implement any of the standard protocols, nor is it restricted from using any other protocol names. However, if one of the standard names is used, the agent must behave consistently with the FIPA protocol specification.

Page 32: Agents Transacting in Open Environments

FIPA-specified Protocols FIPA-request protocolFIPA-query ProtocolFIPA-request-when ProtocolFIPA-contract-net ProtocolFIPA-Iterated-Contract-Net ProtocolFIPA-Auction-English ProtocolFIPA-Auction-Dutch Protocol

Page 33: Agents Transacting in Open Environments

Knowledge Query and Manipulation Language (KQML)

• Separation of protocol semantics from content semantics

• All of the information for understanding a message is included in the message

• A message structure (lisp like):

(KQML-performative:sender <word>:receiver <word>:language <word>:ontology <word>:content <expression>…)

Page 34: Agents Transacting in Open Environments

KQML

• Example:(tell

:sender Agent1:receiver Agent2:language KIF:ontology Stocks:content (AND (ibm) (intl))

…)

Page 35: Agents Transacting in Open Environments

Performative Categories

• Basic query performatives (ask-one, ask-all,...)• Multi-response query performatives (stream-in,..)• Response (reply, sorry,…)• Generic informational (tell, untell, achieve, …)• Generator (standby, ready, next, rest, …)• Capability definition (advertise, monitor, …)• Networking (register, broadcast, forward, …)

Page 36: Agents Transacting in Open Environments

Summary of KQML and FIPA Semantic Assumptions

 • KQML semantics presupposes a virtual

knowledge base for each agent.--Telling a fact corresponds to reporting on the knowledge base. Querying corresponds to the sending agent trying to extract a fact from the recipient’s knowledge base.

• KQML has only assertives and directives as primitives (performatives)

• KQML primitives cannot be composed.

Page 37: Agents Transacting in Open Environments

Summary of KQML and FIPA Semantic Assumptions, cont.

• FIPA presupposes that an agent has beliefs, intentions and can represent uncertainty about facts.The performance conditions define when an agent can perform a specific communicationRequire the agents to reason about each other’s beliefs and intentions and behave cooperatively and sincerely.

• FIPA primitives are also only directives and assertives• FIPA primitives can be composed• FIPA also discusses interaction protocols

Page 38: Agents Transacting in Open Environments

 Critique of KQML and FIPA ACLs (Singh, Computer 1998)

• They both emphasize communication based on mental agency, which is antithetical to autonomy and heterogeneity of agents.

• KQML and FIPA emphasize the sender’s perspective, though both sender and receiver should be considered equal

Page 39: Agents Transacting in Open Environments

Requirements for ACL that allows agent interoperation (Singh, Computer 1998)

• A useful ACL should be normative and have criteria for compliance• A useful ACL should consider the social context of the agents without imposition of

requirements for e.g. for the agents to be sincere.• Singh proposes, social semantics, I.e., communication should be based on agents’ social • context.

--agents belong to societies--agents play different roles within a society --roles entail social commitments to other roles within the society --an agent joins a society in one or more roles, thereby acquiring the role’s commitment--a role’s commitments are the restrictions of how an agent in that role must act and communicate --a protocol is defined as sets of commitments, rather than a finite state machine --designers can create specific protocols, hence societies, for different applications, e.g. e-commerce and publish the specifications of the societies and associated protocols.

Page 40: Agents Transacting in Open Environments

Interoperation among different MAS

--Mas can differ in:• ACL• MAS architecture• capability advertisements• default agent query preferences

Page 41: Agents Transacting in Open Environments

The RETSINA-OAA Interoperator (Giampapa et al Agents 2000)

• Goal: to allow any agent in RETSINA to access the services of any agent in OAA and vice versa

 • Differences --RETSINA is a system with matchmaker organization --OAA uses a Facilitator --RETSINA agents speak KQML with a structured content language --OAA agents speak Prolog --These two languages have different syntactic and semantic

structure

Page 42: Agents Transacting in Open Environments

RETSINA-OAA Interoperator Design Principles

• MAS interoperators should maintain distinct MAS boundaries

• MAS interoperators should be scalable • MAS interoperators should present increase in savings as new agents are added to

the interoperating MAs

• MAS interoperators should cross-register agent capabilities across MAS’s • MAS interoperational transparency: agents can dialogue across MAS’s without

being aware of the interoperator presence.

Page 43: Agents Transacting in Open Environments

The LARKS Project Language for Advertisement and Requests for Knowledge Sharing

in heterogeneous and dynamic agent societies.

to ‘match’ requests with relevant provider agents

Enables automated interoperability among heterogeneous agents in the Internet/WWW

http://www.cs.cmu.edu/~softagents/interop/matchmaking.html

Frame-based specification of ads and requests of agent capabilities. Optional use of a domain ontology. Automated processing of LARKS specifications.

Matchmaking Services via Matchmaker Agents using LARKS

What is LARKS about?

______________________

Sycara, Lu, Klusch, “Interoperability Among Heterogeneous Software Agents on the Internet”, CMU-RI-TR-98-22

Page 44: Agents Transacting in Open Environments

LARKS Protocol for providing the service

Matchmaking Using LARKS

Matchmaker Agent x

AdvertisementDBOntologyDBAuxiliaryDB

Requester AgentProvider Agent 1

Provider Agent n Local Ontology 1

Local Ontology n

Matching

Service Requestin LARKS

Result-of-Matching

Process Requeston Local IS IS

ISIS?

Capability Descriptions in LARKS

Page 45: Agents Transacting in Open Environments

Context of Specification

Type

Input

Output

InConstraints

OutConstraints

Input/Output Variable Declarations

Logical Constraints on Variables(Pre-/Post-Conditions)

Context Data Types Used in Variable Declarations

Specification in LARKS

Service Matching Parameters: Time, Cost, Quality, etc.

ConcDescriptions Ontological Description of Used Words

Constraints: set of definite program clauses/goals (Horn clauses) Concepts: ontological description of words in concept language ITL

Page 46: Agents Transacting in Open Environments

Context

InputOutput

OutConstraintsInConstraints

Attack, Air, Combat, Mission*AirMission

AirCombatMissions

missionTypes: SetOf(String);missionAirplanes: SetOf(String);missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);

Examples for Specification in LARKS

ConcDescriptions [AirMission]

Types Date = (mm: Int, dd: Int, yy: Int);

Agent Advertisement: “I can provide information about air combat missions in general.”

Page 47: Agents Transacting in Open Environments

Context

InputOutput

OutConstraints

InConstraints

Combat, Mission*AWAC-AirMission

AWAC-CombatMissions

missions: DeployedMission;

deployed(mID), mType = AWAC, launched_after(mID,mStart), launched_before(mID,mEnd).

ConcDescriptions [AWAC-AirMission]

Types Date = (mm: Int, dd: Int, yy: Int); DeployedMission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);

Agent Advertisement: “I can provide information about deployed and launched AWAC air combat missions. ”

Page 48: Agents Transacting in Open Environments

AWAC-AirMission (and AirMission (atleast 1 has-airplane) (atmost 1 has-airplane) (all has-airplane aset(E-2)) …)

AirMission (and Mission (atleast 1 had-airplane) (all has-airplane Airplane) (all has-MissionType aset(AWAC,BARCAP,CAP,DCA,HVAA))… )

DCA-AirMission (and AirMission (all has-MissionType aset(DCA)) (all has-F14 plane-F14D) (all has-F18 plane-F18) (atleast 2 has-F14) (atmost 2 has-F14) (atleast 2 has-F18) (atmost 2 has-F18) (atleast 2 has-E2) (atmost 2 has-E2) …). . .

(1) An Ontology written in the Concept Language ITL (Terminology):

(2) Concept Subsumption Hierarchy:

AirMission

AWAC-AirMission DCA-AirMission . . .

Example for Ontology

HVAA-AirMission

Page 49: Agents Transacting in Open Environments

Context

Input

Output

OutConstraintsInConstraints

Attack, Mission*AirMission

Req-AirCombatMissions

missions: Mission;

deployed(mID), launched_after(mID,sd), launched_before(mID,ed), (mType = AWAC;mType = CAP; mType = BARCAP; mType = DCA; mType = HVAA).

ConcDescriptions [AirMission]

Types Date = (mm: Int, dd: Int, yy: Int); Mission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);

Request: “Find an agent who can provide information on deployed air combat missions launched in a given time interval.”

sd: Date, ed: Date;

sd <= ed.

Page 50: Agents Transacting in Open Environments

Context

InputOutput

OutConstraints

InConstraints

Combat, Mission*F14-Mission

Req-DeployedF14CombatMissions

missions: Mission;

deployed(mID), launched_after(mID,mStart),launched_before(mID,mEnd).

ConcDescriptions F14-Mission (and AirMission (atleast 1 has-F14))

Types Date = (mm: Int, dd: Int, yy: Int); Mission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);

Request: “Find an agent who can provide information on deployed and launched air combat missions that contain F-14 airplanes.”

Page 51: Agents Transacting in Open Environments

Matchmaking Process

Syntactical Matching

Context Matching

Comparison of Profiles (TF-IDF)

Word Distances Distances in the Ontology (Weighted Associative Network)

Similarity Matching of Declarations and Constraints

Semantical Matching Logical Implication of Constraints

Main Steps:

Word Distances Subsumption or Equality of attached Concepts

(pairwise matching of specifications in LARKS)

Subsumption of Data Types Full Signature Matching of Declarations

Page 52: Agents Transacting in Open Environments

“Complete Matching”:

All filters.

“Relaxed Matching”:

No signature matching.

“Profile Matching” :

Comparison of profiles (TF-IDF) only.

“Plug-In Matching”:

Signature and semantical matching only.

Different Matching Modes

Page 53: Agents Transacting in Open Environments

Matchmaking Process: Simple Example

Request for Agent Capability in ‘Req-AirCombatMissions’ Advertisement of Agent Capability in ‘AWAC-AirCombatMissions’

Mode Plug-in Matching

Context Matching

Look-up/compute word distances for (Attack, Combat), (mission, Mission);All values exceed given threshold.Attached concepts are terminologically equal.

Syntactical Matching

Comparison of Profiles (TF-IDF) Profile similarity value of documents exceeds given threshold.Thus, proceed with

Page 54: Agents Transacting in Open Environments

Matchmaking Process: Simple Example (cont’d)

Syntactical Matching (ff.)

Apply Type Inference Rules for Computing Type Subsumption.

Input declarations -D11 = sd: Date, ed: Date; Output declarations -D12 = missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);D22 = missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date);

Result:Output declarations :signature(D12) = signature(D22)Input declarations: none in the advertisement.

Thus, proceed with

Full Signature Matching of Declarations

Page 55: Agents Transacting in Open Environments

Similarity Matching

Compute word distances in declarations and constraints

Matchmaking Process: Simple Example (cont’d)

Concepts attached to similar words: AirMission subsumes AWAC-AirMission.

Similarity value of two specifications:Average of sum of similarity computationsamong all pairs of declarations and constraints.

Similarity value for AWAC-AirCombatMissions and Req-AirCombatMissionsexceeds given threshold. Thus, proceed with

Page 56: Agents Transacting in Open Environments

Semantical Matching of Constraints

Matchmaking Process: Simple Example (cont’d)

OutConstraints in OutConstraints in AWAC-AirCombatMissions Req-AirCombatMissions:

InConstraints in InConstraints in Req-AirCombatMissions AWAC-AirCombatMissions:

sd <= ed;

deployed(mID),mType = AWAC, launched_after(mID,mStart), launched_before(mID,mEnd).

deployed(mID), launched_after(mID,sd), launched_before(mID,ed),(mType = AWAC; mType = CAP; mType = BARCAP; mType = DCA; mType = HVAA).

Page 57: Agents Transacting in Open Environments

Current Implementations of LARKS Project

Web-based Interface for Specification of Requests in LARKS Matchmaker module Knowledge management module (Concept classifier, KB)