Combs method
The Combs method is a method of writing fuzzy logic rules described by William E. Combs in 1997. It is designed to prevent combinatorial explosion in fuzzy logic rules.
It takes advantage of this logical equality: [(p and q) then r] = [(p then r) or (q then r)].
Combinatorial explosion
Suppose we have this simple fuzzy associative matrix for controlling the angle of a cannon:
Distance/Angle | Far away | Medium dist. | Very near |
---|---|---|---|
Low | much higher | higher | hold |
Medium | higher | hold | lower |
High | hold | lower | much lower |
Here we have two variables and nine rules, as the number of rules is the number of sets for "distance" times the number of sets for "angle". This translates to the rules:
IF Distance IS FarAway AND Angle IS LowAngle THEN AimMuchHigher IF Distance IS MediumDist AND Angle IS LowAngle THEN AimHigher IF Distance IS VeryNear AND Angle IS LowAngle THEN HoldAim
...and so on for every cell in the matrix.
If we were to add only one more set for both "distance" and "angle", the number of rules would become 16, and if we added one more to that, making 5 sets, the number would be 25. Now suppose we added a third variable that also has 5 sets, then the number would be 125. This is combinatorial explosion: adding more sets or more variables causes a disproportionate explosion in the number of rules. A realistic system might have 5 variables each with 5 sets, which would have 55 = 3125 rules! One possibility, of course, is to not bother writing a rule for every single possible combination. Another possibility is to use the Combs method.
The Combs method
Recall that [(p and q) then r']' = [(p then r) or (q then r)]. We could take advantage of this and make a different table:
Distance | Far away THEN higher | Medium dist. THEN hold | Near THEN lower |
---|---|---|---|
Angle | Low THEN higher | Medium THEN hold | Near THEN lower |
Now we have six rules, one for each set per variable. (It looks like the improvement is small: we only eliminated three rules. However, we have produced a linear system, so our hypothetical example with 5 variables with 5 sets each would need only 25 rules instead of 3125.) The table expands to this:
[IF Distance IS FarAway THEN AimHigher OR IF Distance IS MediumDist THEN HoldAim OR IF Distance IS Near THEN AimLower] OR [IF Angle IS LowAngle THEN AimHigher OR IF Angle IS MediumAngle THEN HoldAim OR IF Angle IS HighAngle THEN AimLower]
External links
- The Combs Method for Rapid Inference - the original paper