I found this book at Goodwill over the summer and I’ve always wanted to know about fuzzy logic so I decided to read it. Since I do a lot of stuff with microcontrollers and fuzzy logic has been applied to microcontrollers, it seemed an appropriate use of my time to read this book.
However, I really didn’t get it. I don’t just mean that I don’t get the concept of fuzzy logic. I mean that I don’t get the necessity of even having it.
The problem is that while he went into considerable depth over the philosophy of fuzzy logic, there’s only one specific example of a practical application that stands out, and that is for a fan whose speed is adjusted depending on the temperature. I agree that it’s better to adjust the fan speed variably rather than have it turn on or off at a specific temperature. What I don’t get is why we have to create an entire philosophical and mathematical framework to do something that can be addressed with a series of linear equations embedded within a case-switch statement.
Allow me to illustrate. Here’s his graphical analysis of the temperature/speed relationship:
If I were programming an ATTiny to do this, I would first fit a ‘curve’ to the data and identify linear temperature-speed relationship zones, like so:
Next, I would assign zones by incrementing a temperature-driven variable. Then I would best-fit (aka ‘guestimate’) the linear equations of temperature versus fan speed for each zone. I think it would take about an hour to go from graph to equations to an actual program. Compared to several hours just to read this book, and days to take a university course in fuzzy logic.
Maybe if I did take that course, I would understand why I needed to take the course. But for now, it appears to me that fuzzy logic is equivalent to a set of linear equations fitted to the set of empirical data points. And that I already know how to program.