7.7 INVALIDATION OF DATA: NON-MONOTONIC REASONING

Let us suppose that after obtaining preliminary classi¬cations, we ¬nd that an

unacceptable degree of ambiguity exists among classi¬cations that are mutually

exclusive. (It is not always the case that classi¬cations are mutually exclusive.

For example, two or more diseases may be concurrently present in a patient.)

Since the classi¬cations are mutually exclusive, ambiguity in the fuzzy set of classi-

¬cations represents a contradiction that we must now resolve.

TEAM LinG - Live, Informative, Non-cost and Genuine !

128 INFERENCE IN A FUZZY EXPERT SYSTEM II

It is fairly common, in this case, to accept the classi¬cation that has the highest

grade of membership. This is easily done, but somewhat dangerous. We have on

a number of occasions found that the classi¬cation with the highest degree of

membership was, in fact, not the correct one. Resolving contradictions requires

non-monotonic reasoning; we wish to invalidate something previously believed to

be true, and write rules for this purpose. The antecedent of such a rule represents

our criteria for rejecting the preliminary classi¬cation. But our default reasoning

is monotonic, and we must now implement non-monotonic reasoning. This is

accomplished by setting values for truth values directly. Truth values of data, inclu-

ding grades of membership in fuzzy sets, are attributes themselves, and can have

values set to whatever we desire by the consequent of a rule. Suppose we have

declared a discrete fuzzy set of classi¬cations:

declare Data

class fzset (class1 class2 class3);

and have written classi¬cation rules

rule r1 IF (antecedent A) THEN class is class1;

rule r2 IF (antecedent B) THEN class is class2;

rule r3 IF (antecedent C) THEN class is class3;

rule r4 IF (antecedent D) THEN class is class1;

The con¬dence in antecedent A is 0.6, in antecedent B is 0.8, in antecedent C is 0,

and in antecedent D is 0.9. Rule r1 ¬res, setting the grade of membership of class1 to

0.7. Rule r2 ¬res, setting the grade of membership of class2 to 0.8. Rule r3 fails to

¬re, leaving the grade of membership of class3 at its initialized value of 0. Finally,

rule r4 ¬res, resetting the grade of membership of class1 to 0.8 since our default

reasoning is monotonic.

In the next block of rules, we have written a rule speci¬cally to detect and correct

contradictions. This rule is

IF (in Data class is class1 AND class is class2 AND

correction clauses here)THEN in 1 class.class1 = 0;

The last rule sets the membership of class1 to 0. When modifying truth values and

grades of membership directly as attributes, reasoning is non-monotonic. This is a

very important point. When modifying data values or grades of membership in

fuzzy sets by such consequent clauses as

in 1 x is 4;in 2 class is class1;

reasoning and management of truth values is monotonic. But if truth values are

modi¬ed directly, as in

in 1 x.cf is 0;in 2 class.cf is .5;

TEAM LinG - Live, Informative, Non-cost and Genuine !

129

7.9 MODELING THE ENTIRE RULE SPACE

reasoning is non-monotonic and the speci¬ed value for truth value or grade of mem-

bership will be stored regardless of its prior value.

7.8 MODIFICATION OF VALUES OF DATA

Modi¬cation of data values is a fairly simple matter. The default reasoning is mono-

tonic; replacement of a data value by a new value is not permitted if the truth value

of the new value is less than that in the existing value.

Replacement of data if the truth value of the new value is greater than that of the

existing value is easily justi¬ed. [wec1]Replacement of an old value by a new value if

truth values are equal [wec2]is justi¬ed on two scores. First, the new value is more

recent than the old. Second, if replacement of equal truth value is not allowed, it

becomes very dif¬cult to write a working program at all; replacement on equal

values because of recency is extremely common, and accomplishing it[wec3] when

necessary would require considerable extra code. We would have to reset the old

truth value directly by the non-monotonic reasoning permitted when truth values

are directly manipulated, then carry out the replacement in a second rule, ¬red

after the truth value had been reset.

There is a command available to reset the antecedent con¬dence to any desired

value; in the consequent of a rule, the command

reset;

sets the antecedent con¬dence to full. If it is desired to set the antecedent con¬dence

to another value, say kNl, this can also be accomplished by the reset command;

reset <N>;

By using the reset command, data values may be replaced even if the antecedent

con¬dence is less than the existing truth value of the old value.

7.9 MODELING THE ENTIRE RULE SPACE

Up to this point, we have been concerned with modeling a single rule of the general

type

if p then q (7:16)

where p is an antecedent, usually complex, and q is a consequent that modi¬es an

attribute of type integer, ¬‚oat, string, fuzzy number, or member of a discrete

fuzzy set. The consequent has not been a complete discrete fuzzy set; we have

implicitly assumed that when we are trying to establish a new complete discrete

TEAM LinG - Live, Informative, Non-cost and Genuine !

130 INFERENCE IN A FUZZY EXPERT SYSTEM II

fuzzy set, that we have a number of rules of the general type

if pi then q0j ¼ qj (7:17)

where pi is a member of the set of antecedents P, qj is a member of the consequent

discrete fuzzy set Q with grades of membership de¬ned prior to ¬ring the rule set,

and qj0 is a member of the consequent discrete fuzzy set Q0 with grades of member-

ship de¬ned after ¬ring the rule set. A rule con¬dence ri is associated with each such

rule; if omitted from the rule, ri is assumed to be 1.

It may be more ef¬cient to look at a whole collection of rules of type (7.17) rather than

to look at single rules when solving a problem. We now deal with modeling the entire

space of such rules. We assume that we have N input variables represented by N discrete

fuzzy sets, each with M members, and one output variable, represented by a discrete

fuzzy set with Q members. We will also assume that there is a con¬dence associated

with each rule. Each rule may be uniquely identi¬ed by the antecedent and consequent

subscripts. The rule con¬dences are the elements ri, j of the rule con¬dence matrix R. The

R matrix is of great importance; it relates inputs to output for a particular problem.

There are several steps involved in evaluation of a rule set. (Note that fuzzi¬ca-

tion and defuzzi¬cation are broken out as separate steps.) Step 1: Any fuzzi¬cation

necessary takes place so that numeric attributes are mapped onto the grades of mem-

bership of discrete fuzzy sets. Step 2: The truth values of the antecedents are deter-

mined. Step 3: The antecedent truth values are combined with rule con¬dences to

yield antecedent con¬dences, now representing the consequent con¬dence with

which consequent may be executed, the consequent con¬dences. Step 4: The conse-

quent con¬dences are combined with existing truth values of consequent discrete

fuzzy set members to yield their new grades of membership. If defuzzi¬cation is