# Fuzzy Logic

Fuzzy Logic: The Discovery of a Revolutionary Computer Technology and How It Is Changing Our World by Daniel McNeill, Paul Freiberger (Contributor), Dan McNeill (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".

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