A Fuzzy Inference System (FIS) is a way of mapping an input space
to an output space using fuzzy logic. Fuzzy inference is the process of converting fuzzy input to fuzzy output according to fuzzy rules in the knowledge base. A FIS tries to formalize the reasoning process of human language by means of fuzzy logic (that is, by building fuzzy IF-THEN rules). For instance:
“If the service is good, even if the food is not excellent,
the tip will be generous”
FIS are used to solve decision problems, i.e. to make a decision
and act accordingly.
Structure of a fuzzy inference system
In general, a fuzzy inference system consists of four modules:
Fuzzification module: Transforms the system inputs, which
are crisp numbers, into fuzzy sets. This is done by applying a fuzzification function. Knowledge base: Stores IF-THEN rules provided by experts. Inference engine: Simulates the human reasoning process by making fuzzy inference on the inputs and IF-THEN rules. Defuzzification module: Transforms the fuzzy set obtained by the inference engine into a crisp value. Why should we use Fuzzy Inference Systems?
Fuzzy logic does not solve new problems. It uses new
methods to solve everyday problems. Mathematical concepts within fuzzy reasoning are very simple. Fuzzy logic is flexible: it is easy to modify a FIS just by adding or deleting rules. There is no need to create a new FIS from scratch. Fuzzy logic allows imprecise data (it does NOT work with uncertainty): it handles elements in a fuzzy set, i.e. membership values. For instance, fuzzy logic works with 'He is tall to the degree 0.8' instead of 'He is 180cm tall'. Fuzzy logic is built on top of the knowledge of experts: it relies on the know-how of the ones who understand the system. Fuzzy logic can be blended with other classic control techniques.
When shouldn't we use fuzzy logic?
Fuzzy logic is based on natural language. It is the codification of
common sense. Thus, we shall not use it when our common sense tells us not to do so.
Fuzzy IF-THEN rules
In its simplest form, a fuzzy “if-then” rule follows the pattern:
“If x is A then y is B"
A and B are linguistic values defined by fuzzy sets in the
universes of discourse X and Y. x is the input variable and y is the output variable. The meaning of is is different in the antecedent and in the consequent of the rule. This is because the antecedent is an interpretation that returns a value between 0 and 1, and the consequent assigns a fuzzy set B to the variable y The input to the rule is a crisp value given to the input variable x of the antecedent (this value belongs to the universe of discourse of A). The output to the rule is a fuzzy set assigned to the output variable y of the consequent. The rule is executed applying a fuzzy implication operator, whose arguments are the antecedent's value and the consequent's fuzzy set values. The implication results in a fuzzy set that will be the output of the rule.
Classification of fuzzy inference methods
Fuzzy inference methods are classified in direct methods and
indirect methods. Direct methods, such as Mamdani's and Sugeno's, are the most commonly used (these two methods only differ in how they obtain the outputs). Indirect methods are more complex. Mamdani's Method
Mamdani's method is the most commonly used in applications, due to its
simple structure of 'min-max' operations. We will go through each one of the steps of the method with the help of the example shown in theMotivation section.
In Mamdani-type systems, the antecedent part of each rule may be a
simple statement or a compound statement using connectives like “and”, “or” etc. and the consequent part is represented by a fuzzy set. If the antecedent of a rule has only one part (input), membership value of the input in the corresponding fuzzy set gives the truth value of the rule. If the antecedent of a rule has more than one part (more than one input), the fuzzy operator (“min” operator if the connective is “and”, “max” operator if the connective is “or”) is applied for the membership values to obtain the truth value of the rule. This truth value is then applied to the output fuzzy set. A rule base containing rules of the form “Ri: Iƒ x is Ai and y is Bi, then z is Ci” is implemented
Ri: Iƒ x is Ai and y is Bi, then z is Pi x + qiy + ri is implemented as shown in
Figure. The crisp values computed corresponding to different rules are
combined to form the final output value by computing the weighted average of the crisp values, the weights being the truth degrees of their respective rule conditions. Hence, Sugeno-type inference directly leads to real crisp values without defuzzification Tsukamoto-Type Inference
In Tsukamoto-type system, the consequent part of each
fuzzy rule is a fuzzy set with a monotonic membership function If the antecedent of a rule has only one part (input), membership value of the input in the corresponding fuzzy set gives the truth value of the rule. If the antecedent of a rule has more than one part (more than one input), the fuzzy operator (“min” operator if the connective is “and”, “max” operator if the connective is “or”) is applied for the membership values to obtain the truth value of the rule. This truth value is then applied to the output fuzzy set and the crisp value of the output, having the membership value equal to the truth value of the rule is determined. The crisp values computed corresponding to different rules are combined to form the final output value by computing the weighted average of the crisp values, the weights being the truth degrees of their respective rule conditions . An example of Tsukamoto-type system having the rules of the form “Ri: Iƒ x is Ai and y is Bi, then z is Ci” is given in Figure. Figure