INTRODUCTION
Fuzzy logic is a software technology that expresses logic with some carefully defined imprecision so that it is closer to the way people think. It is a rule-based AI that tolerates imprecision by using nonspecific terms called membership functions to solve problems. Fuzzy systems is an alternative to traditional notions of set membership and logic that has its origins in ancient Greek philosophy, and applications at the leading edge of Artificial Intelligence. Yet, despite its long-standing origins, it is a relatively new field, and as such leaves much more room for development. Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth- truth values between "completely true" and "completely false". It was introduced by Dr. Lotfi Zadeh of UC/Berkley in the 1960's as a means to model the uncertainty of natural language. The use of fuzzy systems makes a viable addition to the field of Artificial Intelligence, and perhaps more generally to formal mathematics as a whole.
THE PROBLEM: REAL WORLD VAGUENESS
Natural language abounds with vague and imprecise concepts, such as "Sally is tall," or "It is a very hot day today." Such statements are difficult to translate into more precise language without losing some of their semantic value: for example, the statement "Sally's height is 152 cm." does not explicitly state that she is tall, and the statement "Sally's height is 1.2 standard deviations about the mean height for women of her age in her culture" is fraught with difficulties: would a woman 1.199999 standard deviations above the mean be tall? Which culture does Sally belong to , and how is membership defined?
While it might be argued that such vagueness is an obstacle to clarity of meaning, only the most staunch traditionalists would hold that there is no loss of richness of meaning when statements such as "Sally is tall" are discarded from a language. Yet this is just what happens when one tries to translate human language into classic logic. Such a loss is not noticed in the development of a payroll program, perhaps, but when one wants to allow for natural language queries, or "knowledge representation" in expert systems, the meanings lost are often those being searched for.
For example, when one is designing an expert system to mimic the diagnostic powers of a physician, one of the major tasks is to codify the physician's decision-making process. The designer soon learns that the physician's view of the world, despite her dependence upon precise, scientific tests and measurements, incorporates evaluations of symptoms, and relationships between them, in a "fuzzy," intuitive manner: deciding how much of a particular medication to administer will have as much to do with the physician's sense of relative "strength" of the patient's symptoms as it will to their height/weight ratio. While some of the decisions and calculations could be done using traditional logic, we will see how fuzzy systems affords a broader, richer field of data and the manipulation of that data than do more traditional methods.
HISTORIC FUZZINESS
The precision of mathematics owes its success in large part to the efforts of Aristotle and the philosophers who preceded him. In their efforts to devise a concise theory of logic, and later mathematics, the so-called "Laws of Thought" were posited. One of these, the "Law of the Excluded Middle," states that every proposition must either be True or False. Even when Parminedes proposed the first version of this law (around 400 BC) there were strong and immediate objections: for example, Heraclitus proposed that things could be simultaneously True and not True.
It was Plato who laid the foundation for what would become fuzzy logic, indicating that there was a third region (beyond True and False) where these opposites "tumbled about." Other, more modern philosophers echoed his sentiments, notably Hegel, Marx and Engels. But it was Lukasiewicz who first proposed a systematic alternative to the bi-valued logic of Aristotle.
In the early 1900's, Lukasiewicz described a three-valued logic, along with the mathematics to accompany it. The third value he proposed can best be translated as the term "possible", and he assigned it a numeric value between True and False. Eventually, he proposed an entire notation and axiomatic system from which he hoped to derive modern mathematics.
Later, he explored four-valued logics, five-valued logics, and then declared that in principle there was nothing to prevent the derivation of an infinite-valued logic. Lukasiewicz felt that three and infinite-valued logics were the most intriguing, but he ultimately settled on a four-valued logic because it seemed to be the most easily adaptable to Aristotelian logic.
Knuth proposed a three-valued logic similar to Lukasiewicz's, from which he speculated that mathematics would become even more elegant than in traditional bi-valued logic. His insight, apparently missed by Lukasiewicz, was to use the integral range [-1,0,+1] rather than [0,1,2]. Nonetheless, this alternative failed to gain acceptance, and has passed into relative obscurity.
It was not until relatively recent that the notion of an infinite-valued logic took hold. In 1965 Lotfi A. Zadeh published his seminal work "Fuzzy Sets" which described the mathematics of fuzzy set theory, and by extension fuzzy logic. This theory proposed making the membership function (or the values False and True) operate over the range of real numbers [0.0,1.0]. New operations for the calculus of logic were proposed, and showed to be in principle at least a generalization of classic logic.
Isn't "fuzzy logic" an inherent contradiction? Why would anyone want to fuzzify logic?
Fuzzy sets and logic must be viewed as a formal mathematical theory for the representation of uncertainty. Uncertainty is crucial for the management of real systems: if you had to park your car PRECISELY in one place, it would not be possible. Instead, you work within, say, 10 cm tolerances. The presence of uncertainty is the price you pay for handling a complex system.
Nevertheless, fuzzy logic is a mathematical formalism, and a membership grade is a precise number. What's crucial to realize is that fuzzy logic is a logic OF fuzziness, not a logic which is ITSELF fuzzy. But that's OK: just as the laws of probability are not random, so the laws of fuzziness are not vague.
BASIC CONCEPTS
The notion central to fuzzy systems is that truth values (in fuzzy logic) or membership values (in fuzzy sets) are indicated by a value on the range [0.0,1.0], with 0.0 representing absolute Falseness and 1.0 representing absolute Truth. For example, let us take the statement:
"Jane is old."
If Jane's age was 75, we might assign the statement the truth value of 0.8. The statement could be translated into set terminology as follows:
"Jane is a member of the set of old people."
This statement would be rendered symbolically with fuzzy set as:
mOld(Jane) = 0.80
where m is the membership function, operating in this case on the fuzzy set of old people, which returns a value between 0.0 and 0.1. At this juncture it is important to point out the distinction between fuzzy systems and probability. Both operate over the same numeric range, and at first glance both have similar values: 0.0 representing False (or non-membership), and 1.0 representing True (or membership). However, there is a distinction to be made between those two statements: The probabilistic approach yields the natural-language statement, "There is an 80% chance that Jane is old," while the fuzzy terminology corresponds to "Jane's degree of membership within the set of old people is 0.80." The semantic difference is significant: the first view supposes that Jane is or is not old (still caught in the Law of the Excluded Middle); it is just that we only have an 80% chance of knowing which set she is in. by contrast, fuzzy terminology supposes that Jane is "more or less" old, or some other term corresponding to the value of 0.80.
The next step in establishing a complete system of fuzzy logic is to define the operations of EMPTY, EQUAL, COMPLEMENT (NOT), CONTAINMENT, UNION (OR), AND INTERSECTION (AND). Before we can do this rigorously, we must state some formal definitions:
Definition 1: Let X be some set of objects, with elements noted as x. Thus,
X = {x}.
Definition 2: A fuzzy set A in X is characterized by a membership function
mA(x) which maps each point in X onto the real interval [0.0,1.0]. As
mA(x) approaches 1.0, the "grade of membership" of x in A increases.
Definition 3: A is EMPTY if for all x, mA(x) = 0.0.
Definition 4: A=B if for all x, mA(x) = mB(x) [or, mA = mB].
Definition 5: mA' = 1- mA.
Definition 6: A is CONTAINED in B if mA <= mB.
Definition 7: C = A UNION B, where: mC(x) = MAX(mA(x), mB(x)).
Definition 8: C = A INTERSECTION B where: mC(x) = MIN(mA(x), mB(x)).
HEDGES
Another important feature of fuzzy systems is the ability to define "hedges," or modifier of fuzzy values. These operations are provided in an effort to maintain close ties to natural language, and to allow for the generation of fuzzy statements through mathematical calculations. As such, the initial definition of hedges and operations upon them will be quite a subjective process and may vary from one project to another. Nonetheless, the system ultimately derived operates with the same formality as classic logic.
The simplest example is in which transforms the statement "Jane is old" to "Jane is very old." The hedge "very" is usually defined as follows:
m"very"A(x) = mA(x)^2
Thus, if mOLD(Jane) = 0.8, then mVERYOLD(Jane) = 0.64. Other common hedges are "more or less" [typically SQRT(mA(x))], "somewhat," "rather," "sort of," and so on. Again, their definition is entirely subjective, but their operation is consistent: they serve to transform membership/truth values in a systematic manner according to standard mathematical functions.
A more involved approach to hedges is best shown through the work of Wenstop in his attempt to model organizational behavior. For his study, he constructed arrays of values for various terms, either as vectors or matrices. Each term and hedge was represented as a 7-element vector or 7x7 matrix. He then intuitively assigned each element of every vector and matrix a value between 0.0 and 1.0, inclusive, in what he hoped was intuitively a consistent manner. For example, the term "high" was assigned the vector
0.0 0.0 0.1 0.3 0.7 1.0 1.0
and "low" was set equal to the reverse of "high," or
1.0 1.0 0.7 0.3 0.1 0.0 0.0
Wenstop was then able to combine groupings of fuzzy statements to create new fuzzy statements, using the APL function of the Max-Min matrix multiplication.
These values then translated back into natural language statements, so as to allow fuzzy statements as both input to and output from his simulator. For example, when the program was asked to generate a label "lower than sort of low," it returned "very low;" "(slightly higher) than low" yielded "rather low," etc.
The point of this example is to note that algorithmic procedures can be devised which translate "fuzzy" terminology into numeric values, perform reliable operations upon those values, and then return natural language statements in a reliable manner.
Similar techniques have been adopted by others, primarily in the study of fuzzy systems as applicable to linguistic approximation. APL appears to be the language of choice, owing to its flexibility and power in matrix operations.
OBJECTIONS
It would be remarkable if a theory as far-reaching as fuzzy systems did not arouse some objections in the professional community. While there have been generic complaints about the "fuzziness" of the process of assigning values to linguistic terms, perhaps the most cogent criticisms comes from Haack. A formal logician, Haack argues that there are only two areas in which fuzzy logic could possibly demonstrated to be "needed," and then maintains that in each case it can be shown that fuzzy logic is not necessary.
The first area Haack defines is that of the nature of Truth and Falsity: if it could be shown, she maintains, that these are fuzzy values and not discrete ones, then a need for fuzzy logic would have been demonstrated. The other area she identifies is that of fuzzy systems' utility: if it could be demonstrated that generalizing classic logic to encompass fuzzy logic would aid in calculations of a given sort, then again a need for fuzzy logic would exist.
In regards to the first statement, Haack argues that True and False are discrete terms. For example, "The sky is blue" is either true or false; any fuzziness to the statement arises from an imprecise definition of terms, not out of the nature of Truth. As far as fuzzy systems' utility is concerned, she maintains that no area of data manipulation is made easier through the introduction of fuzzy calculus; if anything, she says, the calculations become more complex. Therefore, she asserts, fuzzy logic is not necessary.
Fox has responded to her objections, indicating that there are three areas in which fuzzy logic can be of benefit: as a "requisite" apparatus (to describe real-world relationships which are inherently fuzzy); as a "prescriptive" apparatus (because some data is fuzzy, and therefore requires a fuzzy calculus); and as a "descriptive" apparatus (because some inferencing systems are inherently fuzzy).
His most powerful arguments come, however, from the notion that fuzzy and classic logics need not be seen as competitive, but complementary. He argues that many of Haack's objections stem from a lack of semantic clarity, and that ultimately fuzzy systems may be translatable into phrases which classical logicians find palatable.
Lastly, Fox argues that despite the objections of classic logicians, fuzzy logic has found its way into the world of practical applications, and has proved very successful there. He maintains, pragmatically, that this is sufficient reason for continuing to develop the field.
APPLICATIONS
Areas in which fuzzy logic has been successfully applied are often concrete. The first major commercial application was in the area of cement kiln control, an operation which requires that an operator monitor four internal states of the kiln, control four sets of operations, and dynamically manage 40 or 50 "rules of thumb" about their interrelationships, all with the goal of controlling a highly complex set of chemical reactions. One such rule is "If the oxygen percentage is rather high and the free-lime and kiln-drive torque rate is normal, decrease the flow of gas and slightly reduce the fuel rate."
Other applications which have benefited through the use of fuzzy systems theory have been information retrieval systems, a navigation system for automatic cars, a predicative fuzzy logic controller for automatic operation of trains, laboratory water level controllers, controllers for robot arc-welders, feature-definition controllers for robot vision, graphics controllers for automated police sketchers, and more.
Expert systems have been the most obvious recipients of the benefits of fuzzy logic, since their domain is often inherently fuzzy. To date, fuzzy expert systems are the most common use of fuzzy logic. They are used in several wide-ranging fields, including:
· Linear and Nonlinear Control
· Pattern Recognition
· Financial Systems
· Operation Research
· Data Analysis
CONCLUSION
Fuzzy systems, including fuzzy logic and fuzzy set theory, provide a rich and meaningful addition to standard logic. The applications which may be generated from or adapted to fuzzy logic are wide-ranging, and provide the opportunity for modeling of conditions which are inherently imprecisely defined, despite the concerns of classical logicians. Many systems may be modeled, simulated, and even replicated with the help of fuzzy systems, not the least of which is human reasoning itself.
REFERENCES
The paper is based on the following articles found on the Internet:
1. Fuzzy systems by Jammes F. Brule
2. Quadralay's Fuzzy Logic: Frequently Asked Questions