This chapter applied fuzzy logic to create robust and realistic reactive behavior sequences, capable of dealing with tricky contraptions. The development started with two important steps that need to be undertaken whenever fuzzy logic is applied to a problem:
Given these variables, we had to define the fuzzy rules and ways for them to achieve their task simply:
Then, we needed to create a simple fuzzy logic interpreter, mostly inspired by the rule-based system from Part II:
The evaluation reveals that movement is pleasingly smooth and effective—to an untrained eye. Some of the assumptions made by the rule can cause a few problems, so we need to integrate the fuzzy logic output with lower-level navigation behaviors for the best results.
The major problem with the fuzzy approach is that it requires the designer to specify the behaviors. The next chapter covers genetic algorithms that provide ways to find near-optimal behaviors given high-level criteria.