03 fuzzy inference systems.pdf

7
Fuzzy Inference Systems On this page… What Are Fuzzy Inference Systems? Overview of Fuzzy Inference Process The Fuzzy Inference Diagram Customization What Are Fuzzy Inference Systems? Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The mapping then provides a basis from which decisions can be made, or patterns discerned. The process of fuzzy inference involves all of the pieces that are described in the previous sections: Membership Functions, Logical Operations, and If-Then Rules. You can implement two types of fuzzy inference systems in the toolbox: Mamdani-type and Sugeno-type. These two types of inference systems vary somewhat in the way outputs are determined. See the Bibliography for references to descriptions of these two types of fuzzy inference systems, [8], [11], [16]. Fuzzy inference systems have been successfully applied in fields such as automatic control, data classification, decision analysis, expert systems, and computer vision. Because of its multidisciplinary nature, fuzzy inference systems are associated with a number of names, such as fuzzy-rule-based systems, fuzzy expert systems, fuzzy modeling, fuzzy associative memory, fuzzy logic controllers, and simply (and ambiguously) fuzzy systems. Mamdani's fuzzy inference method is the most commonly seen fuzzy methodology. Mamdani's method was among the first control systems built using fuzzy set theory. It was proposed in 1975 by Ebrahim Mamdani [11] as an attempt to control a steam engine and boiler combination by synthesizing a set of linguistic control rules obtained from experienced human operators. Mamdani's effort was based on Lotfi Zadeh's 1973 paper on fuzzy algorithms for complex systems and decision processes [22]. Although the inference process described in the next few sections differs somewhat from the methods described in the original paper, the basic idea is much the same. Mamdani-type inference, as defined for the toolbox, expects the output membership functions to be fuzzy sets. After the aggregation process, there is a fuzzy set for each output variable that needs defuzzification. It is possible, and in many cases much more efficient, to use a single spike as the output membership function rather than a distributed fuzzy set. This type of output is sometimes known as a singleton output membership function, and it can be thought of as a pre-defuzzified fuzzy set. It enhances the efficiency of the defuzzification process because it greatly simplifies the computation required by the more general Mamdani method, which finds the centroid of a two-dimensional function. Rather than integrating across the two-dimensional function to find the centroid, you use the weighted average of a few data points. Sugeno-type systems support this type of model. In general, Sugeno-type systems can be used to model any inference system in which the output membership functions are either linear or constant. Back to Top Overview of Fuzzy Inference Process This section describes the fuzzy inference process and uses the example of the two-input, one-output, three-rule tipping problem The Basic Tipping Problem that you saw in the introduction in more detail. The basic structure of this example is shown in the following diagram:

Upload: ponpisut

Post on 07-Dec-2015

230 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

1 of 7 28/7/2558 12:04

Fuzzy Inference Systems

On this page…

What Are Fuzzy Inference Systems?Overview of Fuzzy Inference ProcessThe Fuzzy Inference DiagramCustomization

What Are Fuzzy Inference Systems?Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The mappingthen provides a basis from which decisions can be made, or patterns discerned. The process of fuzzy inference involves allof the pieces that are described in the previous sections: Membership Functions, Logical Operations, and If-Then Rules. Youcan implement two types of fuzzy inference systems in the toolbox: Mamdani-type and Sugeno-type. These two types ofinference systems vary somewhat in the way outputs are determined. See the Bibliography for references to descriptions ofthese two types of fuzzy inference systems, [8], [11], [16].

Fuzzy inference systems have been successfully applied in fields such as automatic control, data classification, decisionanalysis, expert systems, and computer vision. Because of its multidisciplinary nature, fuzzy inference systems areassociated with a number of names, such as fuzzy-rule-based systems, fuzzy expert systems, fuzzy modeling, fuzzyassociative memory, fuzzy logic controllers, and simply (and ambiguously) fuzzy systems.

Mamdani's fuzzy inference method is the most commonly seen fuzzy methodology. Mamdani's method was among the firstcontrol systems built using fuzzy set theory. It was proposed in 1975 by Ebrahim Mamdani[11] as an attempt to control asteam engine and boiler combination by synthesizing a set of linguistic control rules obtained from experienced humanoperators. Mamdani's effort was based on Lotfi Zadeh's 1973 paper on fuzzy algorithms for complex systems and decisionprocesses [22]. Although the inference process described in the next few sections differs somewhat from the methodsdescribed in the original paper, the basic idea is much the same.

Mamdani-type inference, as defined for the toolbox, expects the output membership functions to be fuzzy sets. After theaggregation process, there is a fuzzy set for each output variable that needs defuzzification. It is possible, and in many casesmuch more efficient, to use a single spike as the output membership function rather than a distributed fuzzy set. This type ofoutput is sometimes known as a singleton output membership function, and it can be thought of as a pre-defuzzified fuzzyset. It enhances the efficiency of the defuzzification process because it greatly simplifies the computation required by themore general Mamdani method, which finds the centroid of a two-dimensional function. Rather than integrating across thetwo-dimensional function to find the centroid, you use the weighted average of a few data points. Sugeno-type systemssupport this type of model. In general, Sugeno-type systems can be used to model any inference system in which the outputmembership functions are either linear or constant.

Back to Top

Overview of Fuzzy Inference ProcessThis section describes the fuzzy inference process and uses the example of the two-input, one-output, three-rule tippingproblem The Basic Tipping Problem that you saw in the introduction in more detail. The basic structure of this example isshown in the following diagram:

Page 2: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

2 of 7 28/7/2558 12:04

Information flows from left to right, from two inputs to a single output. The parallel nature of the rules is one of the moreimportant aspects of fuzzy logic systems. Instead of sharp switching between modes based on breakpoints, logic flowssmoothly from regions where the system's behavior is dominated by either one rule or another.

Fuzzy inference process comprises of five parts: fuzzification of the input variables, application of the fuzzy operator (AND orOR) in the antecedent, implication from the antecedent to the consequent, aggregation of the consequents across the rules,and defuzzification. These sometimes cryptic and odd names have very specific meaning that are defined in the followingsteps.

Step 1. Fuzzify InputsThe first step is to take the inputs and determine the degree to which they belong to each of the appropriate fuzzy sets viamembership functions. In Fuzzy Logic Toolbox software, the input is always a crisp numerical value limited to the universe ofdiscourse of the input variable (in this case the interval between 0 and 10) and the output is a fuzzy degree of membership inthe qualifying linguistic set (always the interval between 0 and 1). Fuzzification of the input amounts to either a table lookupor a function evaluation.

This example is built on three rules, and each of the rules depends on resolving the inputs into a number of different fuzzylinguistic sets: service is poor, service is good, food is rancid, food is delicious, and so on. Before the rules can be evaluated,the inputs must be fuzzified according to each of these linguistic sets. For example, to what extent is the food reallydelicious? The following figure shows how well the food at the hypothetical restaurant (rated on a scale of 0 to 10) qualifies,(via its membership function), as the linguistic variable delicious. In this case, we rated the food as an 8, which, given yourgraphical definition of delicious, corresponds to ต = 0.7 for the delicious membership function.

In this manner, each input is fuzzified over all the qualifying membership functions required by the rules.

Step 2. Apply Fuzzy OperatorAfter the inputs are fuzzified, you know the degree to which each part of the antecedent is satisfied for each rule. If theantecedent of a given rule has more than one part, the fuzzy operator is applied to obtain one number that represents the

Page 3: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

3 of 7 28/7/2558 12:04

result of the antecedent for that rule. This number is then applied to the output function. The input to the fuzzy operator is twoor more membership values from fuzzified input variables. The output is a single truth value.

As is described in Logical Operations section, any number of well-defined methods can fill in for the AND operation or the ORoperation. In the toolbox, two built-in AND methods are supported: min (minimum) and prod (product). Two built-in ORmethods are also supported: max (maximum), and the probabilistic OR method probor. The probabilistic OR method (alsoknown as the algebraic sum) is calculated according to the equation

probor(a,b) = a + b - abIn addition to these built-in methods, you can create your own methods for AND and OR by writing any function and settingthat to be your method of choice.

The following figure shows the OR operator max at work, evaluating the antecedent of the rule 3 for the tipping calculation.The two different pieces of the antecedent (service is excellent and food is delicious) yielded the fuzzy membership values0.0 and 0.7 respectively. The fuzzy OR operator simply selects the maximum of the two values, 0.7, and the fuzzy operationfor rule 3 is complete. The probabilistic OR method would still result in 0.7.

Step 3. Apply Implication MethodBefore applying the implication method, you must determine the rule's weight. Every rule has aweight (a number between 0and 1), which is applied to the number given by the antecedent. Generally, this weight is 1 (as it is for this example) and thushas no effect at all on the implication process. From time to time you may want to weight one rule relative to the others bychanging its weight value to something other than 1.

After proper weighting has been assigned to each rule, the implication method is implemented. A consequent is a fuzzy setrepresented by a membership function, which weights appropriately the linguistic characteristics that are attributed to it. Theconsequent is reshaped using a function associated with the antecedent (a single number). The input for the implicationprocess is a single number given by the antecedent, and the output is a fuzzy set. Implication is implemented for each rule.Two built-in methods are supported, and they are the same functions that are used by the AND method:min (minimum),which truncates the output fuzzy set, and prod (product), which scales the output fuzzy set.

Page 4: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

4 of 7 28/7/2558 12:04

Step 4. Aggregate All Outputs

Because decisions are based on the testing of all of the rules in a FIS, the rules must be combined in some manner in orderto make a decision. Aggregation is the process by which the fuzzy sets that represent the outputs of each rule are combinedinto a single fuzzy set. Aggregation only occurs once for each output variable, just prior to the fifth and final step,defuzzification. The input of the aggregation process is the list of truncated output functions returned by the implicationprocess for each rule. The output of the aggregation process is one fuzzy set for each output variable.

As long as the aggregation method is commutative (which it always should be), then the order in which the rules areexecuted is unimportant. Three built-in methods are supported:

max (maximum)probor (probabilistic OR)sum (simply the sum of each rule's output set)

In the following diagram, all three rules have been placed together to show how the output of each rule is combined, oraggregated, into a single fuzzy set whose membership function assigns a weighting for every output (tip) value.

Page 5: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

5 of 7 28/7/2558 12:04

Step 5. DefuzzifyThe input for the defuzzification process is a fuzzy set (the aggregate output fuzzy set) and the output is a single number. Asmuch as fuzziness helps the rule evaluation during the intermediate steps, the final desired output for each variable isgenerally a single number. However, the aggregate of a fuzzy set encompasses a range of output values, and so must bedefuzzified in order to resolve a single output value from the set.

Perhaps the most popular defuzzification method is the centroid calculation, which returns the center of area under the curve.There are five built-in methods supported: centroid, bisector, middle of maximum (the average of the maximum value of theoutput set), largest of maximum, and smallest of maximum.

Back to Top

The Fuzzy Inference DiagramThe fuzzy inference diagram is the composite of all the smaller diagrams presented so far in this section. It simultaneouslydisplays all parts of the fuzzy inference process you have examined. Information flows through the fuzzy inference diagramas shown in the following figure.

Page 6: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

6 of 7 28/7/2558 12:04

In this figure, the flow proceeds up from the inputs in the lower left, then across each row, or rule, and then down the ruleoutputs to finish in the lower right. This compact flow shows everything at once, from linguistic variable fuzzification all theway through defuzzification of the aggregate output.

The following figure shows the actual full-size fuzzy inference diagram. There is a lot to see in a fuzzy inference diagram, butafter you become accustomed to it, you can learn a lot about a system very quickly. For instance, from this diagram withthese particular inputs, you can easily see that the implication method is truncation with themin function. The max function isbeing used for the fuzzy OR operation. Rule 3 (the bottom-most row in the diagram shown previously) is having the strongestinfluence on the output. and so on. The Rule Viewer described in The Rule Viewer is a MATLAB implementation of the fuzzyinference diagram.

Page 7: 03 Fuzzy Inference Systems.pdf

Fuzzy Inference Systems :: Tutorial (Fuzzy Logic Toolbox™) jar:file:///C:/Program%20Files/MATLAB/R2011a/help/toolbox/fuzzy/hel...

7 of 7 28/7/2558 12:04

Back to Top

CustomizationOne of the primary goals of Fuzzy Logic Toolbox software is to have an open and easily modified fuzzy inference systemstructure. The toolbox is designed to give you as much freedom as possible, within the basic constraints of the processdescribed, to customize the fuzzy inference process for your application.

Building Systems with Fuzzy Logic Toolbox Software describes exactly how to build and implement a fuzzy inference systemusing the tools provided. To learn how to customize a fuzzy inference system, seeBuilding Fuzzy Inference Systems UsingCustom Functions.

Back to TopWas this topic helpful? Yes No

Foundations of Fuzzy Logic Building Systems with Fuzzy Logic Toolbox Software

ฉ 1984-2011 The MathWorks, Inc. • Terms of Use • Patents • Trademarks • Acknowledgments