Content languages EEL 5937 Multi Agent Systems Lecture

  • Slides: 13
Download presentation
Content languages EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni

Content languages EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni EEL 5937

Place of content language in the communication • The agent communication languages (ACL) are

Place of content language in the communication • The agent communication languages (ACL) are expressing: – The performative of the speech act – The source and destination of the message • Still need to do: – The language in which the content of the message is written – The ontology (or ontologies), to which the content refers • These are NOT trivial things! EEL 5937

Content languages in FIPA-ACL • The content language is indicated by the “language” parameter

Content languages in FIPA-ACL • The content language is indicated by the “language” parameter in the message. • A couple of content languages are endorsed by FIPA. – SL (FIPA Semantic Language) – CCL - Constraint Choice Language » A language based on the representation of choice problems as constraint satisfaction problems. – KIF - Knowledge Interface Format » Introduced for backward compatibility from KQML – RDF - extensions to the RDF framework to represent Objects, Propositions and Actions • You can invent your own… – But don’t expect FIPA to love you. – Still, if interoperability is not a goal, one can stop at the level of abstraction of the ACL. EEL 5937

FIPA ACL, Semantic Language, SL • The preferred content language in FIPA ACL •

FIPA ACL, Semantic Language, SL • The preferred content language in FIPA ACL • Quantified, multi-modal logic with operators for beliefs, desires, uncertain beliefs and intentions • Can represent propositions, objects and actions • LISP like notation. • For a complete description, see: – http: //www. fipa. org/specs/fipa 00008/SC 00008 I. html EEL 5937

Content expressions • These are the top level expressions in SL, which can be

Content expressions • These are the top level expressions in SL, which can be included in the content field of the ACL messages. – A proposition, which may be assigned a truth value in a given context. Precisely, it is a well-formed formula (Wff) using the rules described in the Wff production. A proposition is used in the inform communicative act (CA) and other CAs derived from it. – An action, which can be performed. An action may be a single action or a composite action built using the sequencing and alternative operators. An action is used as a content expression when the act is request and other CAs derived from it. – An identifying reference expression (IRE), which identifies an object in the domain. This is the Referential operator and is used in the inform-ref macro act and other CAs derived from it. EEL 5937

Well formed formulas in SL • (not <Wff>) – Negation. The truth value of

Well formed formulas in SL • (not <Wff>) – Negation. The truth value of this expression is false if Wff is true. Otherwise it is true. • (and <Wff 0> <Wff 1>) – Conjunction. This expression is true iff[2] well-formed formulae Wff 0 and Wff 1 are both true, otherwise it is false. • (or <Wff 0> <Wff 1>) – Disjunction. This expression is false iff well-formed formulae Wff 0 and Wff 1 are both false, otherwise it is true. • (implies <Wff 0> <Wff 1>) – Implication. This expression is true if either Wff 0 is false or alternatively if Wff 0 is true and Wff 1 is true. Otherwise it is false. The expression corresponds to the standard material implication connective Wff 0 Þ Wff 1. • (equiv <Wff 0> <Wff 1>) – Equivalence. This expression is true if either Wff 0 is true and Wff 1 is true, or alternatively if Wff 0 is false and Wff 1 is false. Otherwise it is false. EEL 5937

Well formed expressions in SL (cont’d) • (forall <variable> <Wff>) – Universal quantification. The

Well formed expressions in SL (cont’d) • (forall <variable> <Wff>) – Universal quantification. The quantified expression is true if Wff is true for every value of the quantified variable. • (exists <variable> <Wff>) – Existential quantification. The quantified expression is true if there is at least one value for the variable for which Wff is true. • (B <agent> <expression>) – Belief. It is true that agent believes that expression is true. • (U <agent> <expression>) – Uncertainty. It is true that agent is uncertain of the truth of expression. Agent neither believes expression nor its negation, but believes that expression is more likely to be true than its negation. • (I <agent> <expression>) – Intention. It is true that agent intends that expression becomes true and will plan to bring it about. • (PG <agent> <expression>) – Persistent goal. It is true that agent holds a persistent goal that expression becomes true, but will not necessarily plan to bring it about. EEL 5937

Well formed expressions in SL (cont’d) • (feasible <Action. Expression> <Wff>) – It is

Well formed expressions in SL (cont’d) • (feasible <Action. Expression> <Wff>) – It is true that Action. Expression (or, equivalently, some event) can take place and just afterwards Wff will be true. • (feasible <Action. Expression>) – Same as (feasible <Action. Expression> true). • (done <Action. Expression> <Wff>) – It is true that Action. Expression (or, equivalently, some event) has just taken place and just before that Wff was true. • (done <Action. Expression>) – Same as (done <Action. Expression> true). EEL 5937

Referential operators in SL • (iota <term> <formula>) – The iota operator introduces a

Referential operators in SL • (iota <term> <formula>) – The iota operator introduces a scope for the given expression (which denotes a term), in which the given identifier, which would otherwise be free, is defined. An expression containing a free variable is not a well-formed FIPA SL expression. The expression (iota x (P x)) may be read as “the x such that P [is true] of x”. The iota operator is a constructor for terms which denote objects in the domain of discourse. • (any <term> <formula>) – The any operator is used to denote any object that satisfies the proposition represented by formula. • (all <term> <formula>) – The all operator is used to denote the set of all objects that satisfy the proposition represented by formula. EEL 5937

Examples Suppose agent A has the following knowledge base KB={P(A), Q(1, B)}. This example

Examples Suppose agent A has the following knowledge base KB={P(A), Q(1, B)}. This example shows a successful interaction between agent A and B that make use of the all operator. (query‑ref : sender (agent-identifier : name B) : receiver (set (agent-identifier : name A)) : content "((all (sequence ? x ? y) (q ? x ? y)))" : language fipa-sl : reply‑with query 1) (inform : sender (agent-identifier : name A) : receiver (set (agent-identifier : name B)) : content "(( = (all (sequence ? x ? y) (q ? x ? y)) (set(sequence 1 a)(sequence 1 b))))" : language fipa-sl : in‑reply‑to query 1) EEL 5937

Reduced expressivity subsets. • The FIPA SL definition given above is a very expressive

Reduced expressivity subsets. • The FIPA SL definition given above is a very expressive language, but it has an implementation cost to the agent and introduces problems of the decidability of modal logic. • To allow simpler agents, or agents performing simple tasks, FIPA introduced semantic and syntactic subsets of the full FIPA SL EEL 5937

Reduced expressivity subsets of SL • FIPA SL 0 – It allows the representation

Reduced expressivity subsets of SL • FIPA SL 0 – It allows the representation of actions, the determination of the result a term representing a computation, the completion of an action and simple binary propositions. • FIPA SL 1 – extends the minimal representational form of FIPA SL 0 by adding Boolean connectives to represent propositional expressions • FIPA SL 2 – Profile 2 of FIPA SL allows first order predicate and modal logic, but is restricted to ensure that it must be decidable. Well -known effective algorithms exist that can derive whether or not an FIPA SL 2 Wff is a logical consequence of a set of Wffs (for instance KSAT and Monadic). EEL 5937

Implementation concerns • Should you use SL for your project? • JADE – –

Implementation concerns • Should you use SL for your project? • JADE – – – Supports parsing of SL messages (jade. content. sl) Has classes defining the different vocabularies. Has interfaces for the structure of the SL expression. So the syntax is not a problem Semantics is: you still need to do the understanding yourself The JADE developers are working on it. • Bond – We are also working on it. • Conclusion: – The use of the SL syntax (e. g. SL 0) is preferable for the class projects. – It is not a requirement. EEL 5937