Fuzzy Logic: The Discovery of a Revolutionary Computer Technology and How It Is Changing Our World by Daniel Mc
Neill, Paul Freiberger (Contributor), Dan Mc
Neill (c) 1993 Simon and Schuster
ISBN 0671738437
FuzzyLogic is type of
ManyValuedLogic invented by Lotfi A. Zadeh (
ZadehLotfi) in 1965 (but popularized quite a bit later) in which truth values of variables (
FuzzyVariables) can take any value from 0% to 100%. Contrast with
BooleanLogic that treats purely binary logical states: a statement can only be either 100% true or 100% false.
For example, consider the statement "It is warm." The variable
warm is a fuzzy variable, and the truth of the statement depends in some way on the relationship between the actual numerical temperature and the person making the statement, and results in some truth level between 0% (it's not at all warm) and 100% (it's quite definitely warm, that's for sure).
FuzzyVariables and
FuzzyLogic are considered very useful for engineering and computer applications that handle real-world relationships and subjective numbers. Thermostats are always invoked in the examples -- instead of using a
BooleanExpression like
"If the temperature is 3.8 degrees C higher than the target, then turn on the cooler, otherwise shut it off," one can write a
FuzzyExpression that runs more like
"If the temperature is warm, then turn the cooler on low; if the temperature is hot, then turn the cooler on high."
The trick of course is determining what "warm" and "hot" and "low" and "high" mean as
FuzzyVariables, and how they relate to one another -- which is
FuzzyLogic. It involves designing all the
FuzzyVariables so that they map the actual numerical values of temperature and cooler activity onto the classes like "hot" and "cold" and so forth, and also designing a
defuzzification method that, once a decision has been made, tells the old-fashioned controller to do something with a real number again.
It should be (and is frequently) noted that "
FuzzyLogic" does not mean "
FuzzyThinking", even though this is the basis for innumerable sly-sounding jokes by relatively ignorant people. --
BillTozier
It's also worth noting that Fuzzy Logic does not contribute truly new mathematics; it has been critiqued because everything it offers has been done for ages with mainstream statistics. However, it has turned out to be nonetheless valuable as a new paradigm; it encourages thinking statistically about problem domains that had previously been typically dealt with in terms of discrete value logic. --
DougMerritt
I disagree with Doug. In his book
FuzzyThinking,
BartKosko demonstrated why fuzzy logic is a
superset of statistics, rather than the otherway round. Understanding why requires a rather deep understanding of fuzzy logic, and is rather difficult to explain because Western culture derives from black & white logic (originating with
MrAristotle). Maybe I'll have a go explaining some time, but
BartKosko takes half his book to explain fully! --
ChrisHandley
I also disagree with
DougMerritt. Probability is a (very practical and useful) special case of
FuzzyLogic. There is a whole range of math behind fuzzy logic and fuzzy sets. Fortunately, the most practical stuff is the simplest. --
DougRansom
Perhaps it should be called "probabilistic logic".
[It's already taken.]
Much popularizations of FL are about the fuzzy tiles. They derive from ways mathematicians describe to domain experts how to set coefficients for their formulas.
All we are really talking about here is a response curve whose derivative is continuous. In other words, the curve is smooth, and every point has a closest tangent with an unambiguous slope. That's why using opinions for the input can create FL output that's smooth and not jerky. --
PhlIp
FuzzyLogic for ProcessControl is a neat idea, but it ain't magic. If you thought tuning a PID loop was a pain in the butt, try coming up with the right set of fuzzification/defizzification curves. Either way, it takes practice, patience, simulation, and a bit of luck to get it right.
Just like
GeneticAlgorithms or any
EvolutionaryAlgorithm for that matter,
FuzzyLogic for
ProcessControl is a
HeuristicRule, and there aren't any good
MetaHeuristics yet. You offload the difficulty of solving the problem once it's been posed onto the difficulty of posing the problem in the first place.... All of these heuristics are an
ArtBecomingCraft. --
BillTozier
Fuzzy Logic, however, really shines when there are multiple sensors that control an output. One can describe the effects of the sensors individually and a small set of interactions between sensors (if desired) and then combine the results. Yes, the result may require tuning, but at least it is possible to create a result. --
WayneMack
Some links:
- Fuzzy Logic Links AI Wiki --
http://arvo.ifi.unizh.ch/ailab/aiwiki/aiw.cgi/CategoryFuzzyLogic
CategoryFuzzy,
CategoryLogic,
CategoryInformationOrientation