support logic programming

32
Support Logic Programming J. F. Baldwin Information Technology Research Centre and Engineering Mathematics Department, University of Eristol, Eristol, England This article describes a support logic programming system which uses a theory of support pairs to model various forms of uncertainty. It should find application to designing expert systems and is of a query language type like Prolog. Uncertainty associated with facts and rules is represented by a pair of supports and uses ideas from Zadeh’s fuzzy set theory and Shafer’s evidence theory. A calculus is derived €or such a system and various models of interpretation given. The article provides a form of knowledge representation and infer- ence under uncertainty suitable for expert systems and a closed world assumption is not assumed. Facts not in the knowledge base are uncertain rather than assumed to be false. I. INTRODUCTION In this article we show how the theory of fuzzy sets as developed by Zadeh22-24 and a theory of evidence as given by Shafer” can be combined to form a suitable framework for a logic programming style of reasoning under uncertainty. A knowledge base consists of prolog style facts and rules modified to take into account the uncertainties in their support. This modification takes the form of a support pair associated with each fact and rule. A query asked of the system is answered using the prolog style of procedural proof, but a support pair is computed and associated with the final answer. All possible proof paths are determined in order to compute the final support and the way of combining dif- ferent evidences to arrive at the answer is discussed. The normal syntactic unifi- cation of prolog is extended to allow a specialized form of semantic unification in which fuzzy sets can be used as arguments of predicates. A further discussion of semantic unification is given when discussing the use of conceptual graphs for knowledge representation as an alternative to Horn clause logic representation. Conceptual graph theory can be used to provide a programming language, as an extension of FRIL (see Baldwin21),which is more powerful than prolog but ideal for plausible reasoning. The motivation for this work is to provide a form of knowledge representa- tion and inference suitable for Expert Systems. An expert system is a computer program which attempts to emulate the manner of problem solving and decision taking of an expert within a restricted context. The knowledge base made up of facts and ru!es representing the expert’s view of the application is separated from the inference mechanism. The latter is part of the expert system shell along with other modules which provide facilities for explaining how decisions are reached INTERNATIONAL JOURNAL OF INTELLIGENT SYSTEMS, VOL. I, 73-104 (1986) 0 1986 John Wiley & Sons, Inc. CCC 0884-8 173/86/020073-32$04 .oO

Upload: j-f-baldwin

Post on 11-Jun-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Support logic programming

Support Logic Programming J. F. Baldwin Information Technology Research Centre and Engineering Mathematics Department, University of Eristol, Eristol, England

This article describes a support logic programming system which uses a theory of support pairs to model various forms of uncertainty. It should find application to designing expert systems and is of a query language type like Prolog. Uncertainty associated with facts and rules is represented by a pair of supports and uses ideas from Zadeh’s fuzzy set theory and Shafer’s evidence theory. A calculus is derived €or such a system and various models of interpretation given. The article provides a form of knowledge representation and infer- ence under uncertainty suitable for expert systems and a closed world assumption is not assumed. Facts not in the knowledge base are uncertain rather than assumed to be false.

I. INTRODUCTION

In this article we show how the theory of fuzzy sets as developed by Zadeh22-24 and a theory of evidence as given by Shafer” can be combined to form a suitable framework for a logic programming style of reasoning under uncertainty. A knowledge base consists of prolog style facts and rules modified to take into account the uncertainties in their support. This modification takes the form of a support pair associated with each fact and rule. A query asked of the system is answered using the prolog style of procedural proof, but a support pair is computed and associated with the final answer. All possible proof paths are determined in order to compute the final support and the way of combining dif- ferent evidences to arrive at the answer is discussed. The normal syntactic unifi- cation of prolog is extended to allow a specialized form of semantic unification in which fuzzy sets can be used as arguments of predicates. A further discussion of semantic unification is given when discussing the use of conceptual graphs for knowledge representation as an alternative to Horn clause logic representation. Conceptual graph theory can be used to provide a programming language, as an extension of FRIL (see Baldwin21), which is more powerful than prolog but ideal for plausible reasoning.

The motivation for this work is to provide a form of knowledge representa- tion and inference suitable for Expert Systems. An expert system is a computer program which attempts to emulate the manner of problem solving and decision taking of an expert within a restricted context. The knowledge base made up of facts and ru!es representing the expert’s view of the application is separated from the inference mechanism. The latter is part of the expert system shell along with other modules which provide facilities for explaining how decisions are reached

INTERNATIONAL JOURNAL OF INTELLIGENT SYSTEMS, VOL. I, 73-104 (1986) 0 1986 John Wiley & Sons, Inc. CCC 0884-8 173/86/020073-32$04 .oO

Page 2: Support logic programming

74 BALDWIN

and a friendly userhachine interface. Uncertainty in various forms plays an important part in the expert's view of hidher application. A rule such as some- thing is true or will happen if certain conditions are satisfied may not always apply. The uncertainty in its application can be expressed in probability terms but there may still be doubt about the actual value of the probabilities concerned. It may be more honest to express a probability in linguistic terms such as "high," etc. rather than attempt to give a point value which would fall into the trap of approximating via forced precision. Furthermore, the truth of the conditions of the rule may not be known with certainty. Other rules and facts may be used to provide evidence for the satisfaction of some condition. This evidence may provide support for the condition being satisfied without providing any support for it not beingsatisfied. If a fact is known to be true then it will be necessarily supported to degree 1, while if it is known to be false, its negation will be necessarily supported to degree 1. Uncertainty arises when a proposition and its negation are necessarily supported to degrees x and y, respectively, where x,y are non-negative numbers less than 1. and furthermore, x + y < = 1. If x + y < 1 then x and y are not probabilities. Degrees of support will be treated in the Shafer sense so that 1 - x - y will represent the support given to the disjunction of the proposition and its negation without any additional commitment to either. We will discuss several ways of interpreting this support including the use of a group voting model, a liquid allocation model and a semantic unification model. A more detailed account of this form of evidence theory can be found in Baldwin and Monk6 and its connec- tion with conceptual graph theory in Baldwin and Crabtree.4

Evidence is central to all branches of knowledge engineering and, more particularly, in expert systems it is the quality of the evidence used in establishing an answer to a query which determines whether or not the solution is to be believed. Important background reading can be found in the two books, The Concept of Evidence, edited by P. Achinstein' and The Range of Epistemic Logic, by G. N . Schlesinger.I6 Acquisition of the knowledge of the expert is also a most difficult problem and classical methods of data exploration and modeling should not be ignored. New approaches such as the use of the theory of personal constructs of G. Kelley13 as given by Gaines and Shawl' would appear to have considerable potential for establishing knowledge bases.

In practical affairs deductive reasoning based on first order predicate logic, while important for theorem proving and validation of methods, is not of general use for resolving conflicts arising from conflicting evidences, making inferences when only partial information is provided and dealing with the many forms of uncertainties that are involved in real world situations. Peirce emphasized the need for abduction in addition to deduction and induction. Abduction can be thought of as concluding p is possible if p entails q and q is known to be true. Further ii degree of support may be allocated top , the value depending on causal relationships. In other words, the possible conclusionp may be said to be plausible to some degree depending on finding a suitable explanation for p to be true. This explanation will provide a certain weight of evidence in support of p. Rescher" discusses induction, to be understood in the general sense of all our rational devices for reasoning from evidence in hand to objective facts about the world and

Page 3: Support logic programming

SUPPORT LOGIC PROGRAMMING 75

not simply a method of reasoning to a universal generalization from supported instances. This combines the methods of induction and abduction discussed by Peirce.14 In the practical world one reasons using cues. Certain evidence is supportive to a proposition while other evidence supports its negation. Various evidences must be compared and combined to give a final judgement of whether a proposition is accepted or rejected. Not enough information is provided to deduce the truth of the proposition using deductive logic. The lack of information means that a certain risk must be taken in committing oneself to a truth value for the proposition. In assessing a tennis player for inclusion in a league team, one might argue that since he can volley well he would be a useful member of the team, and further he has no particular weak shots. On the other hand, he is more of a singles player than a doubles player and he may not be able to co-ordinate with a partner. In this case one set of facts support his inclusion in the team while the other supports the opposite. These degrees of support, even assuming that we can give numbers representing them, will not add up to 1 in general. Furthermore, lack of evidence supporting the proposition does not support its negation. The lack of evidence which prevents any purely deductive method being used can arise because of hidden information or lack of definition. To decide if an object is a bush or a tree may be difficult, not because only part of the object can be seen, but from the fact that no precise definition of a tree and a bush can be given. The mind prefers discrete categories while the real world possesses a continuity so that borderline categorization is inevitable. Once again, certain evidence will point in the direction of one category while other evidence will contradict this and point to some other category. This form of uncertainty is more fuzzy than probabilistic in nature.

Such expert systems as Mycin manipulate certainty factors to provide such weights of evidence. While the methods used are ad hoc to a large degree, they nevertheless seem to work in practice. The theories of fuzzy sets and evidence mentioned above can provide a framework for a less ad hoc approach, and this article will outline an approach to evidential inference which should be easy to use and have computational efficiency.

The logic programming style of inference suggested in this article does not rely upon a closed world form of knowledge representation. In other words, it is not assumed that facts which are not in the database are necessarily false. A fact not present in the knowledge base will have a necessary support of 0 but a possible support of 1 indicting that the truth of the proposition is totally uncertain. The prolog form of negation by failure which has no logical justification as pointed out by J. Shepherdson'* is not used.

11. SUPPORT HORN CLAUSE LOGIC REPRESENTATION

A support logic program is a set of program clauses. A program clause is of the form

A :- B1, B2, ..., Bn : [Sl,Su] where A ,B1, . , . , Bn are atoms. This should be understood as a prolog clause with

Page 4: Support logic programming

76 BALDWIN

the addition of the support pair [Sl,Su]. It can be given the following procedural interpretation. For each assignment of each variable, if B1, ..., Bn are all true, then A is necessarily supported to degree S1 and NOT A is necessarily supported to degree (1 - Su). The support pair [Sl,Su] is therefore a conditional support. We shall refer to S1 as the necessary support and Su as the possible support. These supports satisfy the following constraint

S1 + (1 - Su) <= 1 .

Su - S1 measures the uncertainty in the support of the rule pair. { A : - Bl,B2 ,..., Bn ; NOT A :- Bl,B2 ,..., Bn }, i.e., associated with the conditionals { (A I B1,B2, ..., Bn) ; (NOTA I Bl,B2, ..., Bn)}. “A”isknownastheheadofthe clause and ( B l , B 2 , ..., Bn) as the body of the clause.

If the body of the clause is empty we have a unit clause, represented as

A : [Sl,Su].

This has the following procedural interpretation. For each assignment of each variable, “A” is necessarily supported to degree S1 and “ NOT A ’’ is necessarily supported to degree (1 - Su). Again the constraint

S1 + (1 - Su) <= 1

is satisfied and (Su - S1) measures the uncertainty associated with the pair { A ; NOT A } without any further commitment to either “A” or “NOT A” individually.

We will also allow statements of the form

A : - B1 ; B2 : [Sl,Su].

where ; signifies disjunction and B1,B2 are single atoms or a conjunction of atoms. Thus, in this case A , NOT A are necessarily supported to degrees S1, (1 - S u ) , respectively, if for each assignment of each variable (B1 or S2) is true.

It should be observed that the sum of the necessary supports for an atom and its negation do not necessarily add up to 1. The necessary support for the negation of an atom is not determined from the necessary support of the atom. Instead we constrain the necessary support of the negation of an atom to be that amount which the necessary support of the atom is different from unity. We therefore have the following interpretation of negation.

If P : - Q : [Sl,Su]. then nec-sup(Z‘lQ) = S1 ; pos-sup(PJQ) = Su

where Q is a conjunction, disjunction or mixture of atomic formulae and IF P : [SlJu].

nec-(NOT P I Q) = 1-Su ; pos-sup(N0T P [ Q ) = 1-S1

then n e c s u p ( P ) = S1 ; pos-sup(P) = Su nec-sup(N0T P) = Su ; pos-sup(N0T P) = 1-S1

Page 5: Support logic programming

SUPPORT LOGIC PROGRAMMING 77

111. EXAMPLES OF SUPPORTED FACTS AND RULES

is-tall (john) : [1/4,1/2].

This states that the necessary support for John being tall is 1/4 while the possible support for John being tall is 1/2. From this we can deduce that the necessary support for John not being tall is 1/2 while the possible support for John not being tall is 3/4.

looks-modern(design) : [3/4,1].

indicates that there is no necessary support for the design not looking modern.

guilty(mary) : [1/3,7/12].

might suggest that out of a jury of 12 people, 4 persons thought Mary was guilty while 5 persons voted not guilty and 3 persons were not willing to commit themselves to either a guilty or not guilty verdict. This interpretation suggests a group voting model for measuring the supports and will be discussed later. Supports can, of course, be determined by other means provided they satisfy the constraints given above. We are therefore associating a support of 1/3 to guilty, a support of 5/12 to NOT guilty and a support of 3/12 to UNSURE.

is-tall(X) : - is-person(X), height (X,5'10') : [1/4,1/2].

says that the necessary support for the fact that a person who has a height of 5 '10 is tall is 1/4, while the necessary support that this person is not tall is 112.

is-tall(X) : is-very-tall(X) : [l,l].

states that anyone who is very tall is necessarily tall.

is-very-tall(X) : is-tall(X) : [OJ].

means that knowing that a person is tall provides no evidence for that person being very tall.

is-tall(X) : i s s h o r t ( X ) : [O,O].

says that a short person cannot be tall. This is equivalent to the statement

NOT is-tall(X) IF is-short(X).

has(X,flue) : - has(X,bad-cough),has(X,high-temp), feels( XJifeless ) : [ 0.8,1].

design(x,satisfactory) : - performance(X,good), looks(X,modern) : [O. 9,1].

design(X,satisfactory) : - NOT reliability(X,high) : [0,0.2].

This provides a high necessary support of 0.8 to a design which is not reliable not being satisfactory.

friends(X,Y) : - NOT likes (X,Y) ; NOT likes (Y,X) : [0,0.1].

Page 6: Support logic programming

78 BALDWIN

gives strong support for X and Y not being friends if at least one of them does not like thc other.

drives (X.large-car) : - is-american(X) : [0.7,0.9_5].

might reprcsent the statement that “most Americans drive large cars“

return (X,prison) : - long-term-prisoner(X) : [0.5,0.9].

might represent that many long term prisoners return to prison after release. These examples are given to show the type of statements that can be made. I n order to show the reader how the above will be used, so as to give motivation to later treatment of defining a calculus for such support pairs, we provide a simple example of a support logic program.

wears(X,largeshoes) : - is-tall(X) : [0.8,1]. is-tall(X) : - height(X,H),H = 72 : [0.9,0.9]. height(john,72). : [1,1].

This program states that there is strong support for anyone who is tall wearing large shoes. The possibility of a person who is 72 inches in height being tall is 0.9. John is 72 inches in height. We can now ask the query and and obtain the corresponding reply

‘? - wears(Who,large-shoes). Who = john : [0.72,1]

A proof path for “wears(john,large-shoes)” is determined in the normal Prolog style and a support for each branch of the proof path determined. The calculus of the support pairs determines the rule for this calculation. If more than one proof path is available, which it is not in this example, then the support pairs must be combined and the rule for this is also given by the support pair calculus. The second rule above can be obtained from the membership function defining “tall.” A more interesting case would be if John was known to have an average height. We would then have to determine the support pair for John being tall given that he has average height. This can be determined from Fuzzy Set theory. This would be an illustration of semantic unification as opposed to the purely syntactic unification used in the above example.

IV. SUPPORT PAIRS FOR COMPOUND STATEMENTS

If A : [Sl,Ul] and B : [S2,1/2] can we detcrmine

and ( A AND B) : [S3,U3] ( A OR B) : [S4,U4]

In other words what rules should we use for determining the support pairs for the conjunction and disjunction of two statements when we are given the support pair for each statement? We can view this in tabular form as follows:

Let the necessary supports for the various possible conjunctive statements

Page 7: Support logic programming

SUPPORT LOGIC PROGRAMMING 79

A

NOT A

UNSURE

be given by Mij as depicted in tabular form in Figure 1. Then the Mij must satisfy the following equations

M11 + M12 + M13 = S1 M21 + M22 + M23 = 1- U1 M31 + M32 + M33 = Ul-Sl M11 + M21 + M31 = S2 M12 + M22 + M32 = 1- U2 M13 + M23 + M33 = U2-S2

Mij = 1 i J

These constraints do not give point values for the Mij, but the following con- straints must be satisfied

t A AND B A AND NOT B A

n11 n12 nl3

NOT A AND B NOT A AND NOT B NOT A

U21 m 2 m3

B NOT B UNSURE

M31 M32 n33 I

(S1 + s 2 - 1) v 0 (S1 + U2) v 0 (S1 + u 2 - s2 - 1) v 0 (S2 + U1) v 0 (1 - u1 - U2) v 0 (U2 - u1 - S2) v 0 (U1 - S1 + S2) - 1) v 0 (U1 - s1 - U2) v 0 (U1 - S1 + u 2 - S2 - 1)

<= M11 <=S1 A S2 <= M12 <=s1 A (1 - U2) <= M13 <=S1 A (U2 - S2) <= M21 <=(1 - U1) A S2 <= M22 <=(1 - U1) A (1 - U2) <= M23 <=(1 - U1) A (U2 - 5’2) <= M31 <=(U1 - S1) A S 2 <= M32 <=(U1 - S1) A (1 - U2)

V 0 <= M33 <=(U1 - S1) A (U2 - S2)

The MIN rule of Fuzzy Logic corresponds to the upper bound of each interval, but it should be realized that in order to satisfy the equality equations above point values cannot be aribtrarily selected from each of the intervals. The proof of these intervals is elementary. Suppose X has a necessary support of X1 and

A : [Sl , Ul] ; B : [S2 , U2]

s2 1 - u2 u2 - s2 B NOT B UNSURE

s1

1 - u1

u1- s1

Page 8: Support logic programming

80 BALDWIN

Y a necessary support of X2, then the necessary support of (X AND Y) cannot be greater than the minimum value of the two supports X1 and X2 since MIN(X1, X 2 ) is the maximum value that can be allocated to the cell corresponding to (X AND Y) without violating row or column constraints of the tableau. The minimum value that can be allocated without violating row or column constraints is X l + l n - l u o . From this the above intervals follow easily.

Thus the assignment of necessary supports to the various compound state- ments is an assignment problem and further assumptions are required in order to obtain a unique solution for this assignment. The method associated with the transportation algorithm of O.R. can be used to check for uniqueness and gener- ate alternative solutions if a solution is not unique. We will give various models below, corresponding to different assumptions, to give a unique solution for this assignment.

Let Sl(X), Su(X) stand for the necessary and possible support for X, respectively.

In order to calculate the necessary supports for disjunction of statements or simple propositions from the Mij values, one must use the axiom

'

Sl(Z) = S l ( X A N D Y) X, Y (X AND Y) 3 2

where 3 represents material implication.

Thus Sl(A O R B) = M11 + M12 + M13 + M21 + M31 = Sl(A) + S l ( B ) - Sl(A AND B)

Other cases can be evaluated. For example, S l (N0T (A AND B)) = S l ( N 0 T A OR NOT B)

= M12 + M21 + M22 + M23 + M32 = 1 - Su(A AND B)

so that Su(A AND B) = M11 + M13 + M31 + M33

Further

since Su(A OR B) = Su(A) + Su(B) - Su(A AND B)

Su(A OR B) = 1 - Sl(NOT(A OR B)) = 1 - Sl (N0T A AND NOT B)

Also from above

so that S l (N0TA AND NOT B) = S l ( N 0 T A)+Sl(NOT B) - S l ( N 0 T A OR NOT B)

Su(A OR B) = 1 - S l ( N 0 T A ) - S l ( N 0 T B) + S l ( N 0 T A OR NOT B) = (1 -Sl(NOTA)) + (1-Sl(N0TB)) - (1-Sl(NOT(A ANDB))) = Su(A) + Su(B) - Su(A AND B).

Note the following result follows easily

If X AND Y : [Slc,Suc] then N O T X O R NOT Y : [I-Suc,l-Slc]

Page 9: Support logic programming

SUPPORT LOGIC PROGRAMMING 81

A AND B A AND NOT B A A

s1.sz S l . ( l - U2) s1. (U2 - S2)

NOT A AND B NOT A AND NOT B NOT A NOT A

(1 - U1) .sz ( 1 - U l ) . ( 1 - U2) (1 - Ul) . (U2 - s2: B NOT B U

U ( U 1 - S1) .s2 (U1- S1) . (1 - u2: (U1-Sl) . (U2-S2) -

V. MODELS FOR UNIQUE ASSIGNMENT OF NECESSARY SUPPORTS

Multiplication Model This rule corresponds to Dempster’s rule of multiplication in the Shafer/

Dempster theory of evidence. We will show later that it corresponds to an ex- pectation of voting scores in the voting model for interpreting the supports.

Sl(X AND Y) = Sl(X).Sl(Y)

for any proposition instantiation of X and Y. We thus obtain the assignment table of Figure 2. In this case

Su(XAND Y) = Su(X).Su(Y)

since

SU(X AND Y) = 1 - Sl(NOT(X AND Y)) = Sl(N0T X OR NOT Y ) = 1 - Sl(N0TX) - Sl(N0T Y) + Sl(N0TXAND NOT Y ) = 1 - Sl(N0T X) - Sl(N0T Y) + Sl(N0T X).Sl(NOT Y ) = (1 - Sl(NOTX))(l - Sl(N0T Y)) = SU(X).SU ( Y )

Also

Sl(X0RY) = Sl(X) + Sl(Y) - Sl(X).Sl(Y) Sl(X0RY) = SU(X) + SU(Y) - SU(X).SU(Y)

using the results above.

A : [Sl , Ul] ; B : p 2 , U2]

s1

1 - u1

u 1 - s1

Figure 2.

Page 10: Support logic programming

82 BALDWIN

MIN Model

For this model we assume the MIN rule of Fuzzy Logic for the main diagonal cells of the assignment tableau. Thus

Sl(A AND B ) = S1 A S2 Sl (N0T A AND NOT B ) = (1 - Ul) A (1 - U 2 ) Sl(AANDUNSURE-OF-B) = (U1 - S1) A (U2 - S 2 )

The latter statement corresponds to the assumption of not assigning more than is necessary to definite statements. We will give a further interpretation for this model later in terms of group voting behavior. The first two statements corres- pond to the assumption that one of the two statements strictly implies the other and has been discussed by Gaines" and B a l d ~ i n . ~ For this case the complete assignment is that given in Figure 3. We also have the results

Sl(A AND B) = Sl(A) A S l ( B ) Sl(A OR B) = Sl(A) V Sl(B)

since

Sl(A OR B) = Sl(A) + S l ( B ) - Sl(A AND B) = Sl(A) + Sl(B) - Sl(A) A Sl (B)

so that

(1) if Sl(A)<Sl(B) then Sl(A OR B)=Sl(A)+Sl(B)-Sl (A)

(2) if Sl(A)>Sl(B) then Sl(A OR B)=Sl(A)+Sl(B)-Sl (B)=

(3) if Sl(A)=Sl(B) then Sl (A0R B)=Sl(A)=Sl(B)-Sl(A)VSl(B)

= S1 (A )vSl ( B )

S1(A )VWB)

A : [SI , Ol] ; B : p2 , 1121

s2 1 - u2 u2 - sz

s 1

1 - u1

01 - s 2

A

NOT A

U

Figure 3.

Page 11: Support logic programming

SUPPORT LOGIC PROGRAMMING 83

A AND B

4r2 1 A

NOT A AND B NOT A

0

B

VZl U

An example of the min model is given in Figure 4, and the following results can be determined

A AND B : [4/21,13/21] A AND NOT B : [0,9/21] NOT A AND B : [0,9/21] NOT A AND NOT B : [5/21,14/21]

It should be noted that the supports in the second column can be obtained from those in the first column since

IF X AND Y : [S,u] then NOT X OR NOT Y : [l-U,l-S]

NOT A OR NOT B : [8/21,17/21] NOT A OR B : [12/21,1] A OR NOT B : [12/21,1] A OR B : [7/21,16/21]

Another example is given in Figure 5 . It can also be observed that

S l ( N 0 T A OR NOT B) = Sl (N0T A ) V S l ( N 0 T B) This result easily follows from above.

A AND NOT B A

0 0

NOTA AND NOT I) NOT A

512 1 0

NOT B U

u 2 1 612 1

Mutual Exclusion Model

In this case it is assumed that not both A and B can be true, so that A411 =O and it follows from the assignment algorithm that Sl(A ORB) = Sl(A ) + Sl (B) as expected.

General Assignment

The assignment algorithm can be used to provide more general solutions as illustrated in Figure 6. The tableau in diagram (c) shows an example of a mean interval model. For example, in the top left-hand corner, the assignment value of 1/8 is the mean of the interval [0,1/4] from which the value of M11 must be chosen for this example. Diagram (d) illustrates a family of solutions obtained

712 1 8/2 1 612 1 B NOT B U

412 1

512 1

12/21

Figure 4.

Page 12: Support logic programming

84

A AND B A AND NOT B A

w 2 1 0 0

Nor A AND B NOT A AND NoT B NOT A

2 i 2 1 1w21 0

B NOT B U

v2 1 0 w2 1

BALDWIN

1

4 ’ 2 1

12/21

5 / 2 1

A

NOT A

U

by drawing an assignment algorithm loop using the top 4 left-hand corner cells of diagram (a), and adding and subtracting arround the loop so as not to violate row and column allocation constraints.

VI. THE REPRESENTATION OF FUZZY SETS

If ~ E H is-tall(X) : - person(X),height(X,h) : [Sh,Sh]. and we let

Xtaldh) = Sh XNOT t a l d h ) = - Sh

then xtall is a membership function for the fuzzy set “tall”

0 X Y 1

Figure 6.

Page 13: Support logic programming

SUPPORT LOGIC PROGRAMMING 85

This is, of course, a special version of the use of POSSIBILITY and NECESSITY measures of fuzzy set theory. See Dubois and Prade’ for details of these measures.

If we write POS and NEC for possibility and necessity measures, respecti- vely, then

POS(tall1h) = Xtal,(h) and NEC(tall(h) = 1 - POS(N0T tall I h) = 1 - Xtadh)) =Xtall (h)

so that we can write

POS(tal1lh) = NEC(tall1h) = Sh.

Thus for the case in which POS(tall1h) and NEC(tall1h) are not numerically the same, we have a generalization of the usual definition of a fuzzy set. This is useful for the case in which the h in the above example is an interval or fuzzy set itself. For example, we might be interested in the conditional (talllaverage) or the conditional (ta111[70,73]). We will interpret the necessary and possible supports in these cases as the usually defined NECESSITY and POSSIBILITY measures of fuzzy set theory as mentioned above. Given the statement that

Between lOOx and lOOy percent of the cells are reliable where x<y

then we can support a statement that a given cell is reliable as

A given cell is reliable : [x,y]

since the probability that the given cell is reliable lies between x and y so that x is the least support and y is the most support that can be given to the statement. Another viewpoint for this is to consider the interval [x,y] as a possible distri- bution over proportion space and determine the POS([x,y]lp) and NEC([x,y]lp) where p is the fuzzy set

xp(y) = y for all y E [0,11]

as shown in Figure 7.

support logic statement A more interesting example is shown in Figure 8, which corresponds to the

Y : - x : [a,b]

representing that “most X and Y.” Here the same method of determining the supports is used but the fuzzy set “most” replaces the interval [x,y].

Consider the support logic program:

wears(X,largeshoes) : - height(X,tall) : [a&]. height(john,average) : [c,df.

In order to find the support for “wears(john,large~shoes),” the system must recognize that “height(X,tall)” semantically unifies with “height(john,average)”

Page 14: Support logic programming

86 BALDWIN

most

0 Proportion 1

Figure 7.

by instantiating X to “john” with the support pair [l -POS(NOT talllaverage), POS(tall1average). This is equivalent to the system adding the clause.

height(X,tall) : - height(X,average) : [e,f].

where

[ e $1 = [NEC(tall\average),POS(tall/average)]

and

NEC(ta1llaverage) = 1 - POS(N0T talllaverage).

This computation is illustrated in Figure 9, and shows another use of fuzzy sets in determining supports.

This is an elementary form of semantic unification which the support logic programming system performs automatically. It does illustrate how, when argu- ments of predicates are instantiated to fuzzy sets, the system is able to cope with the unification. If the knowledge representation is in the form of conceptual graphs an equivalent form of semantic unification in terms of maximal join can be used.

Figure 8.

Page 15: Support logic programming

SUPPORT LOGIC PROGRAMMING 87

mean interval model

( C )

Figure 9.

family of solutions

O < E < l J 4

VII. THE IF CONDITIONAL AND MATERIAL IMPLICATION

In this section we will consider the rule for inference when given a supported conditional and a supported fact corresponding to the antecedent. The logic programming system uses the IF form of conditional but we will also consider the material implication conditional in this section.

The IF Conditional

Consider the two clauses

Page 16: Support logic programming

88 BALDWIN

P

NOT P

From these two clauses, if the PRODUCT MODEL is used, we can infer

P : [ S ~ ( P ~ Q ) . S ~ ( Q ) , ~ - ( ~ - S U ( P ( ~ ) ) . S ~ ( Q ) I which is easily deduced with reference to Figure 10, since

Sl((P : - Q) AND Q ) = Sl(PIQ).SI(Q) = Sl(P)

since this is the only combination which implies P. Furthermore,

S l ( (N0T P : - Q ) AND Q) = (l-SU(P(Q)).Sl(Q) = Sl(N0T P )

since this is the only combination that implies NOT P. Furthermore,

SU(P) = 1 - Sl(N0T P).

The support pair for the inference if the MIN model is used is more complex to state since the allocation to the ((NOT P : - Q ) AND Q ) combination is 0 or a positive number dependent on the values of various supports. This is easily determined with reference to the rule for assignment. For example,

If Sl(PIQ) = 1/4 , Su(P1Q) = 1/2 and Sl(Q) = 1/2, Su(Q) = 3/4 Then using the MIN rule S l ( P ) = 1/4 , Su(P) = 3/4

Sl(N0T P ) = 1/4 , Su(N0T P ) = 314.

This can be derived from Figure 6(a) by replacing A with P : - Q, NOT A with NOT P : - Q and B with Q. In a similar way, Figure 4 can be used to show that :

If Sl(P(Q) = 4/21 , Su(P1Q) = 16/21 and Sl(Q) = 7/21 , Su(Q) = 13/21 Then Sl(P) = 4/21 , Su(P) = 1

Sl(N0T P ) = 0 , Su(N0T P ) = 17/21.

I

P :- Q

NOT :- Q

U

Page 17: Support logic programming

SUPPORT LOGIC PROGRAMMING 89

On the other hand, Figure 5 treated in the same way yields the result

If Sl(PlQ) = 4/21 , Su(P(Q) = 9/21 and Sl(Q) = 7/21 , Su(Q) = 11/21 Then Sl(P) = 4/21 , Su(P) = 19/21

Sl (N0TP) = 2/21 , Su(N0TP) = 17/21.

Material Implication

There has been much discussion on how material implication should be defined in Fuzzy Logic. Bandler,8 Baldwin and Pilsworth,' and Trillas'" have discussed this from different points of view. We might ask how can the support pair for P 3 Q be determined given the support pairs for P and Q. Since

P 3 Q = NOT POR Q

we can answer this question using the combination rules given above. Thus, for the MULTIPLICATION MODEL If P : [Sl(P), Su(P)] and Q : [Sl(Q), Su(Q)]

Then S l ( P 3 Q) = Sl (N0T P OR Q) = Sl (N0TP) + Sl(Q) - Sl(NOTP).Sl(Q) = 1 - SU(P) + Su(P).Sl(Q) = 1. - Su(P).Su(NOT P)

And Su(P 3 Q) = Su(N0T P OR Q) = Su(N0TP) + SU(Q) - Su(NOTP).Su(Q) = 1 - Sl(P) + Sl(P).SU(Q) = 1 - Sl(P).Sl(NOT P)

For the special case in which Sl(P) = Su(P) and Sl(Q) = Su(Q), we have that S l ( P 3 Q) = Su(P 3 Q) = 1 - Sl(P).Sl(NOT Q , so that

IfSl(P) = Su(P) = xandSl(Q) = Su(Q) = y ThenSl(P 3 Q) = SU(P 3 Q) = 1 - x(1 - y ) .

VIII. COMBINING EVIDENCES SUPPORTING THE SAME CONCLUSION

In a logic program a theorem may be able to be proved in more than one way, so that there may be several possible proof paths associated with the proof of a theorem. In the case of a support logic program each proof path corresponds to a certain evidence supporting the theorem. Thus the theorem can be supported with a list of support pairs, and these must be combined to obtain the overall support for the theorem.

Page 18: Support logic programming

90 BALDWIN

P

Sl.S2

4

(1 - U1) .s2

P

NOT P

P U

(Ul- Sl).S2

Consider the following inference scheme for the MULTIPLICATION MODEL.

P : - Ql : [S l (P IQ1) ,S~(P(Ql ) ] . P : - Q 2 : [SI(PIQ2),Su(PIQ2)]. Q l 9 2

: [ S1 ( e l ) .Su(Q2)]. : IS1 (Q2) ,Su( Q2)] .

+

4 P

S1.(1- UZ) Sl.(U2-S2) NOT P NOT P

( 1 - U).(l- U2) (1 - Ul).(U2-S2) - NOT P U

(Ul- Sl).(l-U2) (lJl-Sl).(UZ-S2)

P : [SI(P1Ql).Sl(Ql), l - ( 1 - Su(PJQl ) ) .S l (QI ) ] from thc two proof

P : [SI(P1Q2).Sl(Q2),1 - (1 - Su(PJQ2)).SI(Q2)] paths

P : [SI(P),Su(P)] combining two proof path results.

Two separate proof paths are used to determine a support pair for the inference P. These are combined to give the overall support for P . How do we obtain SI(P) and Su(P) from the support pairs of the two paths?

Consider the inference scheme:

P : [S l ,U l ] . P : [S2,U2].

P : [S ,U] .

then from Figure 11, we deduce that

s = {SI.S2 + Sl (U2 - S2) + S2(U1 - S l ) } / K = (Sl .U2 + S2.Ul - Sl.S2)/K

and

U = {(l - U l ) . ( l - U2) + (1 - Ul).(U2 - S2) + (1 - U2).(Ul - Sl )} /K ((1 - U1).(1 - 52) + (1 - U2).(Ul - S l ) } / K

where

K = 1 - S2(1 - U1) - S l ( 1 - U2)

s1

1 - u1

Ul - s1

Page 19: Support logic programming

SUPPORT LOGIC PROGRAMMING 91

if we use Shafer’s renormalization method of resolving conflicts. For example, the second cell in the first row and the first cell in the second row of the tableau of Figure 11 implies P AND NOT P which is not allowed, so that the supports S1.(1 - U2) and (1 - Ul).S2 must be reallocated. If the realloca- tion is performed in the sense that

Sl(1 - U2) + (1 - Ul).S2

is shared amongst the other cells in the proportions of their existing supports, then the rules given above follow. This rule is reasonable when interpreted in terms of the group voting model and the expectation of voting pattern scores discussed later.

The problem of combining evidences in the case when we use the MIN MODEL is more complex to deal with. The assignment of the supports is first done in the usual way, so that, for example,

(a) If

P : [4/21,16/21]

from one proof path and

P : [7/21,13/21]

from another proof path. Then combining these two cases gives

P : [7/21,13/21]

as can be deduced from Figure 4 by replacing both A and B with P. It also follows that

NOT P : [8/21,14/21]

(b) If P : [4/21,9/21]

from one proof path and

P : [7/21,11/21]

from another proof path. Then we cannot combine these two cases without resolving the conflict of a

support of 2/21 being given to NOT P and P. This deduction is seen by reference to Figure 5 and replacing both A and B with P . We can resolve this conflict by reallocating the support 2/21 to cells not representing any conflict. The 2/21 entry in the first cell of row 2 is reduced to 0, and therefore the second row support of 12/21 is reduced to 10/21. In order for the three row supports to add up to 1 we must increase the third row support to 7/21. Likewise the first column support must be reduced to 5/21 and the third column support increased to 6/21. This can be proved by reference to Figure 12. This gives the modified problem

Page 20: Support logic programming

92

c

NOT C

U

BALDWIN

r

c c X 6/49 6/69 2/49

NOT C NOT C X 9/49 9/49 3/49

c NOT C U

6/49 6 /69 21 49

Y

El 3/7

2/7

~~

>( re-allocated Figure U.

I f

P : [4/21,11/21]

from one proof path and

P : [5/21.11/21]

from another proof path. Then combining these two cases gives

P : [5/21,11/21]

deduced using Figure 13. This way o f resolving the conflict will be further discussed and justified when dealing with the MIN MODEL in relation to the group voting interpretation in a later section.

w21

10/21

7 /21

NOT

-Figure 13.

Page 21: Support logic programming

SUPPORT LOGIC PROGRAMMING 93

In both these examples, provided we use the modified supports in the case when there is conflict the following rule of combination holds

rf

P : [Sl,Ul]

P : [S2,U2]

and

are the modified supports from two proofs paths

Then P : [Sl v S2,l - ((1 - U1) v (1 - m))]

This rule is true in general providing the modification to resolve any conflict is done as indicated above before combining the two cases. The rule follows the fuzzy logic rule for disjunction. The complete algorithm for this will not be given here but is part of the support logic programming system.

In this section we have dealt with the problem of how to combine supporting proofs from different proof paths pointing to the same theorem. Both the multi- plication and min models have been considered. If more than two proofs paths are available then they can be combined two at a time.

M. SUPPORT LOGIC PROGRAMMING

In this section we will use the above theory to provide the required computa- tional rules for calculating the support pairs associated with solutions to queries given to the support logic programming systems by the user. So that the reader can bring the various parts together, a summary of those aspects of the system necessary to determine these supports, when the MULTIPLICATION MODEL is used, will be given. The language consists of two types of statements :

(1) P : [Sl(P),SU(P)]. (2) f' : -Q : [S1(P)Q),Su(PlQ)].

where Q can be a conjunction, disjunction, or mixture of terms and can include negations.

Rules of Computation :

Sl(X,Y) = Sl(X).Sl(Y) ; Su(X,Y) = Su(X).Su(Y) Sl(X;Y) = Sl(X) + Sl(Y) - Sl(X).Sl(Y) Sl(X,Y) = Su(X) + Su(Y) - Su(X).Su(Y)

Sl(N0T X) = 1 - SU(X) ; Su(N0T X) = 1 - Sl(X)

Resolution :

Page 22: Support logic programming

94 BALDWIN

where the support for Q may come from other conditional clauses and facts in the knowledge base and may involve combining evidences and using semantic unifications.

Rules for Combining Solutions :

P : [Sl,Ul]. P : [S2,U2].

P : [S,U]

where

S = (Sl.U2 + S2.W - S1.S2) / K U = 1 - ((1 - U1)(1 - S2) + (1 - U2)(U1 - Sl)} / K

where

K = 1 - S2.(1 - U2) - S1.(1 - U2)

Inference Mechanism : The approach suggested in this article for determin- ing the proof paths is that of Prolog. The support pairs given to all goals satisfied, including subgoals, must be determined using the rules above. All ways of proving a goal or subgoal must be found and the supports combined to provide the final support pair.

Example Program 1

design(X,satisfactory ) : - performance(X,good), looks(X,modern) : [0.9,1]

design(X,satisfactory) : - cost(X,expensive-for-market) : (0,0.05].

design(X,satisfactory ) : - NOT reliability(X,high) : [0,0.2].

performance(X,good) : - engineers-report(X,satisfactory),

looks(design-1 ,modern) : [0.8,1]. looks(design-2 ,modern) : [0.9,1].

reliability(design-1,high) : [0.7,0.8]. reliability(design-2,high) : [0.8,0.8].

engineers-report(design-1 ,satisfactory) : [0.7,1]. engineer~-report(design_2,satisfactory) : [0.9,1].

cost(design-1 ,expensive-for-market) : [0.6,1]. cost( design-2,expensive-for_market) : [0.3,1].

reliability(X,high) : [0.9,1].

We can now ask queries of the system in the normal Prolog style. For example

? - design(X,satisfactory). X = design-1 : [0.1143869,0.453103] ; X = design-2 : [0.398856,0.759903]

Page 23: Support logic programming

SUPPORT LOGIC PROGRAMMING 95

The last two lines are returned by the system.

? - design(design-1 ,satisfactory). YES : [0.143869,0.453103] ; N O

This illustrates another form of query. The semi-colon says more solutions are required if available. The system can also be run with a trace facility to provide an explanation of how the final answer was obtained, i.e., intermediate results are provided.

Example Program 2

In this example we express fuzzy sets as I.type relations as described for the language FRIL in Baldwin.’ The support system will support tables representing the I. type relations directly. Consider the following knowledge base in which it should be noted that linear interpolation is allowed when reading from the tables. For example, a height of 70 inches satisfies “tall” to the degree 0.5.

wears(X,large-shoes) : - height(X,tall) : [0.9,1].

height(john,average) : [1,1].

We can now ask the query

? - wears(john,large-shoes). YES : [0.36,1]

This uses the idea of semantic unification discussed earlier. The system will also deal with the MIN MODEL and this follows exactly as given here except the rules of computing the support pairs are changed. We will not give further details here.

Example Program 3

workfriends(X, Y) : - worksjn_same_place(X, Y), likes(X,Y), likes(Y,X) : [0.8,1].

Page 24: Support logic programming

96 BALDWIN

works-in-same-place(X,Y) : - works-at(X,Z),works-at( Y,Z).

talLperson(X) : - height(X,H),tall(H).

similar-ability(X,Y) : - work-friends(X,Y) : [0.8,1].

likes(mary,jill) : [0.7,0.8]. likes(jil1,mary) : [0.9,1].

works-at(mary,bcl). works-at(jiI1,bcl).

height( mary,70).

tall(70) : [0.8,0.8].

tall-person(X) : - short-person(X) : [O,O].

short-person(jil1) : [0.9,1].

? - likes(X, Y),tall-person(Y). X = jill, Y = mary : [0.72,0.8] ; X = mary, Y = jill : [0,0.08] ; NO

? - similar-ability(X,jill). X = mary : [0.4032,1] ; N O

It should be noted that any clause which does not contain a pair of supports is understood by the system to have a support pair [1,1]. Likewise any fact not in the knowledge base is understood to have a support pair [0,1] corresponding to its truth is uncertain.

Example Program 4

fly(X) : - is-bird(X) : [0.9,1].

fly(X) : - is-penguin(X) : [O.O].

is-penguin(penny) : [l,l].

? - fly(penny). YES : [O,O]

This example shows that the method can be used to cope with the nonmonotonic logic problem. The application of ShaferBempster method to this area has been discussed by Ginsburg. l2

The examples given here are only given to illustrate the treatment of sup- ports. The support pair addition to Prolog can be used in systems programming in the design of expert systems shells to use control mechanisms based on heuris- tics as well as knowledge bases themselves.

Page 25: Support logic programming

SUPPORT LOGIC PROGRAMMING 97

X. SUPPORT INTERPRETATION

What are these supports, the support for and support against a proposition? Can we produce these numbers for a given rule or fact? The legal system allows a person to be judged guilty or not guilty by using a group vote based on evidence of the court, the rule of law and case histories of previous trials. Members of the group are allowed to discuss and argue amongst themselves before taking the final vote. When the vote is taken, each member of the group can say guilty or not guilty or refuse to commit himself to either proposition. The decision of the court then rests on the proportions in favor, against, and undecided. The decision therefore is dependent on the support the jury gives for and against the prop- osition. A support pair could therefore be interpreted in terms of a group vote. We will call such an interpretation a group voting model and this will be discussed in more detail below.

The following question might be asked by the reader. Why should a group of voters who are presented with the same evidence, and present in all discussions, give different commitments when the final vote is taken? This question is by no means trivial, but obviously each member of the group has different experiences, different expertise, and different risk thresholds. In most situations the decision cannot be deduced in a purely logical manner. There is missing information which must be filled in to reach a decision. This missing information can be filled in in many different ways; and each way will have a certain plausibility, dependent once again on the experience and expertise of the voter. Even assuming complete rationality on the part of each voter one would still expect variable decisions for the more difficult cases. Of course, simply to leave the discussion at this point and use the concept of numbers for the support pairs, is not adequate. We have not prescribed a practical method, a recipe for providing the supports. Such a method would require a possibility analysis to find all possible ways of filling in the missing information and providing confidences for each combination of missing information. An imaginary set of *ten could then be established to provide the final vote. Further difficulties arise with borderline cases where lack of definition is the cause of the uncertainty.

From a simple-minded point of view one could imagine a person with a bottle filled with a unit amount of liquid. He gives so much liquid to the proposition in question and so much to its negation and leaves the restin the bottle. This simple model is consistent with the mathematical development of the theory of support pairs given above. It does not, of course, help to establish what the support pairs should be in any situation. This particular model can be used to extend the indifference of gambles argument of subjective probability theory to be consistent with the theory of supports given in this article.

In the theory of conceptual graphs (Sowa”), a proposition is represented in graph form in which nodes are concepts and arcs are relationships between con- cepts. Each concept has a type and referent which may be generic. The type belongs to a type lattice so separating the “isa” relation of semantic nets from the graph itself. Graphs can be joined, restrictions made on concept types, examples

Page 26: Support logic programming

98 BALDWIN

of concepts represented in the form of schema and used for plausible reasoning. A semantic match can be made between two graphs, providing a measure of support of one for the other. For example, suppose the concept of a chair is defined in terms of a set of graphs where each graph corresponds to a type of chair. Suppose also that we are presented with an object and the decision must be made as to whether this is a chair or not. Semantically matching the object with each of the chairs will provide a support pair for the object being a chair. The set of example chairs represents a cluster of objects to which we attach the label chairs. The support pair given to the object will therefore represent the support pair that the object belongs to this cluster. A complete theory for this has not yet been developed, but the approach seems promising.

XI. A VOTING MODEL FOR SUPPORT PAIRS

In this section we will use the group voting model to investigate different ways of combining support pairs and relate this to the multiplication and min models used in the general theory above.

We will interpret the fact

P : [ S l ( P ) , S u ( P ) ] .

in terms of the group voting model as implying that:

(1) A proportion S l ( P ) voted €or P , i.e., were willing to commit their vote

(2) A proportion 1 -Su(P) voted for NOT P , i.e., were willing to commit

(3) A proportion S u ( P ) - S l ( P ) abstained from voting, i.e., were not willing

to P .

their vote to NOT P .

to commit their vote to either P or NOT P .

Likewise, we will interpret the rule

P : - Q : [SI(PIQ),SU(PIQ)I.

in terms of the group voting model as implying that:

(1) On evidence Q a proportion S l ( P ( Q ) voted for P, i.e., were willing to commit their vote to P .

(2) On evidence Q a proportion l-Su(PIQ) voted for NOT P , i.e., were willing to commit their vote to NOT P .

(3) On evidence Q a proportion Su(P(Q) -S l (P lQ) abstained from voting, i.e.. were not willing to commit their vote to either P or NOT P .

For example, the value of a and b in the statement.

drive(X,largecar) : -american(X) : [a ,b] .

would depend on the background knowledge of the voters with respect to the behaviour pattern of American drivers. In the text above these values were also

Page 27: Support logic programming

SUPPORT LOGIC PROGRAMMING 99

determined from possibility and necessity measures associated with the fuzzy set “most.” In this case it was assumed that driving patterns of Americans satisfied the general statement “most Americans drive large cars.” We will assume that a similar result would be obtained from a group vote.

Multiplication Model

Consider the case where

A : [2/3,1] ; B : [1/3,1]

so that 2/3 of the group voted for A, the remainder being unsure about A and 1/3 of the group voted for B, the remainder being unsure of B. Consider the case of three voters, then the possible voting patterns are

U A A A U A VOTING PATTERNS A A U

1 2 3 VOTERS

B U U U B U VOTING PATTERNS U U B

Any line above VOTERS line can be combined with any line below VOTERS line to give combined voting pattern. For example, line 1 above with line 3 below gives

U A A U U B

which would give

Sl(A AND B) = 1/3.

Thus we can determine for each combination of voting patterns the vote for the proposition A AND B. The nine possible values are

Sl(A AND B) = 1/3 ; 1/3 ; 0 ; 1/3 ; 0 ; 1/3 ; 0 ; 1/3 ; 113

We have no reason to choose one combination of voting patterns over any other, so that we will assume these nine combinations are equally likely. The expected value of Sl(A AND B) is then given by

E Sl(A AND 8) = 2/3.1/3 = 2/9

so that for this example with the equally likely assumption and using the expected value

Sl(A AND B ) = Sl(A).Sl(B)

Page 28: Support logic programming

100 BALDWIN

providing some justification for using the multiplication rule. This result is gener- ally true and is easily proved.

MIN Model

Consider the example of Figure 3, namely,

A : [Sl,Ul] ; B : [S2,U2]

and the assumptions

(1) The total uncommited support is maximized. (2) Group voters who vote positively for one will vote, if possible, positively

for the other, i.e., those who vote for A will if possible vote for B and vice versa.

(3) Group voters who vote negatively for one will, if possible, vote nega- tively for the other, i.e., those who vote for NOT A will vote, if possible, for NOT B and vice versa.

These assumptions require that

M11 = S1 A S2 M22 = (1-Ul) A (1-U2) M33 = (Ul-Sl) A (U2-S2)

and the other Mij are then uniquely determined. This corresponds to the MIN model described previously. One way of justifying the assumptions used here is to assume that each voter has threshold levels: one to make the decision to vote in a positive way and one to decide to vote in a negative way. The region in between these two levels corresponds to abstaining from voting. In addition, it is assumed that a voter has constant threshold levels.

Combining Evidences

Consider the following example:

prisoner(X,guilty) : -evidence-l(X) : [2/7,4/7]. prisoner(X,guilty) : -evidence-2(X) : [3/7,4/7]. evidence-l(john) : [1,1]. evidence_2(john) : [1,1].

If we use the MULTIPLICATION MODEL, then

? - prisoner(john,guilty). YES : [7/17,8/17]

The reallocation of support from impossible statements

{G AND NOT G 1 El and E2}, {NOT G AND G 1 El and E2)

to the other statements is in proportion to the previous allocation of these

Page 29: Support logic programming

SUPPORT LOGIC PROGRAMMING

C

21 7 c 6/19

X El 3/7 NOT C

9/49

G

2 f 7 U 6/49

101

X C

S/ 49 2/49

NOT C NOT C

9/49 3/49

NOT c U

6/49 2/49

statements as depicted in Figure 14. This method of reallocation may not zlways be justified.

If we use the MIN MODEL, then

? - prisoner(john,guilty). YES : [3/7,4/7]

In this case there is no conflict as shown in Figure 15. This will not, of course, always be the case with the MIN MODEL. Consider the following case which has the same form as the example just given but with different support pairs.

EVIDENCE El E2

G 517 117 NOT G 0 417 UNSURE 217 217

- -

C2

31 7 117

E l

Y7

3/7

21 7

NOT

c

c

U

Figure 15. Prisoner Problem-MIN Model, no conflict.

Page 30: Support logic programming

102 BALDWIN

The MIN MODEL generates conflict as shown in Figure 16. The voting pattern in this case assuming a voting combination with minimum conflict is

G G G G G LI U ; El G U U NOTG NOTG NOTG NOTG ; E2

We will assume that voters whose votes are in conflict change their votes to unsure. This makes sense for certain applications. In this particular example a voter is willing to commit himself to a certain decision on evidence 1 and to the opposite decision on evidence 2, but when told that the two evidences correspond to the same person John he will then have to abstain since from his point of view the evidences point in opposite directions. This then produces the voting scheme

xxx xxx NOT ALLOWED

G G G U U U U ; El G U U U U NOTG NOTG ; E 2

giving

G G G U U NOTG NOTG ; E l a n d E 2

This corresponds to the modified supports

EVIDENCE El E2

G 317 117 NOT G 0 217 UNSURE 417 417

~-

and therefore the combination results in

Sl(GIE1 and E2) = 3/7 Sl(N0T GlEl and E2) = 2/7

Su(GIE1 and E2) = 5/7 &(NOT G(E1 and E2) = 4/7

which satisfies the fuzzy logic rules of combination discussed in the MIN MODEL in Section VIII.

E2

v7 4/ 7 21 7

517

E l 3/7

21 7

c

NOT C

I1

Figure 16. Prisoner Problem-Min Model, conflict.

Page 31: Support logic programming

SUPPORT LOGIC PROGRAMMING 103

If we use the MIN MODEL for answering the query posed in example 4 of Section IX, we would obtain

? - fly(penny). YES : [0,0.9]

This result is not satisfactory but it corresponds to a situation for which the assumptions of the MIN MODEL are not applicable. The evidence concerning birds in general is background information, while the rule about penguins is specific information. The background information should only be used in the absence of more relevant information. The MIN MODEL treats all information as equally applicable, while in this example the voting pattern corresponding to the specific rule should override the other voting pattern. Another example of this form is the following.

It is known that most 40-year-old Americans live at least another 10 years. It is almost certain that a cancer patient of type XXX will die within 10 years. John is a 40-year-old American suffering from type XXX cancer. What is the evidential support that John will reach 50 years of age?

In order to solve this problem certain additional assumptions can be made. The world statistics about cancer patients can be transferred to the American population and therefore John belongs to the subset of Americans for which this statistic applies approximately. It would make nonsense to apply the MIN MODEL to this example. On the other hand, the MULTIPLICATION MODEL gives quite a reasonable result

live-lO-more-years(X) : -age(X,40),american(X) : [0.8,1]. live-lO-more-years(X) : -cancer(X) : [0.0.1]. american(john) . age( john ,40). cancer( john).

? - live-lO-more-years(john). YES : [0.29,0.36]

? - NOT liv-lO-more-years(john). YES : [0.64,0.71]

XII. CONCLUSION

In this article we have discussed a support logic programming system which uses a theory of support pairs to model various forms of uncertainty associated with the facts and rules of the knowledge base. The query language is used in the same way as Prolog and in fact is easily written in Prolog. The calculus treated in this article is part of the F.R.1.L system and a portable version of this will soon. be available (Baldwin and Martin5).

The theory uses ideas from Zadeh’s fuzzy set theory and the ShafedDernpster theory of evidence specialized to apply to the particular form of knowledge representation and inference mechanism of the support logic programming system. A similar approach can be used with the language C.R.1.L which is based on conceptual graph theory and provides the same power as Prolog but with

Page 32: Support logic programming

104 BALDWIN

additional facilities for use of other logics than first order predicate logic and for plausible reasoning.

It is thought that this approach to treating uncertainty will prove to be very useful for designing expert system shells and for the knowledge representation and inference part of expert systems. Related work of interest can be found in Yager . 21

References 1. P.A. Achinstein, The Conceptof Evidence. Oxford University Press, Oxford. England.

1983. 2. J.F. Baldwin, “An inference language based on fuzzy logic,” Proc. of Expert systems

B. C.S. Special Group Conf., Cambridge, England. 3. J.F. Baldwin, “Fuzzy reasoning: the need for blunter tools,” 1.B.M Science and

Uncerrainty Conference papers, Science and Uncertainty, Sara Nash (Ed.), Science Reviews Ltd., 1983. pp. 119-137.

4. J .F. Baldwin and B. Crabtree, “CRIL-A conceptual relation inference language.” to appear.

5 . J.F. Baldwin, T.P. Martin, and B.W. Pilsworth,,“The implementation of Fprolog- a fuzzy prolog interpreter,” Fuzzy Sets and Systems, to appear.

6. J.F. Baldwin and R. Monk, “Evidence theory, Fuzzy Logic and Logic Programming.” to appear.

7. J.F. Baldwin and B.W. Pilsworth, “Axiomatic approach to implication for approxi- mate reasoning with fuzzy logic,” Fuzzy Sets and Systems 3, 193-219 (1980).

8. W. Bandler and L. Kohout, “Fuzzy power sets and fuzzy implication operators,” Fuzzy Sets and Systems, 4, 13-20 (1980).

9. D. Dubois and H. Prade, Fuzzy Sets and Systems Theory and Applications, Academic. Orlando, FL. 1980.

10. B.R. Gaines, “Fuzzy and probability uncertainty logics,” Information Control, 38(2),

11. B.R. Gaines and M.L.G. Shaw, “New directions in the analysis and interactive elicitation of personal construct systems,” In Recent Advances in Personal Construct Theory, M. Shaw (Ed.), Academic, Orlando, FL, 1981.

12. M.L., Ginsberg, “Non-monotonic reasoning using Dempster’s rule,” Proc. Nu!. Conf. on Artificial Intelligence (AAAI-84). 1984, pp. 126- 129.

13. G.A. Kelly, The fsychologyof Personal Constructs, W.W. Norton, New York, 1955. 14. C.S. Peirce, Collected Papers, C. Hartshorne and P. Weiss, (Ed.), Cambridge, MA,

15. N. Rescher, Induction. Blackwell, Oxford, England, 1979. 16. G.N. Schlesinger, The Range of Episternic Logic, Aberdeen University Press. Aber-

17. G. Shafer, A Mathematical Theory of Evidence, Princeton University Press, Princeton,

18. J.C. Sheperdson, “Negation as failure,” Rep. PM-01-85, School of Mathematics,

19. J .F. Sowa, Conceptual Structures, Addison Wesley, Reading, PA, 1984. 20. E. Trillas and L. Valerde, “On modus ponens in fuzzy logic,” Int. Symp. Multi-

valued Logic, 1985. 21. R. Yager, “On the Dempster-Shafer framework and new combination rules,” Tech.

Rep. MII-504, Machine Intelligence Institute, Iona College, New Rochelle, NY, 1083. 22. L.A. Zadeh, “Fuzzy sets,” Information and Control, 8, 339-353. 23. L.A. Zadeh, “Fuzzy sets as a basis for a theory of possibility.” Fuzzy Sets and Sysrems

24. L.A. Zadeh, “A theory of approximate reasoning,” In Machine Intelligence Vol. 9.

154- 169 (1978).

1933. Vol. 2.

deen. Scotland, 1985.

NJ. 1976.

University of Bristol, Bristol, England, 1985.

1, 3-28 (1978).

D. Michie, and L.I. Mikulich (Eds.), Wiley, New York, 1979, 149-194.