Page 2 of 3
If you suggest using a system of logic that has more than two truth values to the proverbial 'man in the street' then the likely result is a straight jacket!
To even contemplate that a fact can be some how intermediate between true and false seems like the first step on the road to madness. Of course it all depends what you use the intermediate value to represent. As long as you can come up with a good interpretation for three truth values and a set of operations that don't lead to any contradictions then what you have is sense and far from madness.
The only trouble is that there are many multi-valued logics, each one designed to overcome some particular problem.
Kleene's three-valued logic
For example, there is Kleene's three-valued logic which uses True, False and Undecided. True and false have their usual interpretation but now a fact can be undecided. The basic idea behind Kleene's logic is that any statement that can be proved from its components is assigned that truth value, even if it involves components that are undecided.
For example, in Kleene's logic the usual operations AND, OR and NOT become:
A AND B | T F U
T | T F U
F | F F F
U | U F U
A OR B | T F U
T | T T T
F | T F U
U | T U U
A | NOT A
T | F
F | T
U | U
There are no real philosophical difficulties with Kleene's logic as long as we interpret U as unproven. In other words, it's not that the fact is genuinely neither true nor false it's just that we don't know which it is at the moment.
There are versions of three-valued logic which postulate that some facts may truly be intermediate between true and false but these seem to be of little use in AI.
Once you have got used to the idea of a three-valued logic it doesn't seem so shocking if someone suggests a four- or five-valued logic. It all comes down to a reasonable interpretation of the new truth values.
However you still may not be prepared for the idea of 'fuzzy logic' where there are an infinite number of truth values!
Fuzzy logic comes into being by way of the observation that we use terms such as 'small', 'large', 'hot', 'cold' etc. without being at all precise.
Traditional logic maintains that you should be able to say whether 'X is hot' is true or false. However you might be prepared to say that '100C is hot' is true but what about '40C is hot' or '39C is hot' etc.. There is a sense in which the statement '39C is hot' is true but not as true as '100C is hot' is true.
What we are working towards is the idea that the truth value of such statements really is somewhere between true and false. If you represent true by 1 and false by 0 then fuzzy logic differs from conventional logic by allowing truth values between 0 and 1.
For example, you might say that '35C is hot' is only .5 true.
This only leaves the question of what propositions such as A AND B mean in fuzzy logic. This is easier to answer than you might think. If we use the definitions:
A AND B = MAX(A,B)
A OR B = MIN(A,B)
NOT A = 1-A
then, not only do they seem to produce a reasonable theory, you return to traditional logic if you restrict the truth values to 0 and 1. For example, NOT 1 = 1-1 =0 and NOT 0 = 1-0 =1 and so on..
Fuzzy logic can be used more or less as it stands within expert systems to deal with uncertainty. For example, if you think that the statement 'The petrol tank isn't empty' is .7 true and 'The battery is charged' is .5 true then using the rule:
IF 'petrol tank isn't empty' AND
'battery is charged' THEN
'fault lies in wiring/fuel lines'
you could conclude that 'fault lies in wiring/fuel lines' is min(.7,.5) i.e. .5 true.
In fact the theory of fuzzy logic goes a bit further than this and suggests a particular way in which the truth values should be set up so as to correspond to common terms such as - true, very true, slightly true, not very true etc..
In most of the practical applications of fuzzy logic however this part of the theory is more or less ignored. Indeed you will often find any use of the max or min functions to combine estimates of uncertainly called, without much justification, fuzzy logic.