From: baechtel@iccgcc.decnet.ab.com
Newsgroups: comp.ai
Subject: FUZZY SYSTEMS - A Tutorial
Date: 2 Jan 92 14:32:09 EST

FUZZY SYSTEMS - A TUTORIAL

by James F. Brule'

   (c) Copyright James F. Brule' 1985. Permission to copy without fee all or 
part of this material is granted provided that the copies are not made or 
distributed for direct commercial advantage, the copyright notice and the 
title and date appear, and notice is given that copying is by permission of 
the author. To copy otherwise, or to republish, requires a fee and/or specific 
permission.

INTRODUCTION

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 room for development. This paper
will present the foundations of fuzzy systems, along with some of the more
noteworthy objections to its use, with examples drawn from current research in
the field of Artificial Intelligence. Ultimately, it will be demonstrated that 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 very hot 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.1999999 standard deviations above the mean be tall? Which culture does Sally
belong to, and how is membership in it 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 i 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 the relative
"strength" of the patient's symptoms as it will 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 [7]. 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 B.C.) 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 [8]. 

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 recently that the notion of an infinite-valued logic took
hold. In 1965 Lotfi A. Zadeh published his seminal work "Fuzzy Sets" ([12], [13])
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. It is this theory which we will now discuss. 

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.80. 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 sets 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 1.0. 

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 the 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. Further distinctions arising out of the
operations will be noted below. 

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 iff for all x, mA(x) = 0.0. 
   Definition 4: A = B iff for all x: mA(x) = mB(x) [or, mA = mB]. 
   Definition 5: mA' = 1 - mA. 
   Definition 6: A is CONTAINED in B iff 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)). 

It is important to note the last two operations, UNION (OR) and
INTERSECTION (AND), which represent the clearest point of departure from a
probabilistic theory for sets to fuzzy sets. Operationally, the differences are as
follows: 

For independent events, the probabilistic operation for AND is multiplication,
which (it can be argued) is counterintuitive for fuzzy systems. For example, let us
presume that x = Bob, S is the fuzzy set of smart people, and T is the fuzzy set of
tall people. Then, if mS(x) = 0.90 and uT(x) = 0.90, the probabilistic result would
be: 

     mS(x) * mT(x) = 0.81

whereas the fuzzy result would be: 

     MIN(uS(x), uT(x)) = 0.90

The probabilistic calculation yields a result that is lower than either of the two
initial values, which when viewed as "the chance of knowing" makes good sense. 

However, in fuzzy terms the two membership functions would read something
like "Bob is very smart" and "Bob is very tall." If we presume for the sake of
argument that "very" is a stronger term than "quite," and that we would correlate
"quite" with the value 0.81, then the semantic difference becomes obvious. The
probabilistic calculation would yield the statement 

     If Bob is very smart, and Bob is very tall, then Bob is a quite tall, 
smart person.

The fuzzy calculation, however, would yield 

     If Bob is very smart, and Bob is very tall, then Bob is a very tall, 
smart person.

Another problem arises as we incorporate more factors into our equations (such as
the fuzzy set of heavy people, etc.). We find that the ultimate result of a series of
AND's approaches 0.0, even if all factors are initially high. Fuzzy theorists argue
that this is wrong: that five factors of the value 0.90 (let us say, "very") AND'ed
together, should yield a value of 0.90 (again, "very"), not 0.59 (perhaps equivalent
to "somewhat"). 

Similarly, the probabilistic version of A OR B is (A+B - A*B), which approaches
1.0 as additional factors are considered. Fuzzy theorists argue that a sting of low
membership grades should not produce a high membership grade instead, the limit
of the resulting membership grade should be the strongest membership value in
the collection. 

Other values have been established by other authors, as have other operations.
Baldwin [1] proposes a set of truth value restrictions, such as "unrestricted" (mX =
1.0), "impossible" (mX = 0.0), etc. 

The skeptical observer will note that the assignment of values to linguistic
meanings (such as 0.90 to "very") and vice versa, is a most imprecise operation.
Fuzzy systems, it should be noted, lay no claim to establishing a formal procedure
for assignments at this level; in fact, the only argument for a particular assignment
is its intuitive strength. What fuzzy logic does propose is to establish a formal
method of operating on these values, once the primitives have been established. 

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 one 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
[11] 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 ten 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 Max-Min matrix multiplication. 

These values were 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 sortof 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 (e.g. [2], [3], [4]). 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 come from Haack [6]. A formal
logician, Haack argues that there are only two areas in which fuzzy logic could
possibly be 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 unnecessary. 

Fox [5] 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 statements may be translatable into phrases which classical
logicians would find palatable. 

Lastly, Fox argues that despite the objections of classical 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 quite 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 interactions. 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" (see Zadeh [14]). A complete accounting of this
very successful system can be found in Umbers and King [10]. 

The objection has been raised that utilizing fuzzy systems in a dynamic control
environment raises the likelihood of encountering difficult stability problems:
since in control conditions the use of fuzzy systems can roughly correspond to
using thresholds, there must be significant care taken to insure that oscillations do
not develop in the "dead spaces" between threshold triggers. This seems to be an
important area for future research. 

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. Examples of expert systems
with fuzzy logic central to their control are decision-support systems, financial
planners, diagnostic systems for determining soybean pathology, and a
meteorological expert system in China for determining areas in which to establish
rubber tree orchards [14]. Another area of application, akin to expert systems, is
that of information retrieval [9]. 

CONCLUSIONS

Fuzzy systems, including fuzzy logic and fuzzy set theory, provide a rich and
meaningful addition to standard logic. The mathematics generated by these
theories is consistent, and fuzzy logic may be a generalization of classic 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

   [1] J.F. Baldwin, "Fuzzy logic and fuzzy reasoning," in Fuzzy Reasoning
   and Its Applications, E.H. Mamdani and B.R. Gaines (eds.), London:
   Academic Press, 1981. 
   [2] W. Bandler and L.J. Kohout, "Semantics of implication operators and
   fuzzy relational products," in Fuzzy Reasoning and Its Applications, E.H.
   Mamdani and B.R. Gaines (eds.), London: Academic Press, 1981. 
   [3] M. Eschbach and J. Cunnyngham, "The logic of fuzzy Bayesian
   influence," paper presented at the International Fuzzy Systems Association
   Symposium of Fuzzy information Processing in Artificial Intelligence and
   Operational Research, Cambridge, England: 1984. 
   [4] F. Esragh and E.H. Mamdani, "A general approach to linguistic
   approximation," in Fuzzy Reasoning and Its Applications, E.H. Mamdani
   and B.R. Gaines (eds.), London: Academic Press, 1981. 
   [5] J. Fox, "Towards a reconciliation of fuzzy logic and standard logic,"
   Int. Jrnl. of Man-Mach. Stud., Vol. 15, 1981, pp. 213-220. 
   [6] S. Haack, "Do we need fuzzy logic?" Int. Jrnl. of Man-Mach. Stud.,
   Vol. 11, 1979, pp.437-445. 
   [7] S. Korner, "Laws of thought," Encyclopedia of Philosophy, Vol. 4,
   MacMillan, NY: 1967, pp. 414-417. 
   [8] C. Lejewski, "Jan Lukasiewicz," Encyclopedia of Philosophy, Vol. 5,
   MacMillan, NY: 1967, pp. 104-107. 
   [9] T. Radecki, "An evaluation of the fuzzy set theory approach to
   information retrieval," in R. Trappl, N.V. Findler, and W. Horn, Progress
   in Cybernetics and System Research, Vol. 11: Proceedings of a Symposium
   Organized by the Austrian Society for Cybernetic Studies, Hemisphere
   Publ. Co., NY: 1982. 
   [10] I.G. Umbers and P.J. King, "An analysis of human decision-making in
   cement kiln control and the implications for automation," Int. Jrnl. of
   Man- Mach. Stud., Vol. 12, 1980, pp. 11-23. 
   [11] F. Wenstop, "Deductive verbal models of organizations," Int. Jrnl. of
   Man-Mach. Stud., Vol. 8, 1976, pp. 293-311. 
   [12] L.A. Zadeh, "Fuzzy sets," Info. & Ctl., Vol. 8, 1965, pp. 338-353. 
   [13] L.A. Zadeh, "Fuzzy algorithms," Info. & Ctl., Vol. 12, 1968, pp. 94-
   102. 
   [14] L.A. Zadeh, "Making computers think like people," I.E.E.E.
   Spectrum, 8/1984, pp. 26-32. 

REFERENCES RELATED TO DEFINITIONS
OF OPERATORS:

   Gougen, J.A. (1969) The logic of inexact concepts. Synthese, Vol. 19, pp
   325-373. 
   Osherson, D.N., & Smith, E.E. (1981) On the adequacy of prototype theory
   as a theory of concepts. Cognition. Vol. 9, pp. 35-38. 
   Osherson, D.N., & Smith, E.E. (1982) Gradedness and conceptual
   combination. Cognition, Vol. 12, pp. 299-318. 
   Roth, E.M., & Mervis, C.B. (1983) Fuzzy set theory and class inclusion
   relations in semantic categories. Journal of Verbal Learning and Verbal
   Behavior, Vol. 22, pp. 509-525. 
   Zadeh, L.A. (1982) A note on prototype theory and fuzzy sets. Cognition,
   Vol. 12, pp. 291-297. 

BASIC REFERENCE ON PROTOTYPE
THEORY IN COGNITIVE PSYCHOLOGY:

   Mervis, C.B., & Rosch, E. (1981) Categorization of natural objects. Annual
   Review of Psychology, Vol. 32, pp. 89-115. 

SELECTED REFERENCES ON FUZZY SET
THEORY GENERALLY & AI APPLICATIONS:

   Jain, R. Fuzzyism and real world problems. In P.P. Wang & S.K. Chang
   (Eds.), Fuzzy Sets, New York: Plenum Press. 
   Zadeh, L.A. (1965) Fuzzy sets. Information and Control, Vol. 8, pp.
   338-353. 
   Zadeh, L.A. (1978) PRUF - A meaning representation language for natural
   languages. International Journal of Man-Machine Studies, Vol. 10, pp.
   395-460. 
   Zadeh, L.A. (1983) The role of fuzzy logic in the management of
   uncertainty in expert systems. Memorandum No. UCB/ERL M83/41,
   University of California, Berkeley. 

