Two alternative logics are described here. Though their value in AI is debatable, they at least have well-defined theories. One of them (Modal Logic) is an extension of PC; the other (Fuzzy Logic) goes against the grain of standard logic. Very few AI people understand it well, but its proponents argue that it is the best way to handle approximate reasoning. MODAL LOGIC =========== Definition ---------- Modal Logic extends PC or FOPL to include MODAL OPERATORS. Possibly, Necessarily, Required, Permitted, Hereafter, and Eventually are all examples of modal operators. Note that none of these is truth- functional -- i.e. the truth value of a proposition containing a modal operator cannot be determined from the proposition with the same modal operator removed. The form of modal logic considered here is an extension of PC, with a single modal operator, L (pronounced "necessarily") taken as primitive. M (pronounced "possibly") is defined as [Def M] Mp =Df ~ L (~ p) A NORMAL modal system is defined as one which contains PC and, in addition, the following axiom: K: L(p -> q) -> (Lp -> Lq) ---------- Models ------ In order to give a semantic interpretation to formulae in normal systems of modal logic, models are used. A model is defined as a triple , where W is a non-empty set of "worlds", R is a set (possibly empty) of pairs of elements of W. The elements of R are usually thought of as a relation of the form w1 R w2 defined over the members of W -- w1 R w2 iff is in R. If w1 R w2, we say that w1 is related to w2, or that w2 is accessible from w1, or that w1 can see w2. V is called a value assignment, and is defined so that for every atom p in every element w of W, either V(p, w) = TRUE or V(p, w) = FALSE. The value assignments of expressions containing ~, ^, v, -> and <-> can be obtained from PC. The value assignments of L and M are, for any wff p and any w in W, [VL] V(Lp, w) = TRUE if V(p, w') = TRUE for every w' in W accessible from w, otherwise, V(Lp, w) = FALSE. [VM] V(Mp, w) = TRUE if V(p, w') = TRUE in at least one world w' accessible from w, otherwise, V(Lp, w) = FALSE. We can now prove that K is valid in every model: ---------- Proof of K ---------- K can be restated as: If L(p -> q) then, If Lp then Lq. K will be proven if we show that, if L(p -> q) and Lp are both true, then Lq is true. If L(p -> q) is true at w, then, by definition, V(L(p -> q), w) = TRUE. Likewise, if Lp is true at w, V(Lp, w) = TRUE. Then, by [VL], in every world w' accessible from w, V(p -> q, w') = TRUE and V(p, w') = TRUE. Hence, by [MP], in every world w' accessible from w, V(q, w') = TRUE. This is true only if V(Lq, w) = TRUE. ---------- Some other modal systems ------------------------ We can add other axioms to K, such as [T] Lp -> p [T] is valid in every reflexive model. A model is reflexive if every world w in W is related to itself, i.e. w R w. Proof: If Lp is true in every w, and w is related to itself, then, by [VL], p is true in w. [D] Lp -> Mp [D] is valid in every serial model. A model is serial if every world w is related to at least one other world. Proof: if Lp is true in w and there is at least one world related to w, then, by [VL], there is at least one world in which p is true. Hence, by [VM], Mp is true in w. D is short for Deontic. Deontic Logic [K] + [D] is the logic of permission (M) and obligation (L). It makes sense to say that if something is obliged to be the case, then it should at least be permissible. Note that [T] is not an axiom in Deontic Logic -- if it were, it would be tantamount to saying that everything which is obligatory is actually true, which is clearly not the case. ---------- FUZZY LOGIC =========== Introduction ------------ Fuzzy Logic is a system of inexact reasoning designed to express and manipulate vague statements containing words such as very, quite, barely and slightly. People tend to qualify or "hedge" what they, as in statements such as "That girl is very pretty", "Paddy is not quite drunk and not quite sober" or "This tastes almost, but not quite, totally unlike tea". Many words are vague even without qualification: at what height does someone become tall? An example of a fuzzy inference is: x is small, and x and y are approximately equal. Therefore, y is more or less small. Unlike First Order Predicate Logic and Modal Logic, Fuzzy Logic is not based on Propositional Calculus. It differs from conventional logic in two important ways (1) It deals with fuzzy modifiers such as "very" and "more or less". (2) Truth values themselves are fuzzy, e.g. "very true", "rather true", "not very true and not very false". Fuzzy concepts are represented using fuzzy sets. Unlike ordinary sets, where a point is either in or out, in the case of fuzzy sets, points have a grade of membership. Grade of membership of the fuzzy set "tall". 1.0 | x x 0.9 | x x x 0.8 | x x x 0.7 | x x x x 0.6 | x x x x 0.5 | x x x x 0.4 | x x x x x 0.3 | x x x x x 0.2 | x x x x x 0.1 | x x x x x x 0.0 +-----+-----+-----+-----+-----+-----+-----+---> 5'2" 5'4" 5'6" 5.8 5'10" 6'0" 6'2" 6'4" Height of man in feet and inches. What this means is that, if you were to take a sample of, say, 1000 people, and ask them whether a man of height 5'8" is tall, about 400 of them would say yes. Nearly everyone would agree that a 6'2" man is tall, but hardly anyone would think that a 5'4" man is tall. We can define tall as a function: tall(height) -> [0, 1] tall(5'4") = 0.0 tall(5'6") = 0.1 tall(5'8") = 0.4 tall(5'10") = 0.7 etc. "not tall" is also a fuzzy set: not(tall(X)) = 1 - tall(X) What about "very tall", "more or less tall", etc.? Zadeh, the main proponent of fuzzy logic, suggests squaring the function to represent "very", and taking the square root to represent "more or less", i.e. very(tall(X)) = tall(X) ** 2.0 more-or-less(tall(X)) = tall(X) ** 0.5 These formulae are rough guides only, and are not to be taken as precisely representing the fuzzy modifiers concerned. It seems reasonable, intuitively, that men of average height (say, 5'8") are less likely to be considered "very tall" than "tall", and more likely to be considered "more or less tall" than "tall". The formulae above predict this. very(tall(5'8")) = 0.16 tall(5'8") = 0.4 more-or-less(tall(5'8")) = 0.63 ---------- Fuzzy Truth Values ------------------ The most striking difference between fuzzy logic and conventional logics is that "true" and "false" are also fuzzy sets, and that it is possible to refer to statements as being "very true", "more or less false", and so on. How does this make sense? Suppose we say "John Cleese is very tall." We could equivalently say "The statement 'John Cleese is tall' is very true." Another way of looking at it is that people disagree about the truth of certain statements (what, then is "false news"). An example of this is "Cantonese and Putonghua are dialects of Chinese." I would argue that they are separate languages, not dialects, because Cantonese speakers need lessons in Putonghua before they can understand it, and, whenever I attempt to communicate with someone from northern China in Cantonese, I get the strong impression that, for all they understand, I might as well be speaking Scots Gaelic. All said, most Chinese seem to disagree with me. We might agree, though, that "The statement 'Cantonese and Putonghua are dialects of Chinese' is not very true." True and false are represented by functions true(x: [0, 1]) -> [0, 1] (an arbitrary function) false(x) = true(1 - x) ---------- Fuzzy Inferences ---------------- Fuzzy inferences make use of the following definitions. As in Modal Logic, we represent the truth value of p as v(p). v(~p) =Df 1 - v(p) v(p v q) =Df max(v(p), v(q)) v(p ^ q) =Df min(v(p), v(q)) v(p -> q) =Df min(1, 1 - v(p) + v(q)) E.g., if f(x) = x and g(x) = 1 - x, then (f ^ g)(x) = x for 0 <= x <= 0.5 1 - x for 0.5 < x <= 1 After a few of these inferences, the fuzzy subset we end up with might become very badly behaved, and bear almost no resemblence at all to the fuzzy subsets true and false. To obtain its value, we find a "linguistic approximation", a best fit to the truth value represented as a function from 0 to 1. We might end up inferring that a particular statement is "more or less false and not very true". ----------