The Combs method is a rule base reduction method of writing fuzzy logic rules described by William E. Combs in 1997. It is designed to prevent combinatorial explosion in fuzzy logic rules.[1]
The Combs method takes advantage of the logical equality
((p\landq) ⇒ r)\iff((p ⇒ r)\lor(q ⇒ r))
The simplest proof of given equality involves usage of truth tables:
p | q | r | p\landq ⇒ r | p ⇒ r | q ⇒ r | (p ⇒ r)\lor(q ⇒ r) | |
---|---|---|---|---|---|---|---|
T | T | T | T | T | T | T | |
T | T | F | F | F | F | F | |
T | F | T | T | T | T | T | |
T | F | F | T | F | T | T | |
F | T | T | T | T | T | T | |
F | T | F | T | T | F | T | |
F | F | T | T | T | T | T | |
F | F | F | T | T | T | T |
Suppose we have a fuzzy system that considers N variables at a time, each of which can fit into at least one of S sets. The number of rules necessary to cover all the cases in a traditional fuzzy system is
SN
S x N
This article will focus on the Combs method itself. To learn more about the way rules are traditionally formed, see fuzzy logic and fuzzy associative matrix.
Suppose we were designing an artificial personality system that determined how friendly the personality is supposed to be towards a person in a strategic video game. The personality would consider its own fear, trust, and love in the other person. A set of rules in the Combs system might look like this:
Fear | Unafraid THEN Enemies | Moderate Fear THEN Neutral | Afraid THEN Good Friends | |
---|---|---|---|---|
Trust | Distrusting THEN Enemies | Moderate Trust THEN Neutral | Trusting THEN Good Friends | |
Love | Unloving THEN Enemies | Moderate Love THEN Neutral | Loving THEN Good Friends |
The table translates to:
[IF Fear IS Unafraid THEN Friendship IS Enemies OR IF Fear IS ModerateFear THEN Friendship IS Neutral OR IF Fear IS Afraid THEN Friendship IS GoodFriends ] OR [IF Trust IS Distrusting THEN Friendship IS Enemies OR IF Trust IS ModerateTrust THEN Friendship IS Neutral OR IF Trust IS Trusting THEN Friendship IS GoodFriends] OR [IF Love IS Unloving THEN Friendship IS Enemies OR IF Love IS ModerateLove THEN Friendship IS Neutral OR IF Love IS Loving THEN Friendship IS GoodFriends]
In this case, because the table follows a straightforward pattern in the output, it could be rewritten as:
Fear | Unafraid | Moderate Fear | Afraid | |
---|---|---|---|---|
Trust | Distrusting | Moderate Trust | Trusting | |
Love | Unloving | Moderate Love | Loving | |
Friendship | Enemies | Neutral | Good Friends |
Each column of the table maps to the output provided in the last row. To obtain the output of the system, we just average the outputs of each rule for that output. For example, to calculate how much the computer is Enemies with the player, we take the average of how much the computer is Unafraid, Distrusting, and Unloving of the player. When all three averages are obtained, the result can then be defuzzified by any of the traditional means.