 SRS Home | Front Page | Monthly Issue | Index Search WWW Search seattlerobotics.org

FUZZY LOGIC - AN INTRODUCTION

PART 5

INTRODUCTION

This is the fifth in a series of six articles intended to share information and experience in the realm of fuzzy logic (FL) and its application. This article will continue the tutorial discussion on FL by looking at the output membership function and several inference processes. The next article will wrap up the discussion of the ongoing example. To further explore the topic of FL, references are included for interested readers.

In the last article, we left off with the inference engine producing fuzzy output response magnitudes for each of the effective rules. These must be processed and combined in some manner to produce a single, crisp (defuzzified) output.

PUTTING IT ALL TOGETHER

As inputs are received by the system, the rulebase is evaluated. The antecedent (IF X AND Y) blocks test the inputs and produce conclusions. The consequent (THEN Z) blocks of some rules are satisfied while others are not. The conclusions are combined to form logical sums. These conclusions feed into the inference process where each response output member function's firing strength (0 to 1) is determined. Figure 7 - Degree of membership for the error and error-dot functions in the current example

Data summary from previous illustrations:

INPUT DEGREE OF MEMBERSHIP

"error" = -1.0: "negative" = 0.5 and "zero" = 0.5
"error-dot" = +2.5: "zero" = 0.5 and "positive" = 0.5
ANTECEDENT & CONSEQUENT BLOCKS (e = error, er = error-dot or error-rate)

Now referring back to the rules, plug in the membership function weights from above. "Error" selects rules 1,2,4,5,7,8 while "error-dot" selects rules 4 through 9. "Error" and "error-dot" for all rules are combined to a logical product (LP or AND, that is the minimum of either term). Of the nine rules selected, only four (rules 4,5,7,8) fire or have non-zero results. This leaves fuzzy output response magnitudes for only "Cooling" and "No_Change" which must be inferred, combined, and defuzzified to return the actual crisp output. In the rule list below, the following ddefinitions apply: (e)=error, (er)=error-dot.

1. If (e < 0) AND (er < 0) then Cool 0.5 & 0.0 = 0.0
2. If (e = 0) AND (er < 0) then Heat 0.5 & 0.0 = 0.0
3. If (e > 0) AND (er < 0) then Heat 0.0 & 0.0 = 0.0
4. If (e < 0) AND (er = 0) then Cool 0.5 & 0.5 = 0.5
5. If (e = 0) AND (er = 0) then No_Chng 0.5 & 0.5 = 0.5
6. If (e > 0) AND (er = 0) then Heat 0.0 & 0.5 = 0.0
7. If (e < 0) AND (er > 0) then Cool 0.5 & 0.5 = 0.5
8. If (e = 0) AND (er > 0) then Cool 0.5 & 0.5 = 0.5
9. If (e > 0) AND (er > 0) then Heat 0.0 & 0.5 = 0.0
SUMMARY

The inputs are combined logically using the AND operator to produce output response values for all expected inputs. The active conclusions are then combined into a logical sum for each membership function. A firing strength for each output membership function is computed. All that remains is to combine these logical sums in a defuzzification process to produce the crisp output.

REFERENCES

 "Estimation of Fuzzy Membership from Histograms, Information Sciences" by B.B. Devi et al (Vol. 35, 1985, pp. 43-59).

 "Fuzzy Logic" by Bart Kosko and Satoru Isaka (Scientific American, Vol. 269, July 1993, pp. 76).

 "Fuzzy Sets, Uncertainty, and Information", by G.J. Klir and T.A. Folger (Prentice-Hall, Englewood Cliffs, N.J., 1988).

 "Industrial Applications of Fuzzy Control" ed. M. Sugeno (North-Holland, New York, 1985).

File: FL_PART5.HTM 2-13-98