D-SCRIPT: a COMPUTATIONAL THEORY of DESCRIPTIONS Artificial Intelligence
Total Page:16
File Type:pdf, Size:1020Kb
Session 8 Formalisms for D-SCRIPT: A COMPUTATIONAL THEORY OF DESCRIPTIONS Artificial Intelligence Robert C. Moore Massachusetts Institute of Technology Cambridge, Massachusetts Abstract 1.2 Problems In Representing Knowledge This paper describes D-SCRIPT, a language for representing knowledge in artificial Before presenting the details of D- Intelligence programs. D-SCRIPT contains a SCRIPT, we will try to give some Idea of the powerful formalism for descriptions, which type of problem It Is designed to solve. A permits the representation of statements that classic problem Is that of representing opaque are problematical for other systems. contexts. An opaque context is one which does Particular attention is paid to problems of not allow substitution of referentially opaque contexts, time contexts, and knowledge equivalent expressions or does not allow about knowledge. The design of a deductive existential quantification. For example the system for this language is also considered. verb "want" creates an opaque context: 1. Int roduction (1.1) John wants to marry the prettiest girl. 1.1 Ways of Representing; Knowledge This sentence is ambiguous. it can mean either: Methods advocated for representing knowledge in artificiall intelligence programs (1.2) John wants to merry a specific girl who have Included logical statements (McCarthy, also happens to bp the prettiest. Sandewall), semantic networks (Quillian, Schank), and procedures (Hewitt, Sussman and or: McDermott), All these approaches shpre one fundamental concept, the notion of (1.3) John wants to marry whoever is the predication. That Is, the basic data prettiest girl, although he may not know structure In each system Is some who that is. representation of a predicate applied to objects. In this respect, the various systems Under the first interpretation we can are more or less equivalent. But this basic substitute any phrase which refers to the same idea must be extended to handle problems of person for "the prettiest girl". That is, if quantification and knowledge about knowledge. the prettiest girl is named "Sally Sunshine", Mere the systems do differ. We will argue, from (1.2) we can infer: though, that these differences result from the descriptive apparatus used in the particular U.I*) John wants to marry a specific girl who systems being compared, rather than from an also happens to be named Sally Sunshine. inherent advantage of, say, procedures over declaratives or vice versa. We cannot make the corresponding inference Advocates of PLANNER (e.g. Winograd, p. from (1.3). It will not be true that: 2153 have argued that the predicate calculus cannot represent how a piece of knowledge (1.5) John wants to marry whoever is named should be used. But this is true only of the Sally Sunshine, although he may not know first-order predicate calculus. In a higher- who that is. order or non-ordered declarative language, statements could be made which would tell a Because of this property, (1.2) is called the theorem prover how other statements are to be transparent reading of (1.1) and (1.3) is used. PLANNER, on the other hand, has no way called the opaque reading. It Is almost of directly stating an existential always the case that sentences having an quantification, but this does not mean that opaque reading are ambiguous with the other procedural languages are necessarily Incapable reading being transparent. of handling that problem. To illustrate blocking of existential Our belief, then. Is that the type of quantification, consider: system used to represent knowledge Is unimportant, so long as It has sufficient (1.6) John wants to marry a blonde. expressive power. This paper presents an attempt at such a system, the language D- Again the sentence Is ambiguous, meaning SCRIPT. As the name implies, the most either: Interesting feature of D-SCRIPT is Its powerful formalism for descriptions, which (1.7) John wants to marry a specific girl, who enables it to represent statements that are also happens to be a blonde. problematical in other systems. No position will be taken as to what kind of language D- or: SCRIPT is. Since It is intended to answer questions by making deductions from a data (1.8) John has no particular girl In mind, but base, it can be thought of as a theorem he wants whoever he does marry to be a prover. Since it operates by comparing blonde. expressions like the data-base languages of PLANNER and CONNIVER, It can be thought of as We can existentially quantify over the first a pattern-matching language. And since It Is reading but not the second. We can Infer: Turing universal and. In fact, includes the lambda calculus. It can be thought of as a (1.9) There exists someone whom John wants to programming language. marry. 223 from (1.7), but not from (I.8). their arguments. The rules for evaluating Another problem is the occurrence of expressions are largely adapted from LISP. In descriptive phrases In sentences i nvolvlng fact, D-SCRIPT variables and forms are treated time reference. In the sentence: just like LISP atoms and lists, respectively. Rather than introducing "QUOTE", however, we (1.10) The President has been married since use constants and lists to represent pre 1945. defined Items. To state our rules formally: the phrase "the President" refers to an 1. A constant evaluates to Itself. Individual. In the sentence: 2. A variable evaluates to the expression (1.11) The President has lived in the White which It has been assigned. Mouse since 1800. 3. The value of a form Is the result of "the President" refers to each President In applying Its first element to the values of turn. Its remaining elements. This will not be Another type of sentence where the defined In general, but only for those reference of a phrase depends on time Is expressions which represent meaningful Illustrated by: operations In D-SCRIPT. One such case Is that of lambda-expressions. A lambda- (1.12) John met the President In 1960. expression is represented in D-SCRIPT by a form containing the constant "LAMBDA", This sentence is ambiguous, but unlike (1.11), followed by a list of variables, followed each Interpretation refers to only one person. by an expression (e.g. "<LAMBDA (?X ?Y) The ambiguity Is whether "the President" <TIMES ?X ?Y>>"). A form whose first refers to the President at the time (1.12) is element Is a lambda-expression is evaluated asserted, or the President in 19C0. in the same way as a corresponding LISP representing knowledge about knowledge expression. The result is the value of the raises some interesting issues. For Instance, body of the lambda-expression, with the in: values of the arguments assigned to the corresponding variab les. For Instance, (1.13) John knows Bill's phone numher. assuming "+" has the usual meaning, "<<LAMBDA (?X) <+ 2 ?X>> 3>" has the same how is John's knowledge to be represented? In value as "<+ 2 3>", which Is "5". We will John's mind It might be something like: introduce other types of forms whose value is defined when we explain the (1.14) (PHONE-NUM BILL 987-651(3) representation of statements. So, (1.13) might be: 4. A list evaluates to a form with Identical structure, except that free variables are (1,15) (KNOWS JOHN (PHOMF-NUM BILL 987-6543)) replaced by their values. If "?X" has previously been assigned the value "A", The trouble with (1.15) is that It includes then "(LAMBDA (?Y) CFOO ?X ?Y)) will too much Information. Not only does It say evaluate to "<LAMBDA C?Y) CFOO A ?Y)>". what (1.13) says, it also says what the number La- The difficulty is to refer to a piece of It is worth noting that the way lambda- Information without stating it. expressions and lists are defined makes it For all these types of sentences, D- very easy to write functions which construct SCRIPT provides representations which allow complex forms. For example, consider "<LAMBDA the correct deductions to be made. Further, C?X) (F00 (BAR (GRITCH ?X)))>". The result of it provides separate representations for each applying this to "Z" is "<F00 (BAR (GRITCII meaning of the ambiguous sentences, and these Z))>". A comparable LISP function would have representations are related In a way that to be built up with "C0MS" 's to achieve this explains the ambiguity. result. 2. The D-SCRIPT Language 2.2 Representing Knowledge in D-SCRIPT 2.1 P-SCRIPT Expressions The most basic statements are those which express simple predication. A statement of D-SCRIPT contains the following types of this kind Is represented In D-SCRIPT by a form expressions: whose first element Is a constant representing the predicate and whose other elements are 1. constants constants representing the objects of the 2. variables predicate. For example: 3. forms 4. lists (2.1) The sun is a star. C2.2) BlockA is on BlockB. A constant Is any alpha-numeric (I.e. only letters or numbers) character string (e.g. could be represented as: "F00", "BL0CK5"). A variable Is any alpha numeric character string prefixed by "?" (e.g. (2.3) <STAR SUN> "?X"). A form Is any sequence of expressions (2.It) <0N BLOCKA BL0CKB> enclosed In angle-brackets (e.g. "<X Y ?Z>"). A list Is any sequence of expressions enclosed A simple statement about a statement, such as: In parentheses (e.g. "(F00 A <BAR B C>)"). D-SCRIPT observes the convention that all functions, predicates, and operators evaluate 224 (2.5) John believes the sun Is a star. (2.13) Every boy either loves Santa Claus or would be: hates him.