EarthWeb   
HomeAccount InfoLoginSearchMy ITKnowledgeFAQSitemapContact Us
     

   
  All ITKnowledge
  Source Code

  Search Tips
  Advanced Search
   
  

  

[an error occurred while processing this directive]
Previous Table of Contents Next


The result of applying these rules is shown in Figure 1.2. Notice that the original real-valued function f(x) is represented by a step function f’(x). In some problem domains, this is an adequate representation; in most problem domains such an approximation of f(x) fails miserably. When a more accurate representation is required, the natural inclination is to simply add more rules:

1.  If { 0.0 < x ≤ 0.5 } then { f(x) = 3.0 }
2.  If { 0.5 < x ≤ 1.0 } then { f(x) = 2.5 }
3.  If { 1.0 < x ≤ 1.5 } then { f(x) = 2.0 }
4.  If { 1.5 < x ≤ 2.0 } then { f(x) = 1.5 }
5.  If { 2.0 < x ≤ 2.5 } then { f(x) = 1.0 }
6.  If { 2.5 < x ≤ 3.0 } then { f(x) = 1.0 }
7.  If { 3.0 < x ≤ 3.5 } then { f(x) = 1.5 }
8.  If { 3.5 < x ≤ 4.0 } then { f(x) = 2.0 }
9.  If { 4.0 < x ≤ 4.5 } then { f(x) = 2.5 }
10.  If { 4.5 < x ≤ 5.0 } then { f(x) = 3.0 }

The above rules result in the function f” (x) shown in Figure 1.3. Again, this finer representation of f(x) would prove adequate in some situations, yet inadequate in others. The approach of adding additional rules is not acceptable in most situations for at least three reasons: (1) there is a limit to the number of rules that can be used in order to meet real-time performance standards, (2) the function is still being represented discretely as a step function, and (3) people lose the feeling that the system is simple.


Figure 1.2  f(x) is approximated with a step function when modeled using traditional if-then rules.


Figure 1.3  Increasing the number of rules used to represent f(x) only makes the representation finer; it is still discrete.

The above discussion provides our major justification for shifting our focus from traditional production rules to fuzzy rules. The ability of fuzzy production rules to represent continuous functions in contrast to the discrete representation provided by the traditional production rules will be demonstrated in the next section. But first, consider a second rationale for not using traditional production rules.

As most any knowledge engineer will tell you, it is difficult to pin down the knowledge humans use in the form of rules. For the most part, human experts rarely have to think about the rules they use; the best ones generally work from their “feel” for the system. If a knowledge engineer is fortunate enough to get a human to write their rules, they are almost always in linguistic form and never in a numerical form that can be easily programmed using a computer. For instance, the five production rules producing f’ (x) in Figure 1.2 might come from a human expert in the following form:

1.  If { x is VERY SMALL } then { f(x) is BIG }
2.  If { x is SMALL } then { f(x) is MEDIUM }
3.  If {x is MEDIUM } then { f(x) is SMALL }
4.  If {x is LARGE } then { f(x) is MEDIUM }
5.  If { x is VERY LARGE } then { f(x) is BIG }

And these are the first fuzzy rules set forth in this book!

1.4 Fuzzy Production Rules for Modeling

In this section we provide the fuzzy production rules and the associated membership functions necessary to accurately reproduce (model) the mathematical function f(x) shown in Figure 1.1. This task will be accomplished using methods very similar to those set forth by Mamdani (1981). These methods are presented in a manner that should appeal to practicing engineers.

Let’s begin with the five fuzzy production rules that appeared at the end of the previous section. The reader should understand the terms appearing in the rules above (VERY SMALL, SMALL, MEDIUM, etc.). However, a computer has absolutely no understanding of their meaning (computers work well with numbers, but poorly with linguistic concepts). Thus, to apply these linguistic rules, some meaning must be given to the fuzzy terms used to qualify the input variable x and the output variable f(x). For instance, under what circumstances is the first rule implemented? Well, it is implemented to some degree when x is VERY SMALL. Thus, we need some way for determining “to what extent” x is VERY SMALL. In fuzzy systems, this determination is made with fuzzy membership functions that provide linguistic terms with numerical (crisp) meaning.


Previous Table of Contents Next

Copyright © CRC Press LLC

HomeAccount InfoSubscribeLoginSearchMy ITKnowledgeFAQSitemapContact Us
Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement.