Certainty factors
Human knowledge is characterised by uncertainty, in contrast to the true/false (binary) logic of computers. To try to capture this quality of uncertainty an InterModeller expert system may make use of certainty factors. Click below to find out more.
Adding certainty factor tags to rule models
Running a consultation in CF logic mode
Formulae for combining certainty factors
Disadvantages of certainty factors
A certainty factor is an integer in the range from -100 (representing certain falsehood) to +100 (representing certain truth). The purpose of a certainty factor is to quantify the reliability of (or degree of confidence in) a rule or proposition. A certainty factor of 0 represents neutral feelings, 'unknown' or 'don't know'.
Adding certainty factor tags to rule models
To add a certainty factor tag to a rule (or fact), insert CF N before the period. For example, an Easy-f rule with a certainty factor is:
IF it rained yesterday
AND it rained the day before yesterday
THEN it will rain today
CF 60.
This can be read as saying that 'if it rained yesterday and the day before then we can be 60% confident that it will be wet tomorrow'.
Running a consultation in CF logic mode
A model that contains one or more CF tags will be automatically run using a special CF logic mode, a variation of the normal method of depth-first backward chaining in which questions elicit certainty factor values from the user. A model (which could be a tree or table model) that contains no such tags can still be run in CF logic mode but this has to be selected by the user via the Run/Logic menu command. A rule which does not have any certainty factor tag is treated as 100% reliable.
At runtime when in CF logic mode, InterModeller uses a variation of its normal inferencing method of depth-first backward chaining. As normal, top-level rule rules are investigated in listed order. What is different is that for each rule's conclusion, a certainty factor value is computed and if it is positive then the conclusion is presented as advice to the user along with the certainty factor.
Formulae for combining certainty factors
The following set of formulae is used to determine certainty factor values:
Disadvantages of certainty factors
Two disadvantages can be mentioned here. First, the general idea of modelling human uncertainty by numerical certainty factors is controversial. Some people will argue for instance that the formulae described above have little validity. A second, more practical problem is that a consultation in CF logic mode tends to require more work on the user's part than is required by the normal Binary logic mode. For example, when the Erosion example is run in CF mode, the question to establish the level of rainfall appears as below. Ideally, the user should assign a CF to each possible answer (by making three slider selections). If for some answer the user neglects to assign a CF then InterModeller will assume that a default value of 0 (meaning 'Don't know') is appropriate for that answer. This may or may not reflect the user's understanding.