Discussion
Fuzzy systems are surprisingly robust, managing to cope with noisy and incomplete data. However, the fuzzy output is still extremely smooth and can deal with tight control problems. Little feedback is needed to perform well.
Fuzzy expert systems can mimic human reasoning surprisingly closely, which makes it ideal for decision making. The rulebase systems apply the rules of thumb in a similar fashion to experts, and the fuzzy representation is close to human knowledge representation.
Like rulebased systems, fuzzy systems are easy to extend incrementally. Each rule is modular, and different rules can be tweaked independently from others.
It's even easier to write the rules for the system. The close links with natural language means that anyone can add rules. The linguistic expressions pose no problems to the underlying fuzzy logic.
With fuzzy systems, there is no need for mathematical models of the problem. We use simple rules of thumb created by experts to guide the system, which can cope with complex nonlinear problems.
An intrinsic requirement of fuzzy systems is that most of the rules need to be evaluated at each cycle. This is because even values that are close to false cannot be disregarded—as with standard rulebased systems. This can be quite computationally expensive, although the time required is proportional to the number of rules.
In addition, it can be difficult to create membership functions for fuzzy systems. This is a very informal process that can easily require many iterations.
Combinatorial explosion is a commonly cited problem with fuzzy systems. Indeed, if we want to enumerate rules for all possible inputs combinations, the number of required rules will grow exponentially with the number of fuzzy variables. Frankly, there are few cases when this is necessary! Not only is this timeconsuming (making it unfeasible for experts to enter the rules into the database), but also extremely naive. In most problems, there is no need for all possible rules to be present; the solution doesn't need such complexity. Borrowing the ideas from rulebased systems, knowledge in fuzzy systems can be represented implicitly instead. So the only rules required are the ones that solve the problem (which should at least match the number of fuzzy variables).
