Adding Epistemic Operators to Concept Languages

11 downloads 0 Views 246KB Size Report
a highly expressive query language; allow for the treatment ... the expressive power of query languages, without in- creasing the ... order logic) that both have natural interpretations and ...... let rel(R) consist of the tuples ha; bi such that aRb is.
Adding Epistemic Operators to Concept Languages Francesco M. Donini, Maurizio Lenzerini Daniele Nardi, Andrea Schaerf Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113, I-00198 Roma, Italy

Abstract We investigate the use of epistemic operators in the framework of concept languages (also called terminological languages). The results of this work have a twofold signi cance. From the point of view of epistemic logics, our contribution is to have identi ed an effective procedure for the problem of answering epistemic queries posed to a knowledge base expressed in the concept language ALC . From the point of view of concept languages, the most relevant aspect of our work is that we have reconstructed in logic several common features of existing knowledge representation systems. Epistemic operators provide a highly expressive query language; allow for the treatment of several database features, such as closed world reasoning and integrity constraints; and nally can give a formal characterization of some procedural mechanisms, such as trigger rules, usually considered in frame-based systems.

1 Introduction A substantial amount of research has been carried out in the last decade with the aim of providing a logical reconstruction of frame-based knowledge representation languages. Much of this work has taken place in the context of concept languages (also called terminological languages or term subsumption languages). An important part of it has been concerned with both the study of reasoning techniques (e.g. subsumption algorithms) in concept languages, and the characterization of their computational complexity. Recent results [3, 4, 5, 13, 18] indicate that the crucial properties of a rst order characterization of concept languages are now well understood, with regard to both expressive power of language constructs, and computational complexity of reasoning. Nevertheless, it is a common opinion that several issues

Werner Nutt

German Research Center for Arti cial Intelligence (DFKI) Stuhlsatzenhausweg 3 D-6600 Saarbrucken, Germany have still to be addressed in order to build principled practical systems based on concept languages (see for example [7, 20]). The following issues, among others, are considered especially important:  providing knowledge representation systems based on concept languages with powerful and sophisticated querying capabilities;  making concept languages able to interface with databases;  providing a formal account of several mechanisms generally used in implemented systems, such as trigger rules [2, 21] or default rules, that are not directly expressible in rst order logic. Recent work on data and knowledge bases exploits the use of epistemic operators for improving both the expressiveness of knowledge representation languages and their associated querying facilities. In particular, it has been argued that queries should be permitted to address aspects of the external world as represented by the knowledge base, as well as aspects of what the knowledge base knows about the external world (see [10, 12, 16]). The need for such a distinction is evident when a knowledge base contains incomplete information about individuals. Incompleteness may come in via existential quanti cation: for example, a knowledge base may know that the individual susan has at least one male friend (because it was told so), without knowing who this friend is. Incompleteness may also arise from disjunction: for example, a knowledge base may know that andrea is a person, and that all persons are either male or female,1 without knowing exactly andrea's sex. The aim of our work is to propose a formal framework for adding epistemic operators to concept languages. Our opinion is that such a framework is the appropriate one for studying several extensions of concept lan1 Notice that this is just a piece of knowledge and not an integrity constraint.

guages in order to go beyond their rst order formalization, and to meet the most important requirements for the design of principled practical systems based on concept languages. Here we focus on the use of epistemic operators both in the query language, which allows also for the treatment of integrity constraints and closed-world reasoning, and in the formalization of trigger rules. The basic building block of our proposal is the de nition (Section 2) of a new concept language, called ALCK, obtained from ALC [18] (a powerful concept language including conjunction, disjunction, and negation of concepts, together with existential and universal quanti cation on roles) by adding an epistemic operator in the spirit of [10, 12, 16]. One result of our work is the design of a technique (Section 3) for answering epistemic queries expressed in ALCK. The technique is an extension of the tableaux-based method described in [4], which has been proved extremely useful for solving several reasoning and complexity problems in concept languages. Our study shows that epistemic operators can be very useful for the design of more powerful knowledge representation systems based on concept languages. In particular, we show that epistemic operators enhance the expressive power of query languages, without increasing the computational complexity of query answering (Section 4). In addition we have found interesting cases where the use of epistemic operators allows one to express queries (not expressible in rst order logic) that both have natural interpretations and are strictly less costly than their rst order counterparts. Moreover, epistemic operators make several basic features of database systems available within concept languages (Section 5), allowing for the construction of knowledge representation systems where part of the knowledge is expressed using database models, with no mismatch between di erent portions of the knowledge base. Speci cally, such operators can be used to query the knowledge base under the closed world assumption, to express integrity constraints over a knowledge base, and to make concept languages at least as expressive as relational database languages. We also show (Section 6) how ALCK can be used to provide a semantical characterization of a procedural mechanism considered in several frame-based systems, namely, trigger rules.

terest in a particular application, through the notions of concept and role. Intuitively, concepts represent the classes of objects in the domain of interest, while roles represent relationships between concepts. Complex concept expressions can be de ned by means of a number of language operators, applied to primitive concepts and roles. The syntax and semantics of ALC are as follows. We assume that two alphabets of symbols, one for primitive concepts, and one for primitive roles, are given. The letter A will always denote a primitive concept, and the letter P will denote a role, which in ALC is always primitive. The concepts (denoted by the letters C and D) of the language ALC are built out of primitive concepts and primitive roles according to the syntax rule: C; D ?! A j (primitive concept) >j (top) ?j (bottom) C u D j (intersection) C t D j (union) :C j (complement) 8P .C j (universal quanti cation) 9P .C (existential quanti cation):

2 Epistemic Concepts and Knowledge Bases

An interpretation I is a model for a concept C if C I is nonempty. A concept is satis able if it has a model and unsatis able otherwise. We say that C is subsumed by D if C I  DI for every interpretation I . Let O be an alphabet of symbols, called individuals. Syntactically, instance-of relationships are expressed in terms of membership assertions, each one either of the form C (a) (meaning a is an instance of C ) or P (a; b) (meaning a is related to b by means of P ),

We make use of the concept language ALC (see [4, 18]) to de ne a knowledge base.2 Concept languages allow one to express the knowledge about the classes of in2 Although we restrict our attention to ALC , our framework can be applied to other languages as well.

In the following, we use parentheses whenever we need to disambiguate concept expressions. For example, we shall write (9P .D) u E to mean that the concept E is not in the scope of 9P . Let , called the domain, be a countably in nite set of symbols p1 ; p2; : : :, called parameters. An interpretation I is a function that maps every concept to a subset of  and every role to a subset of   , in such a way that the following equations are satis ed: >I =  ?I = ; (C u D)I = C I \ DI (C t D)I = C I [ DI (:C )I =  n C I (8P .C )I = fp1 2  j 8p2 : (p1; p2) 2 P I ! p2 2 C I g (9P .C )I = fp1 2  j 9p2 : (p1; p2) 2 P I ^ p2 2 C I g:

where a and b are individuals, C is a concept, and P is a role. Formally, the meaning of membership assertions is speci ed as follows. Let be a xed, injective function from O to  (i.e. each individual is associated with a unique parameter), and I be an interpretation. An assertion C (a) is satis ed by I if (a) 2 C I . Similarly, an assertion P (a; b) is satis ed by I if ( (a); (b)) 2 P I . A nite set of membership assertions is called an ALC -knowledge base. An interpretation I is a model of a knowledge base  if I satis es all its assertions.  is satis able if it has a model. The set of models of  is denoted as M().  logically implies  (written  j= ), where  is a membership assertion, if every model in M() satis es . In so-called terminological systems, the knowledge base also includes an intensional part, called terminology, expressed in terms of concept de nitions, which are usually assumed to be acyclic (i.e. in the de nition of concept C neither direct nor indirect reference to C itself may occur). It is well known that any reasoning process over knowledge bases comprising an acyclic terminology can be reduced to a reasoning process over a knowledge base with an empty terminology, since one can substitute every concept name in the assertions with the corresponding de nition (see [14] for a discussion on this topic). For this reason, without loss of generality we conceive a knowledge base as just a set of assertions. In the standard approach, querying a knowledge base  means asking whether C (a) (or P (a; b)) is logically implied by . The semantics associated with concept languages is an open world semantics: the answer to a query Q will be YES if Q is true in every model of , NO if Q is false in every model, and UNKNOWN otherwise. The use of epistemic operators in the query language allows for a more sophisticated interaction with the system, as we will see in the next sections. Generally speaking, we follow [16], and use K to mean that the system knows that is true in every model of . We now introduce the language ALCK, which is an extension of ALC with epistemic operators and is de ned by the following syntax (where C; D denote concepts, R denotes a role, A denotes a primitive concept and P a primitive role):

C; D ?! A j C u D j C t D j :C j 8R.C j 9R.C j KC R ?! P j KP: We give the semantics of ALCK by adapting the semantics presented in [10, 12, 16] to the framework of concept languages. An epistemic interpretation is a pair (I ; W ) where I is an interpretation and W is a set of interpretations such that the following equations

are satis ed:3

>I W =  ?I W = ; ;

;

AI W PI W (C u D)I W (C t D)I W (:C )I W (8R.C )I W

AI PI C I W \ DI W C I W [ DI W  n CI W fp1 2  j 8p2. (p1; p2) 2 RI W ! p2 2 C I W g (9R.C )I W = fp1 2  j 9\ p2. (p1; p2) 2 RI W ^ p2 2 C I W g (KC )I W = (C J W ) ;

;

;

;

;

;

= = = = = =

;

;

;

;

;

;

;

;

;

;

;

(KP )I W = ;

;

J2W

\

J2W

(P J W ): ;

Notice that, since the domain is xed independently of the interpretation, it is meaningful to refer to the intersection of the extensions of a concept in di erent interpretations. It follows that KC is interpreted in W as the set of objects that are instances of C in every model belonging to W . In this sense, KC represents those objects known to be instances of C . An ALCK-knowledge base T is a nite set of membership assertions whose concepts and roles belong to the language ALCK. An epistemic model of T is a pair (I ; W ), where I 2 W and W is any maximal set of interpretations such that for each J 2 W , every assertion of T is true in (J ; W ). T is said to be satis able if there exists an epistemic model of T , unsatis able otherwise. T logically implies an assertion  if  is true in every epistemic model of T . Note that, if  does not contain epistemic operators, it is an ALC -knowledge base, and its epistemic models are the pairs (I ; W ), such that W is the set M() of ordinary models of . Let T be an ALCK-knowledge base and let  be an ALC -knowledge base (hence  is rst order). An epistemic -model of T is a pair (I ; M()) with I 2 M() such that every assertion in T is true in (I ; M()). T is said to be -satis able if there exists an epistemic -model of T , -unsatis able otherwise. Let C be an ALCK-concept, we write T j C (a) to mean that every epistemic -model of T satis es C (a), and we write  j C (a) to mean  j C (a).4 It is easy to verify that  j C (a) if and only if the ALCKknowledge base  [f:C (a)g is -unsatis able. Let us now introduce the notion of answer to a query. 3 Notice that if one discards and W in the equations, one obtains the standard semantics of ALC . 4 Since  is rst order, this means that for every model I 2 M() the membership ( ) is true in (I M()). K

C a

;

De nition 2.1 Given an ALC-knowledge base , an ALCK-concept C , and an individual a, the answer to the query C (a) posed to  is YES if  j C (a), NO if  j :C (a), and UNKNOWN otherwise. Moreover, the answer set of C w.r.t.  is the set fa 2 O j  j C (a)g, where O is the set of individuals appearing in .

We end this section with an example illustrating three epistemic queries. Example 2.2 Consider the ALC-knowledge base 1 and the following three ALCK-queries: 1 = fFRIEND(john; susan); FRIEND(john; peter); LOVES(susan; peter); LOVES(peter; mary) 8LOVES.:Male(john); Married u 9FRIEND.Male(susan); Male(peter); :Married(mary)g: Query 1: 9FRIEND.Male(susan), i.e., is there a friend of susan's who is male? Answer: YES. Query 2: 9KFRIEND.KMale(susan), i.e., is there someone that is known to be both a friend of susan's and male? Answer: NO. Query 3: 9KLOVES.:KMarried(susan), i.e., is there someone that is known to be loved by susan that is not known to be married? Answer: YES (peter). The answer to Query 1 is justi ed by the explicit assertion 9FRIEND.Male(susan). The answer to Query 2 is explained by the fact that fp j ( (susan); p) 2 (KFRIEND)I W g is empty, for any model (I ; W ) of 1 . In other words, the knowledge base knows that susan has a male friend, but it does not know who he is, and therefore, when taking the intersection of the extensions of FRIEND in the models of 1 , all the pairs ( (susan); p) are ruled out. On the other hand, the answer to Query 3 is YES, since the knowledge base knows that susan loves peter, and it does not know that peter is married, because peter is not in (KMarried)I W . ;

;

3 The Calculus for Query Answering The problem of designing methods for epistemic query answering is dealt with in [10, 16]. In [16], a procedure is presented that is sound and complete if the query satis es some syntactic constraints. However, not all epistemic concepts belonging to ALCK satisfy such constraints (for example, the formula corresponding to 9P .:KC (a) is not admissible in [16]). On the other hand, the method proposed in [10] has been conceived within a more general framework, and its specialization to the case of concept languages does not provide an e ective procedure. It follows that none of these approaches can be directly applied in our setting. As we said in Section 2, one way to answer epistemic queries posed to an ALC -knowledge base 

is to check whether the ALCK-knowledge base obtained by adding to  the negation of the query is -unsatis able. In this section we present a general method for the problem of checking whether an ALCK-knowledge base is -satis able, where  is an ALC -knowledge base. Let V be a set of variables. The elements of V will be denoted by x; y, while the elements of O [ V (called objects) will be denoted by w; z . Finally, the elements of O will be denoted by a; b. A constraint is a syntactic structure of one of the forms: w: C; wRz; where C is an ALCK-concept and R is an ALCK-role. A constraint system is a nite set of constraints of the above forms. In order to assign a meaning to constraints, we need the following de nitions. An assignment () is a function from O [ V into , such that jO = , i.e. is an extension of to variables. Let (I ; W ) be an epistemic interpretation, and let be an assignment. The triple (I ; W ; ) is said to satisfy the constraint w: C if (w) 2 C I W . Similarly, (I ; WI; W ) satis es the constraint wRz if ( (w); (z )) 2 R . Let S be a constraint system, and let  be an ALC -knowledge base. (I ; W ; ) is a solution of S if (I ; W ; ) satis es all of its constraints. S is said to be -solvable if there is a triple (I ; M(); ) that is a solution of S . If there is no such solution, then S is said to be -unsolvable. Given an ALC -knowledge base , we de ne S to be the constraint system that includes one constraint a: C for each assertion C (a) of , and one constraint aRb for each assertion R(a; b) of  (see [8]). The next proposition shows that answering a query posed to a knowledge base  can be reduced to checking a particular constraint system for -solvability. ;

;

Proposition 3.1 Let  be an ALC-knowledge base, C be an ALCK-concept, and a an individual. Then  j C (a) i S [ fa: :C g is -unsolvable. An ALCK-concept is said to be simple if every complement appearing in it is either of the form :A or of the form :KC , where C is simple. Every ALCK-concept

can be rewritten in linear time into an equivalent simple concept. In the rest of the paper we assume to deal only with simple concepts. We say that wRz holds in a constraint system S if either 1. R is P , and wPz 2 S , or 2. R is KP , w; z 2 O, and wPz 2 S . When checking the satis ability of a constraint system, the following set of completion rules are used (S denotes a constraint system):

1. S !u fw: C1; w: C2g [ S if w: C1 u C2 is in S , and w: C1 and w: C2 are not both in S ; 2. S !t fw: Dg [ S if w: C1 t C2 is in S , neither w: C1 nor w: C2 is in S , and D = C1 or D = C2; 3. S !9 fwRx; x: C g [ S if w: 9R.C is in S , there is no z such that both wRz and z : C are in S and x is a new variable; 4. S !8 fz : C g [ S if w: 8R.C is in S , wRz holds in S , and z : C is not in S . Proposition 3.2 Let  be an ALC-knowledge base, and S; S 0 be two constraint systems. Then: 1. If S 0 is obtained from S by application of one of rules !u , !9, !8, then S is -solvable if and only if S 0 is -solvable. 2. If S 0 is obtained from S by application of the !t rule, then S is -solvable if S 0 is -solvable. Conversely, if S is -solvable and the !t -rule is applicable to S , then it can be applied in such a way that it yields a -solvable constraint system. A constraint system is said to be complete if no rule is applicable to it. Any complete constraint system obtained from a constraint system S by applying the above rules is called a completion of S . Notice that, due to the presence of the !t -rule, more than one completion can be obtained starting from a constraint system. We denote by O the set of individuals appearing in a constraint system S . Moreover, if a is an individual, then we denote by S [x=a] the constraint system obtained from S by substituting every occurrence of the variable x with the individual a. We now introduce the notion of -clash, which intuitively corresponds to an explicit contradiction in constraint systems. Then, we exploit such a notion in order to derive a sucient and necessary condition for a constraint system to be -solvable. S

De nition 3.3 A constraint system S contains a -

clash if at least one of the following conditions holds: 1. S contains a constraint of the form w: ?; 2. S contains two constraints of the form w: A; w: :A; 3. S contains a constraint of the form a: KC , and there is at least one completion of S [ fa: :C g without -clashes;

4. S contains a constraint of the form a: :KC , and every completion of S [ fa: :C g contains a clash; 5. S contains a constraint of the form aKPb, and aPb 62 S ; 6. S contains x: :KC , x: KC , xKPy, or wKPx, and for each a 2 O [ fg, every completion of S [x=a] contains a -clash, where  is an individual in O n O . S

S

Proposition 3.4 Let  be an ALC-knowledge base,

and S be a constraint system. Then S is -solvable if and only if there exists at least one completion of S that contains no -clash.

Proof. The proof is by induction on the number k of occurrences of the epistemic operator in the constraint system. If k = 0, then the claim trivially follows from the results in [1]. If k > 0, then let H1 be the following induction hypothesis: any complete constraint system with h < k occurrences of the epistemic operator is -solvable if and only if it contains no -clash. Let S be a complete constraint system with k occurrences of the epistemic operator. We must show that 1. if S contains no -clash, then it is -solvable, and 2. if S is -solvable, then it contains no -clash. Proof of (1). Suppose S contains no -clash. We construct a triple (I ; M(); ). First of all, is de ned by:  (w) = (w) if w is an individual;  (x) = (a) if w if x is involved in at least one epistemic constraint in S (i.e., such that x: :KC , x: KC , xKPy, or wKPx is in S ), and a is any individual in O [ fg such that S [x=a] does not contain any -clash (there must be such an a, otherwise S would contain a clash of type 6);  (x) = p if x is not involved in any epistemic constraint, and p is any parameter that is assigned by neither to an individual in O nor to a variable y in S such that y 6= x. Secondly, I is de ned as follows:  for every primitive concept A and every parameter p, let p 2 AI if and only if there is a w such that (w) = p, and w: A is in S ;  for every primitive role P andI every pair p1; p2 of parameters, let (p1; p2) 2 P if and only if there are w; z such that (w) = p1, (z ) = p2, and wPz is in S .  the interpretations of complex concepts and roles are derived from the semantic equations given in Section 2. S

S

We show that (I ; M(); ) satis es every constraint in S , i.e. S is -solvable. Consider any constraint of the form wPz . By the construction of and I , it is easy to verify that ( (w); (z )) 2 P I M(). Consider any constraint of the form w: C . We proceed by a secondary induction on the form of C , considering as base cases >, A, :A, KC , and :KC . If C is of one of the forms >, A, :A, then it follows by the construction of and I that (w) 2 C I M(). Consider any constraint of the form a: :KC . Since S does not contain any -clash, there is at least one completion of S [ fa: :C g which does not contain any -clash. Since the number of occurrences of the epistemic operator in S [ fa: :C g is less than k, by the induction hypothesis H1 and by Proposition 3.2, S [ fa: :C g is -solvable, which means that there is a model J of , such that (a) 2 (:C )J M(), andT hence (a) 62 C J M(). Since J 2 M(), (a) 62 J2M() C J M() , hence, by de nition of (KC )I M(), (a) 62 (KC )I M(). Therefore, (I ; M(); ) satis es a: :KC . Consider any constraint of the form a: KC . Since S does not contain any -clash, every completion of S [ fa: :C g contains a -clash. Since the number of occurrences of the epistemic operator in S [ fa: :C g is less than k, by the induction hypothesis H1 and by Proposition 3.2, S [ fa: :C g is unsolvable, which means that forT every model J of , (a) 2 C J M(), i.e. (a) 2 J 2M() C J M() , and hence (a) 2 (KC )I M(). Therefore, (I ; M(); ) satis es a: KC . Consider any constraint of the form x: KC . Let a be the individual in O [ fg such that (x) = (a) (notice that by the construction of , S [x=a] does not contain any -clash). Since S [x=a] does not contain any -clash, every completion of S [ fa: :C g contains a clash. Recall from theTprevious case that the last condition implies (a) 2 J2M() C J M(), and hence (a) 2 (KC )I M(). It follows that (x) 2 (KC )I M(), that is, (I ; M(); ) satis es x: KC . The other forms of epistemic constraints, namely x: :KC , xKPy, and wKPx can be treated analogously. Now consider the following induction hypotesis H2: for every proper subconcept D of a concept C , every constraint z : D is satis ed by (I ; M(); ). Suppose w: C is in S and C has the form D u E . Since S is complete, both w: D and w: E are in S . By the induction hypothesis H2, (I ; M(); ) satis es both constraints, and therefore, (I ; M(); ) satis es w: D u E too. The remaining forms of constraints, namely, E t D; 9R.D, and 8R.D, can be treated analogously. ;

;

;

;

;

;

;

;

;

;

S

;

;

;

In conclusion, we have shown that the triple (I ; M(); ) is a solution of S , and therefore S is solvable. Proof of (2). Suppose S contains a -clash. We now consider each type of clash in turn, and show that if S contains a clash of that type, then it is -unsolvable. 1, 2. If S contains a clash of type 1 or 2, then it is clearly -unsolvable. 3. Suppose S contains a constraint of the form a: KC , and there is at least one completion of S [ fa: :C g without -clash. By the induction hypothesis H1 and by Proposition 3.2, S [ fa: :C g is -solvable, i.e. there is a triple (I ; M(); ) that satis es all the constraints of S [ fa: :C g, and in particular a: :C . Therefore,

(a) 62 C I M(), which implies T that (a) 62 J2M() C J M(). It follows that the constraint a: KC cannot be satis ed by any triple (I ; M(); ), and therefore S is -unsolvable. 4, 5. If S contains a -clash of the form a: :KC or of the form aKPb, then we can proceed analogously to case 3. 6.1. Suppose S contains a constraint of the form x: :KC , and for each a 2 O [ fg, S [x=a] contains a -clash, where  is an individual in O not appearing in S . This means that for each a 2 O [fg, either every completion of S [fa: :C g contains a -clash, or every completion of S [x=a] n fa: :KC g contains a -clash. By the induction hypothesis H1, this implies that for each a 2 O [fg, either S [fa: :C g is -unsolvable, or S [x=a] n fa: KC g is -unsolvable. We show that S cannot be satis ed by any triple (I ; M(); ). Let us assume that the triple (I ; M(); ) is a solution of S , with (x) = p, and there is a b 2 O such that (b) = p. Obviously, (I ; M(); ) is a solution of S [x=b] too, which means both that the constraint b: :KC is satis ed by (I ; M(); )|i.e. that S [ fb: :C g is -solvable|and that every constraint in S [x=b] n fb: :KC g is satis ed by (I ; M(); )|i.e. S [x=b] n fb: :KC g is -solvable|which is a contradiction. Let us assume that the triple (I ; M(); ) is a solution of S , with (x) = p, and there is no b 2 O such that

(b) = p. It is0 possible to0 show that in this case there is 0 (x) = (). a solution (I ; M() ; ) of S such that It follows that (I 0; M(); 0) is a solution of S [x=], too, which is again a contradiction as in the previous case. 6.2, 6.3, 6.4. If S contains a -clash of the form x: KC , xKPy, or wKPx, then we can proceed analogously to case 6.1. ;

;

S

S

S

S

S

The results reported in [1] show that it is decidable whether a constraint system that does not include any epistemic constraint is -solvable. In particular, it

is shown that the number of completions obtainable from such a system is nite. Based on this fact, one can easily prove that the number of completions of an ALCK-constraint system is also nite. Observe that, in order to decide whether a complete constraint system S has a -clash or not, a nite number of satis ability checks suces, each involving a constraint system whose number of epistemic constraints is less than the number in S . Therefore, one can show by induction that the above rules provide us with an algorithm for checking an ALCK-constraint system for -solvability.

Proposition 3.5 Let  be an ALC-knowledge base. Then it is decidable whether an ALCK constraint system S is -solvable or not. This in turn implies that we have an e ective method both for checking whether  j C (a), and for computing the answer set of C w.r.t. . The next section discusses in more detail the computational complexity of the method.

4 Complexity and Expressiveness In this section we rst address the computational complexity of answering ALCK-queries. Then we discuss how the epistemic operator can be used in the formulation of interesting queries to an ALC -knowledge base. Using a technique based on constraint systems, both satis ability and subsumption of ALC -concepts are are proved in [18] to be PSPACE-complete problems. That paper also presents a linear space algorithm for these problems. The basic idea behind the algorithm is that, although the whole constraint system involved in the computation may have exponential size, it is possible to keep track of only a polynomial part of it at a time. These parts, called traces, are mutually independent, and can be checked for a clash separately. In [1] a PSPACE algorithm for checking the satis ability of an ALC -knowledge base  is given, which again is based on the constraint system calculus. Since for any ALC -concept C we have  j= C (a) if and only if the ALC -knowledge base  [ f:C (a)g is unsatis able, it follows that answering ALC -queries to an ALC knowledge base can be done in polynomial space, too. The algorithm for deciding the satis ability of ALC knowledge bases consists of two steps: in the rst one, which we call precompletion, all the information regarding each individual is collected in a single constraint; in the second step these constraints are separately tested for satis ability using the linear-space algorithm for concept satis ability given in [18]. However, when the query is an ALCK-concept, the above method is no longer valid. In fact, because of

the presence of the K operator, the satis ability of constraint systems obtained from the precompletion cannot be done by considering the constraints on each individual separately. For example, the satis ability of a constraint of the form a: 9KP .KC depends on the assertions on other individuals in the knowledge base. For instance, its satis ability follows from the two assertions: P (a; b) and C (b). In the calculus shown in Section 3, this possibility is taken into account by the condition for a -clash of type 6. In fact, getting back to the above example, the constraint a: 9KP .KC is processed creating the two constraints aKPx and x: KC , and checking whether x can be substituted with an individual without running into a clash. Nevertheless, answering ALCK-queries can be done in PSPACE. In fact, it is still possible to devise an algorithm that uses polynomial space by keeping a table with the information concerning substitutions. Such a table has a boolean value for every subconcept of  and of the query C , and every individual in O . The value of an entry (D; a) is true whenever the completion process of S [ fa: :C g would add the constraint a: D as the result of a substitution [x=a] in a constraint x: D. Notice that a table represents the set of constraints on individuals that are common to all traces of a completion. The algorithm generates a table and then considers the constraint system S [fa: :C g[ T , where T is the set of constraints represented by the table. At this point the algorithm performs the same two steps of the algorithm for ALC , but for a more complex veri cation of clashes in the traces, where all the six types described in the previous section are considered. Clashes of type 1,2,5 are found by inspection. Clashes of type 3,4 require a recursive call to the algorithm. Finally in the check of clashes of type 6, substitutions which introduce constraints not already present in the table are disallowed. If there are no allowed substitutions leading to a trace with no -clash, the table is discarded and the algorithm restarts with a new one. If no table leads to the construction of a completion with no -clash, the constraint system S [ fa: :C g is not solvable. The size of the table is polynomially bounded by (jj + jC j)  jOj, where jj, jC j and jO j denote the size of , C and O, respectively. Since each recursive call requires a new table but reduces the number of K operators, the number of tables that are simultaneously needed is bounded by the nesting of the K operator. Therefore, we can conclude that adding the K operator to the query language does not change the complexity class of query answering.

Proposition 4.1 Let  be an ALC-knowledge base, C be an ALCK concept, and a be an individual. Then checking whether  j C (a) is PSPACE-complete.

The analysis of the query answering algorithm allows us to make an interesting comparison between reasoning with epistemic concepts and reasoning with concepts involving collections of individuals. A construct for collection of individuals, sometimes called \ONEOF," has been considered in [2] and [9]. If a1; : : :; a are individuals, then the concept fa1; : : :; a g is interpreted as the set consisting of the elements denoted by a1; : : :; a . Now, the intuition is that a concept of the form KC can be considered equivalent to the concept fa1; : : :; a g, where a1 ; : : :; a are exactly the individuals for which  j= C (a ) holds. Indeed, we have proved that if L is any sublanguage of ALC , LK is the language obtained from L by adding the constructs KC , :KC , and KP , and LO is the language obtained from L by adding the constructs fa1 ; : : :; a g and :fa1; : : :; a g for concepts, and f(a1; b1); : : :; (a ; b )g for roles, then the two problems of querying an Lknowledge base using LK-concepts and using LOconcepts are in the same complexity class. In particular, Proposition 4.1 implies that reasoning in ALCO is PSPACE-complete, which represents a new complexity result for concept languages. n

n

n

n

n

i

n

n

n

n

The previous considerations allow us to conclude that the use of epistemic operators does not substantially increase the complexity in query answering. This is extremely interesting, especially in light of the greater expressive power gained (see also next section). In the rest of this section we show how the use of the epistemic operator allows us to express queries that have both natural interpretation and good computational properties. In particular, we have found that there are situations where the use of the epistemic operator helps lessening the computational complexity of query answering. Consider the following three queries posed to the ALC knowledge base 1 of Example 2.2: Query 4: 9FRIEND.(Married u 9LOVES.:Married)(john). Answer: YES. Query 5: 9KFRIEND.K(Married u 9LOVES.:Married)(john). Answer: NO. Query 6: 9KFRIEND.K(Married u 9LOVES.:KMarried)(john). Answer: YES. Query 4 asks whether john has a married friend who loves an unmarried person. At rst glance, since susan and peter are the only known friends of john, it seems that the answer to the query is to be found by checking whether either 1 j= Married u 9LOVES.:Married(susan) or 1 j= Married u 9LOVES.:Married(peter). Since 1 6j= Married(peter), we have in particular

that 1 6j= Married u 9LOVES.:Married(peter), and since 1 6j= 9LOVES.:Married(susan), it follows that 1 6j= Married u 9LOVES.:Married(susan). Reasoning in this way would lead to the answer NO. On the contrary, the correct answer to the query is YES, and in order to nd it, one needs to reason by case analysis. In fact, the query asks if in every model M of 1 there is an individual, say z , such that FRIEND(john; z ), Married(z ), and 9LOVES.:Married(z ) are true in M . Obviously, in every model M of 1 , either Married(peter) or :Married(peter) is true. In the rst case, it is easy to see that z is simply peter (and the unmarried person he loves is mary), while in the second case z is susan (and the unmarried person she loves is just peter). Therefore, such an individual z exists in every model of 1 , and the query gets the answer YES. Note that, even if none of the individuals related to the individual john through the role FRIEND is in the condition requested by the query, it happens that the combination of the assertions on the individuals (susan and peter) in the knowledge base is such that in every model either one or the other is in that condition. On the other hand, Query 5 asks whether there is an individual, say z , such that in every model M 2 M(1 ), both FRIEND(john; z ) and Married u 9LOVES.:Married(z ) are true. It is easy to see that no such z exists in 1 , and therefore the answer is NO. Query 6 is similar to Query 5, but the concept :Married is replaced with the concept :KMarried. In this case, since :KMarried(peter) holds in 1, we have that the above mentioned individual z exists. In particular, it is susan, and therefore the answer is YES. Queries 4,5 and 6 show how the K operator is able to modify the semantics of a query (note that, apart from the presence of K, the queries are identical). Queries 4, 5, and 6 show how to use the K operator to modify the semantics of a query (note that they differ only in the occurrences of the K operator): Query 4 respects the standard rst order semantics of concept languages, Query 5 uses an intuitionistic semantics which rules out the reasoning by case analysis, and nally, Query 6 makes use of a sort of negation as failure. As another example of this fact consider the following pair of queries: Query 7: (9LOVES.:Male) t (:9LOVES.>)(john). Answer: YES. Query 8: K(9LOVES.:Male) t K(:9LOVES.>)(john). Answer: NO. The di erence between Query 7 and 8 is similar to the di erence between Query 4 and 5. Query 7 asks whether in every model M 2 M(1) the assertion

(9LOVES.:Male) t (:9LOVES.>)(john) is true. Again, reasoning by case analysis, one realizes that such a query gets the answer YES: indeed, due to the assertion 8LOVES.:Male(john) in 1, for every model M of 1 , either 9LOVES.:Male(john) is true in M , or :9LOVES.>(john) is true in M . On the other hand, Query 8 asks whether it is the case that 9LOVES.:Male(john) is true in every model M 2 M(1 ), or whether :9LOVES.>(john) is true in every model M 2 M(1 ). Therefore, the answer to Query 8 is NO. The above examples (Queries 5 and 8) show that the use of K may allow us to express queries whose answer does not require reasoning by case analysis. In [6], we analyze in detail the situations where this kind of reasoning makes deductions in concept languages problematic from the computational point of view. For example, we prove that the problem of checking if  j= C (a), when  is an AL-knowledge base and C is an ALE -concept, is coNP-hard w.r.t. the size of .5 On the other hand, we have the following result:

Proposition 4.2 Let  be an AL-knowledge base, a be an individual, and C be an ALEK-concept where the only quali ed existential quanti cations are of the form 9KR.KE . Then checking whether  j C (a) can be done in polynomial time w.r.t. the size of .

Notice that if C is an ALE -concept, and (C ) is the ALEK-concept obtained from C by replacing every occurrence of the construct 9R.E with 9KR.KE , then  j (C )(a) implies  j= C (a). >From this obser-

vation and the above theorem we can derive an interesting property: the algorithm for checking whether  j (C )(a) is a tractable, sound and incomplete procedure for checking whether  j= C (a). Following the above idea, we can use the K operator to build sound and incomplete query answering procedures for any concept language. Given a knowledge base  and a query C , both expressed in a language L, the query can be replaced by a suitable concept L (C ) in the language LK such that  j L (C )(a) implies  j= C (a) and deciding  j L (C )(a) can be done more eciently w.r.t. the size of . The advantage compared to other incomplete procedures is the precise semantical characterization of the source of incompleteness.

5 ALE is the sublanguage of ALC that consists of all simple concepts which do not contain the union constructor \t", whereas AL consists of all ALE concepts that only contain existential quanti cations of the form 9R.>.

5 Closed World Reasoning, Relational Databases, and Integrity Constraints The reason for the open world semantics of concept languages is that they are generally used in applications where incomplete information have to be accounted for. For example, even if all the known friends of John are male, one does not want to conclude that all friends of John are male. On the other hand, there are situations where it is natural to query a knowledge base under the closed world assumption. It is important to note the di erence between assigning a closed world semantics to the knowledge base and allowing one to pose queries under the assumption that part of the knowledge base is complete. We argue that the use of epistemic operators as described in the previous sections is a natural way to achieve such a exible way of interacting with the knowledge base. Referring to the knowledge base 1 of Example 2.2, consider the following examples: Query 9: 8FRIEND.9LOVES.>(john). Answer: UNKNOWN. Query 10: 8KFRIEND.K9LOVES.>(john). Answer: YES. Query 9 gets the answer UNKNOWN because there is a model of 1 where john is related to an individual z and z is not an instance of the concept 9LOVES.>. On the other hand, the reading of Query 10 is as follows: is it true that for every individual z known to be related to john through the role FRIEND, it is known that 9LOVES.>(z ) holds 1? It is easy to see that the answer to this query is YES. The above example shows that the use of K allows one to pose queries to a knowledge base  under the assumption that  has complete knowledge on a certain individual a and a certain role P (john and FRIEND in the example), i.e. under the assumption that for every pair (a; b) such that  6j= P (a; b), P (a; b) is false in . Notice that this is not the same as assuming that the knowledge about every role is complete, like for example in [13]. In [11] the problem of translating Circumscription into epistemic theories is discussed. We show here that our query language allows us to achieve at least the expressive power of the (naive) Closed World Assumption (CWA) (see [15]). We do so by considering knowledge bases expressed in the simple language AL0 , whose concepts are formed according to the rule: C; D ?! A j :A j C u D j 8R.C: More complex languages and more powerful forms of closed world reasoning (e.g. Careful CWA) require a

more sophisticated treatment, which is outside the scope of this paper. Let  be an AL0 -knowledge base, C be any ALC concept, and a be an individual.  entails C (a) under the CWA, written  j=CWA C (a), if C (a) is true in every minimal model of . Given a simple ALC -concept C , we de ne the ALCKconcept C as follows: 1. A = KA 2. :A = :KA 3. (C u D) = KC u KD 4. (C t D) = KC t KD 5. (9P .C ) = 9KP .C 6. (8P .C ) = 8KP .C .

Proposition 5.1 Let  be an AL0-knowledge base, C be an ALC -concept, and a be an individual. Then  j=CWA C (a) if and only if  j C (a). Moreover, checking if  j C (a) can be done in polynomial time. One interesting consequence of the above result is that epistemic queries allow us to achieve the expressive power of relational query languages. Let us call ALCK+ the language whose syntax is as follows (C , D denote concepts, R, Q denote roles, and a denotes an individual): C; D ?! A j fag j C u D j C t D j :C j 8R.C j 9R.C j KC R ?! P j Q Q; Q1 ?! KP j Q u Q1 j Q t Q1 j Q  Q1 j :Q j Q j Q?1 ; where fag denotes the concept whose extension is constituted by the single individual a (see Section 4),  denotes role concatenation, Q denotes the transitive closure of Q, and Q?1 denotes the inverse of Q. An ALCK+ -query over a knowledge base  is an expression of the form hx1 ; : : :; x j i where is a rst order formula whose free variables are among x1; : : :; x , whose constants are symbols in O , and whose atomic formulas are of+ the form KC (t) or KQ(s;+ t), where C is an ALCK -concept, Q is an ALCK -role or is the predicate symbol =, and s; t are either constants or+ variables. The answer set of the above ALCK -query is the set of tuples ha1 ; : : :; a i, where each a 2 O, such that  j [x1 =a1; : : :; x =a ]. We are using here a straightforward extension of the j relation de ned in Section 2 to the case where the right hand side argument is a formula. Obviously, a corresponding extension of the n

n

n

i

n

n

method described in Section 3 is needed in order to evaluate ALCK+ -queries. ALCK+ -queries constitute a superset of relational calculus queries [19]. Indeed, let us denote with rdb() the relational database obtained from the AL0knowledge base  as follows. First, for every primitive concept A in , we introduce a relation rel(A) of arity 1, and for every role R in , we introduce a relation rel (R) of arity 2. Second, let rel (A) consist of the tuples hai such that a: A is in the completion S ,6 and let rel (R) consist of the tuples ha; bi such that aRb is in S . It is possible to show that, for every satis able AL0-knowledge base , and for any relational+ calculus expression r over rdb(), there is an ALCK -query q over  such that the set of tuples in the answer to r is equal to the answer set of q. This proves that ALCK+ has at7least the expressive power of the relational calculus. Another interesting feature of ALCK+ -queries is that they provide a formal setting for extracting information from a knowledge base where part of the knowledge is expressed in a concept language, and part is stored in a relational database. A further aspect that is usually considered in databases but not in concept languages, is that of integrity constraints, which are sentences specifying the set of admissible database states. In [16] it is argued that integrity constraints are naturally viewed as epistemic sentences specifying what the knowledge base is supposed to know about a particular aspect of the world, rather than a direct property of the world. For example, if the we want to rule out those knowledge bases which are uncertain about the sex of every person who is known to be student, we cannot simply state that every student has a sex. Rather, we need to specify that for every known student a, the knowledge base either knows that a is a male, or knows that a is a female. In order to represent this idea in our setting, we propose to model integrity constraints as ALCK concepts.

De nition 5.2 An integrity constraint is an ALCKconcept. Given an ALC -knowledge base  and an integrity constraint C ,  satis es C if for every individual a 2 O ,  j C (a). If IC = fC1; : : :; C g is a set of integrity constraints, then  is said to be legal with respect to IC if  satis es C for each i 2 f1; : : :; ng. n

i

For example, the previous integrity constraint can be expressed as: (:KStudent) t (KMale t K:Male): 6 Note that, due to the language constructs of AL0 , there exists exactly one completion of  . 7 ALCK+ is actually more expressive, since transitive S

closures cannot be expressed in the relational calculus [19].

Notice that integrity constraints satisfaction (i.e. checking whether a knowledge base is legal w.r.t. a set of integrity constraints) can be easily realized through the calculus presented in Section 3.

6 Formalizing Trigger Rules Up to now we have considered only knowledge bases constituted of assertions on individuals. Many practical systems for building knowledge based applications, such as CLASSIC [2], or CLASP [21], provide an additional mechanism, called trigger rules, for specifying the knowledge base. Roughly speaking, trigger rules have the form: \if an individual is proved to be an instance of C , then derive that it is also an instance of D," where C , D are concepts (see [2]). The behavior of trigger rules is usually described in terms of a forward reasoning process that adds to the knowledge base the assertion D(a) whenever C (a) is proved to hold. Let us call procedural extension of  w.r.t. to ? the knowledge base resulting from such a forward reasoning process on a set of assertions  and a set of trigger rules ?. Trigger rules in the context of frame-based systems are often de ned informally. Attempts to precisely capture the meaning of such rules are based either on viewing them as knowledge base updates (see for example the TELL operation of [10]), or on ad hoc semantics (see [17]). Our aim in this section is to show that trigger rules can be nicely formalized in our setting. To this end, we regard the speci cation  of a knowledge base as constituted by a pair h; i, where  is a set of membership assertions in ALC , and is a set of epistemic sentences (representing trigger rules), each one of the form KC ) KD, where C and D are ALC -concepts. An epistemic interpretation (I ; W ) satis es the sentence KC ) KD if (KC )I W  (KD)I W . Extending the de nition given in Section 2, an epistemic model of h; i is a pair (I ; W ), where I 2 W and W is any maximal subset of M() such that for each J 2 W , (J ; W ) satis es every sentence in . Intuitively, the set of epistemic sentences restricts the set of models of  to the maximal subsets that satisfy every sentence in . Because of the form of such sentences, it can be shown that there exists only one maximal subset W of M() such that for all J 2 W , (J ; W ) satis es every assertion in h; i. Moreover, it can be shown that such W coincides with the set of models of the procedural extension of  w.r.t. the trigger rules represented by . ;

;

Example 6.1 Consider the ALC-knowledge base  = h; i (inspired by an example in [2]):  = fEATS(susan; chips); Student(susan)g = fKStudent ) K(8EATS.JunkFood)g:

One can verify that for every epistemic model (I ; W ) of , we have (susan) 2 (8EATS.JunkFood)I W and (chips) 2 JunkFoodI W , i.e., both the assertion 8EATS.JunkFood(susan) and JunkFood(chips) are logical consequences of , as one would expect. Notice that, since trigger rules are used only in one direction, they are not expressible by logical implications. Indeed, our formalization with the epistemic operator correctly captures this intuition. Consider for instance the knowledge base 0 = hf:B (a)g; fKA ) KBgi, and observe that there exists an epistemic model (I ; W ) of 0 such that (a) 62 :AI . Therefore, :A(a) is not a logical consequence of 0. We now turn our attention to the problem of deciding whether the speci cation h; i of a knowledge base is satis able or not. In order to provide a calculus for such a problem, we add to rules 1{4 of Section 3 a new propagation rule, dealing with the sentences in . The new propagation rule is as follows: 5. S !) fa: Dg [ S if (KC ) KD) is in , a: D is not in S , and every completion of S [ fa: :C g contains a -clash. The above rule, together with rules 1{4 of Section 3, provides a sound and complete calculus for the satis ability of h; i. Indeed, it can be shown that h; i is satis able if and only if there exists at least one completion of h; i without -clash (note that the only possible -clashes in this cases are either of type 1 or of type 2). Moreover, it can be shown that the calculus can be turned into an algorithm that again works in PSPACE. In addition to the above method for checking the satis ability of a knowledge base h; i, where is a set of trigger rules, a complete account of the procedural extension requires a method for the construction of a new knowledge base as a result of the application of a set of trigger rules. To this purpose it is possible to devise a re ned version of the above rule, which incrementally adds the consequences of trigger rules to the knowledge base . This modi cation is straightforward in principle and we do not present it here for lack of space. ;

;

7 Conclusions In the present paper we have presented a framework for adding epistemic operators to concept languages. By enriching concept languages with an epistemic operator, to distinguish what is known to the knowledge base as opposed to what is true in the external world, we have been able to formally characterize several aspects of frame-based systems. In particular, we have considered the use of the epis-

temic operator in the query language, and shown that this richer query language may be used to reduce the complexity of reasoning within knowledge bases. In addition, by virtue of the epistemic operator one can naturally specify forms of closed-world reasoning in the queries, as well as integrity constraints, and compare the query language with relational algebra. Finally, we have shown how to formalize procedural mechanisms such as trigger rules. However, several aspects of frame-based systems still remain to be explored, for example representing object-oriented database structures, default properties of concepts, and rule-oriented knowledge structures. Perhaps, the most important aspect of this work is that a single representation mechanism allows for the treatment of a large number of features, which seems encouraging if we are to bridge the gap between theoretical work on frame-based languages and implemented systems.

References

[1] Baader, F., and Hollunder, B. A terminological knowledge representation system with complete inference algorithm. In Proc. of the Workshop on Processing Declarative Knowledge, PDK-91 (1991), Lecture Notes in Arti cial Intel-

ligence, Springer-Verlag.

[2] Borgida, A., Brachman, R., McGuinness, D., and Resnick, L. CLASSIC: A structural data model for objects. In ACM SIGMOD International Conf. on Management of Data (1989), pp. 58{67. [3] Brachman, R. J., and Levesque, H. J. The tractability of subsumption in frame-based description languages. In Proc. of the 4th Nat. Conf. on Arti cial Intelligence AAAI-84 (1984). [4] Donini, F. M., Lenzerini, M., Nardi, D., and Nutt, W. The complexity of concept languages. In Proc. of the 2nd Int. Conf. on Principles of Knowledge Representation and Reasoning KR-91 (1991), J. Allen, R. Fikes, and E. Sande-

wall, Eds., Morgan Kaufmann, pp. 151{162.

[5] Donini, F. M., Lenzerini, M., Nardi, D., and Nutt, W. Tractable concept languages. In

Proc. of the 12th Int. Joint Conf. on Arti cial Intelligence IJCAI-91 (Sidney, 1991).

[6] Donini, F. M., Lenzerini, M., Nardi, D., and Schaerf, A. From subsumption to instance checking. Tech. rep., Dipartimento di Informatica e Sistemistica, Universita di Roma \La Sapienza", Forthcoming. [7] Doyle, J., and Patil, R. S. Two theses of knowledge representation: Language restrictions, taxonomic classi cation, and the utility of

representation services. Arti cial Intelligence 48 (1991), 261{297. [8] Hollunder, B. Hybrid inferences in KL-ONEbased knowledge representation systems. In Proc. of the German Workshop on Arti cial Intelligence (1990), Springer-Verlag.

[9] Lenzerini, M., and Schaerf, A. Querying concept-based knowledge bases. In Proc. of the

Workshop on Processing Declarative Knowledge, PDK-91 (1991), Lecture Notes in Arti cial Intel-

ligence, Springer-Verlag. [10] Levesque, H. J. Foundations of a functional approach to knowledge representation. Arti cial Intelligence 23 (1984), 155{212. [11] Lifschitz, V. On open defaults. In Symposium on computational logics, J. W. Lloyd, Ed. Springer-Verlag, ESPRIT Basic Research Action Series, 1990, pp. 96{113. [12] Lifschitz, V. Nonmonotonic databases and epistemic queries. In Proc. of the 12th Int. Joint Conf. on Arti cial Intelligence IJCAI-91 (Sidney, 1991). [13] Nebel, B. Reasoning and Revision in Hybrid Representation Systems. Lecture Notes in Arti cial Intelligence. Springer-Verlag, 1990. [14] Nebel, B. Terminological reasoning is inherently intractable. Arti cial Intelligence 43 (1990), 235{ 249. [15] Reiter, R. On closed world data bases. In Logic and Databases, H. Gallaire and J. Minker, Eds. Plenum, 1978, pp. 119{140. [16] Reiter, R. On asking what a database knows. In Symposium on computational logics (1990), J. W. Lloyd, Ed., Springer-Verlag, ESPRIT Basic Research Action Series, pp. 96{113. [17] Schild, K. Towards a theory of frames and rules. Tech. rep., FB Informatik, Technische Universitat Berlin, Berlin, Germany, 1989. [18] Schmidt-Schau, M., and Smolka, G. Attributive concept descriptions with complements. Arti cial Intelligence 48, 1 (1991), 1{26. [19] Ullman, J. Principles of Database and Knowledge Base Systems, vol. 1. Computer Science Press, Potomac, Maryland, 1988. [20] Woods, W. A. Understanding subsumption and taxomony: A framework for progress. In Principles of Semantic Networks, J. Sowa, Ed. Morgan Kaufmann, 1991, pp. 45{94. [21] Yen, J., Neches, R., and MacGregor, R. CLASP: Integrating term subsumption sstems and production systems. IEEE trans. on Knowledge and Data Engineering 3, 1 (1991), 25{31.

Suggest Documents