Jon Udell
THE FUZZY SYSTEMS HANDBOOK, Earl Cox, AP Professional, ISBN 0-12-194270-8, $49.95
When it's time to roll up your sleeves and put fuzzy logic to work, Earl Cox can show you how to turn theory into practice. His excellent The Fuzzy Systems Handbook presents a complete fuzzy-modeling system (source code included) and explains how to use it. Suppose you want to construct a risk-assessment system. Ultimately, you want to be able to write and process rules like this:
If age is around 17, risk is very high; if age is young and number_of_accidents is above normal, risk is very high; if number_of_accidents is below normal, risk is somewhat low.
You start by constructing fuzzy sets for each input variable. The concept young, for example, yields a set of values over some range of ag
es from 16 to 85, such that 16 is 0.99 young, 36 is 0.42 young, and so on. The concepts 17 and old likewise produce sets of values, which are then altered by applying the modifying words around and very. Depending on the function you choose to generate it, a fuzzy set may appear as a bell curve, a triangle, or a trapezoid. What's the right function to use? Business applications seem to work best with nonlinear functions, and process-control applications with linear ones, Cox reports. However, you should keep an open mind and be prepared to experiment because this science is in its infancy.
Next, you apply the AND operator. Here, too, there's a choice of functions that you can use to produce an output fuzzy set that represents the intersection of a pair of input fuzzy sets. Cox recommends that you try the simplest first--the minimum of each pair of input values. Noting that a single low value in any input will heavily affect the output, however, he goes on to present a family of alternative AND operator
s along with their associated truth tables. Ultimately, rule processing maps the fuzzy input variables to the fuzzy output variable that represents risk, and "defuzzification" extracts a final number--if age is 19, number_of_accidents is 3, and distance_to_work is 35, risk might be 0.98.
Fuzzy logic is a calculus of everyday concepts. With Cox's toolkit and techniques, you can begin to compute using such concepts. It's up to you, of course, to figure out what young and above normal should mean.
Jon Udell is a BYTE senior technical editor at large. You can reach him on the Internet or BIX at
judell@bix.com
.