next up previous
Next: Rules Up: Terap-IA Previous: Uncertainty

Propositions and variables

Propositions and variables are the simplest knowledge representation units in Milord II. They are named structures that represent the concepts dealt within a module. Their declaration is made by binding an atomic name (identifier) with a set of attributes. The attributes may be a long name, the type, relations with other propositions or variables, a question and so on. Propositions and variables declarations can contain user-defined relations with other propositions and variables. We use this possibility in this application, to model, for instance, relations between antibiotics.

The type is the only attribute that is mandatory in propositions and variables declarations and determines the set of allowed values a proposition or a variable can take, apart from the special value unknown, meaning ignorance of the value.

There are three types of propositions, boolean, many-valued and fuzzy; and three types of variables, numerical, linguistic and set. Only many-valued propositions or set variables can appear in the conclusions of rules, as well as in premises of rules. Boolean and fuzzy propositions, and numerical and linguistic variables, are not deduced by the system, they are asked to the user and used only in the premises of rules.

Boolean propositions: They represent concepts which can only be evaluated as either false or true. In Terap-IA most concepts related to antecedents of the patient are boolean propositions, for instance, the knowledge of whether the patient has or not previous adverse reactions to some antibiotics, or whether he is affected or not by a chronic disease.

Numerical variables: The value of a numerical variable is a real number. For instance, the presence in the blood of a patient of creatinine (blood substance which can reach toxic levels with a kidney malfunction) or the number of leukocytes can be numerical variables.

Fuzzy propositions: In some cases we need to deal with vague concepts. For instance, taking the example above, we may be interested in the truthness of the presence of creatinine useful to support a renal failure of the patient, instead of the numerical value of creatinine. Vagueness of concepts can be quantified by the degree of membership of a numerical value to a fuzzy set, so, the presence of creatinine can be modelled by giving a fuzzy set (see Figure 2) that takes as argument the numerical value of creatinine.

  
Figure 2: Fuzzy set representing the concept creatinine.

setsize#2ptxxxxxxsetsize#2ptsplain #1#2#3#1<17#1<20 #1<24#1<29 #1<34#1<41

#3 #1#2#3 @#125<@@25 setsize#2pt @ pt @@ pt #3

picture371

}

The value of a fuzzy proposition is obtained by the application of the fuzzy membership function to the value of a numerical variable obtained from the user of the system. This application returns a number in the interval [0,1]. The final answer is the minimum interval of linguistic termsgif containing that number.

Linguistic variables:   Their values belong to a user-defined finite set of linguistic values. Similarly to the case of fuzzy propositions we can declare a linguistic variable by giving, for every linguistic value, a fuzzy set with respect to a numerical variable.

In Figure 3 we can see a representation of the concept state of white blood cells (swbc for short) by means of three fuzzy sets (linguistic values), leukopenia, normal and leukocytosis. Given a numerical value for leukocytes the system can calculate the value for each linguistic value --the value for swbc is leukopenia, swbc is normal and swbc is leukocytosis-- by applying the corresponding fuzzy sets.

  
Figure 3: Linguistic variable representing the concept leukocytes.

setsize#2ptxxxxxxsetsize#2ptsplain #1#2#3#1<17#1<20 #1<24#1<29 #1<34#1<41

#3 #1#2#3 @#125<@@25 setsize#2pt @ pt @@ pt #3

picture525

}

Many-valued propositions: The concepts represented as many-valued propositions are those whose truth may be graded. That is the case of most deduced concepts, for instance, the degree of severity of illness of the patient or the degree of resistance of pneumococci to penicillin.

Set variables: They are conjunctive fuzzy sets. An example is the concept allergic reactions. It is a set which domain is the set of possible allergic reactions of the patient. If a patient has only an allergy to penicillin, the set variable allergic reactions is a set with value true for penicillin and false for the other allergic reactions of the domain.

Given different set variables we could be interested in applying fuzzy set relations and operations. For instance, we can compare different sets by computing, its intersection degree or inclusion degree. For example, we can say in which degree the set variable allergic reactions intersects with the crisp set with elements penicillin and macrolides, that is, which is the degree of the presence of penicillin and macrolides in the set allergies.


next up previous
Next: Rules Up: Terap-IA Previous: Uncertainty

Josep Puyol-Gruart
Mon Nov 24 11:06:05 MET 1997