multi-agent systems lecture 3 university “politehnica” of bucarest 2004-2005 adina magda...
Click here to load reader
Post on 13-Jan-2016
Embed Size (px)
Multi-Agent SystemsLecture 3
University Politehnica of Bucarest2004-2005
Adina Magda Floreaadina@cs.pub.ro
Agent communicationLecture outlineThe nature of communicationIndirect communicationDirect communicationAgent Communication LanguagesContent languagesOntologiesTheory of speech actsKQMLFIPA and FIPA-ACLInteraction protocols
1. The nature of communication1.1 Human communicationCommunication 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) languageCommunication seen as an action (communicative act) and as an intentional stance1.2 Component steps of communicationSpeakerHearer Intention Perception Generation Analysis Synthesis Disambiguation Incorporation*
1.3 Artificial Communicationlow-level language vs high-level languagesdirect communication vs. indirect communicationComputer communicationshared memory message passingAgent communication/ MAS communicationlow-level communication: simple signals, traces, low-level languageshigh-level communication - cognitive agents, mostly seen as intentional systemsCommunication in MAS = more than simple communication, implies interactionThe environment provides a computational infrastructure where interactions among agents take place. The infrastructure includes protocols for agents to communicate and protocols for agents to interact
Communication protocols = enables agents to exchange and understand messagesInteraction protocols = enable agents to have conversations, i.e., structured exchanges of messages
Aim Communication enables agents to:coordinate their actions and behavior, a property of a MAS performing some activity in a shared environmentattempt to change state of the other agentsattempt to make the other agents perform some actions*
2. Indirect communication2.1 Signal propagation - Manta, A. Drogoul 1993An agent sends a signal, which is broadcast into the environment, and whose intensity decreases as the distance decreasesAt a point x, the signal may have one of the following intensitiesV(x)=V(x0)/dist(x,x0) or V(x)=V(x0)/dist(x,x0)2*2.2 Trails - L. Steels, 1995agents drop "radioactive crumbs" making trailsan agent following a trail makes the trail faint until it disappearsReactive agents
2.3 Blackboard systems, Barbara Hayes-Roth, 1985Blackboard = a common area (shared memory) in which agents can exchange information, data, knowledgeAgents initiates communication by writing info on the blackboardAgents are looking for new info, they may filter itAgents must register with a central site to receive an access authorization to the blackboardBlackboard = a distributed knowledge computation paradigmAgents = Knowledge sources (KS)
3. Direct communicationSending messages method invocation Actorsexchange of partial plans coordination of cooperative agentsACL = Agent Communication LanguagesNeed to communicate knowledge knowledge representationNeed to understand the message in a context ontologiesCommunication is seen as an action - communicative acts*
3.1 Agent Communication LanguagesConcepts (distinguish ACLs from RPC, RMI or CORBA, ORB):An ACL message describes a desired state in a declarative language, rather than a procedure or method invocationACLs handle propositions, rules, and actions instead of objects with no associated semantics - KRACLs are mainly based on BDI theories: BDI agents attempt to communicate their BDI states or attempt to alter interlocutor's BDI state Cognitive AgentsACLs are based on Speech Act Theory Communicative ActsACLs refer to shared OntologiesAgent behavior and strategy drivecommunication and lead to conversations - Protocols*
Communication primitivesand protocolsContent languagesKIFPrologClipsSQLFIPA-SL, FIPA-KIFOntologiesDAMLOWL*Origins of ACLsKnowledge Sharing Effort - DARPA, 1990 External Interface Group - interaction between KBS - KQML Interlingua - common language of KB - KIF Shared, Reusable Knowledge Bases - OntolinguaDARPA Agent Markup Language (August 2000).The goal of the DAML effort is to develop a languageand tools to facilitate the concept of the Semantic Web.
*3.2 Content languages for ACL(Knowledge representation)
Description Logics (DL) - a formalism for expressing concepts and their interrelationships.In DL, concepts are organized into IS-A hierarchies.Concepts are specifications such that given an individual (object instance) a DL system can recognize the individual and determine which concepts it belongs to.DL systems also perform subsumption checking.
Knowledge Interchange Format (KIF) - is based on first order predicate logic and has a LISP-like prefix syntax. KIF is capable of expressing facts and complex relationships (rules).KIF provides constructs for describing procedures, i.e. programs to (possibly) be executed by an agent.
*Knowledge Interchange Format (KIF)
Facts(salary 015-46-3946 john 72000)(salary 026-40-9152 michael 36000)(salary 415-32-4707 sam 42000) Asserted relation (> (* (width chip1) (length chip1)) (* (width chip2) (length chip2)))Rule(=> (and (real-number ?x) (even-number ?n)) (> (expt ?x ?n) 0))Procedure(progn (fresh-line t)(print "Hello!")(fresh-line t))
*3.3 OntologiesOntology = a specification of objects, concepts, and reationships in a particular domain; it comprises a vocabulary, a domain theory and a conceptual schemata to describe organization and interpretationAn ontology is more than a taxonomy of classes, it must also describe relationshipsLexicalized ontologies (WordNet, EuroWordNet, BalkanNet, FrameNet, MikroKosmos).Ontologies for knowledge representationImplicit ontologies (class libraries of OOP)PersonPupilStudEmplSun_EIBM_EPersonEmplWomanStudManJoeAliceJoeAlice
*x (Block x) (PhysicalObject x)Instead of saying (Block A)(InstanceOf A Block)Define the hierarchy(Class Block)(Class PhysicalObjects)(SubclassOf Block PhysicalObjects) x,y,z (InstanceOf x y) (SubclassOf y z) (InstanceOf x z)Ontology editors = frame-based KR systems that allow the user to define an ontology and its components: classes, instances, relationships, and functions
OWL - Web Ontology LanguageW3COWL - designed for use by applications that need to process the content of information instead of just presenting information to humans.OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics.OWL has three increasingly-expressive sublanguages:OWL Lite supports a classification hierarchy and simple constraints.OWL DL supports maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time).OWL Full supports maximum expressiveness and the syntactic freedom of RDF with no computational guarantees.
OWL - Web Ontology LanguageOntology header An example OWL ontology Wine Ontology Simple Named ClassesClass, rdfs:subClassOf
3.4 Theory of Speech ActsJ. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969A speech act has 3 aspects:locution = physical utterance by the speakerillocution = the intended meaning of the utterance by the speaker (performative)prelocution = the action that results from the locutionAlice told Tom: "Would you please close the door"locutionillocutioncontentprelocution: door closed (hopefully!)Illocutionary aspect - several categoriesAssertives, which inform: the door is shutDirectives, which request: shut the door, can pelicans fly?Commissives, which promise something: I will shut the doorPermissive, which gives permission for an act: you may shut the doorProhibitives, which ban some act: do not shut the doorDeclaratives, which causes events: I name you king of RuritaniaExpressives, which express emotions and evaluations: I am happy*
3.5 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 ontologyKQML separates:semantics of the communication protocol (domain independent)semantics of the message (domain dependent)3 (conceptual) layers
*Describes low levelcommunication parameters:- identity of sender and receiver- an 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
SyntaxS-expressions used in LISPKQML performatives are classified:Queries - These performatives are used to send questions for evaluation somewhere. Generative - Used for controlling and initiating the exchange of messages.Response - Used by a agent in order reply to queries. Informational - Informational performatives are used to transfer information. Capability definition - Allows an agent to learn about the capabilities of other agents and to announce its own to the agent community. Networking - Networking performatives make it possible to pass directives to underlying communication layers.
Example(ask-one :sender joe:receiver ibm-stock:reply-with ibm-stock:language PROLOG:ontology NYSE-TICKS: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, ask-if, str