500 504 7UM4S3DJWPNVWWZYWTSMDCJDCJOECVPG4FVYYVY




C++ Neural Networks and Fuzzy Logic:Applications of Fuzzy Logic
Click Here! function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) { var end = document.cookie.indexOf (";", j); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(j, end)); } i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } var m1=''; var gifstr=GetCookie("UsrType"); if((gifstr!=0 ) && (gifstr!=null)) { m2=gifstr; } document.write(m1+m2+m3);           Keyword Title Author ISBN Publisher Imprint Brief Full  Advanced      Search  Search Tips Please Select ----------- Components Content Mgt Certification Databases Enterprise Mgt Fun/Games Groupware Hardware Intranet Dev Middleware Multimedia Networks OS Prod Apps Programming Security UI Web Services Webmaster Y2K ----------- New Titles ----------- Free Archive




To access the contents, click the chapter and section titles.


C++ Neural Networks and Fuzzy Logic


(Publisher: IDG Books Worldwide, Inc.)

Author(s): Valluru B. Rao

ISBN: 1558515526

Publication Date: 06/01/95










Search this book:
 





















Previous
Table of Contents
Next





Step Three: Set Up Fuzzy Membership Functions for the Output(s)
In our example, we have just one output, which is the HeatKnob. We need to assign fuzzy memberships to this variable just as we did for the inputs. This is shown in Table 16.14 and Figure 16.5. We use different variable names to make the example clearer later on.

Table 16.14 Fuzzy Variable Ranges for HeatKnob



Crisp Input Range
Fuzzy Variable

0–2
VeryLittle

1.5–4
ALittle

3–7
AGoodAmount

6–8.5
ALot

7.5–10
AWholeLot




Figure 16.5  Fuzzy membership functions for the output HeatKnob.
Step Four: Create a Fuzzy Rule Base
Now that you have the inputs and the output defined in terms of fuzzy variables, you need only specify what actions to take under what conditions; that is, you need to construct a set of rules that describe the operation of the FLC. These rules usually take the form of IF–THEN rules and can be obtained from a human expert (heuristics), or can be supplied from a neural network that infers the rules from behavior of the system. We mentioned this idea in Chapter 3.

Let us construct a rule base for our design example. For the two inputs, we define the matrix shown in Table 16.15. Our heuristic guidelines in determining this matrix are the following statements and their converses:

1.  When the temperature is low, the HeatKnob should be set higher than when the temperature is high.
2.  When the volume of water is low, the HeatKnob does not need to be as high as when the volume of water is high.


NOTE:  In FLCs, we do not need to specify all the boxes in the matrix. That is perfectly fine. No entry signifies that no action is taken, for example, in the column for SenseTemp=XL, no action is required since the temperature is already at or above the target temperature.


Table 16.15 Fuzzy Rule Base for the Example Design, Output HeatKnob



SenseTemp-> Sense Level
XS
S
M
L
XL

\/






XS
AGoodAmount
ALittle
VeryLittle



S
ALot
AGoodAmount
VeryLittle
VeryLittle


M
AWholeLot
ALot
AGoodAmount
VeryLittle


L
AWholeLot
ALot
ALot
ALittle


XL
AWholeLot
ALot
ALot
AGoodAmount



Let us examine a couple of typical entries in the table: For SenseLevel = Medium (M) and SenseTemp = XSmall (XS), the output is HeatKnob = AWholeLot. Now for the same temperature, as the water level rises, the setting on HeatKnob also should rise to compensate for the added volume of water. You can see that for SenseLevel = Large(L), and SenseTemp = XSmall(XS), the output is HeatKnob = AWholeLot. You can verify that the rest of the table is created by similar reasoning.

Creating IF–THEN Rules
We can now translate the table entries into IF - THEN rules. We take these directly from Table 16.15:


1.  IF SenseTemp IS XSmall AND SenseLevel IS XSmall THEN SET HeatKnob TO AGoodAmount
2.  IF SenseTemp IS XSmall AND SenseLevel IS Small THEN SET HeatKnob TO ALot
3.  IF SenseTemp IS XSmall AND SenseLevel IS Medium THEN SET HeatKnob TO AWholeLot
4.  IF SenseTemp IS XSmall AND SenseLevel IS Large THEN SET HeatKnob TO AWholeLot
5.  IF SenseTemp IS XSmall AND SenseLevel IS XLarge THEN SET HeatKnob TO AWholeLot
6.  IF SenseTemp IS Small AND SenseLevel IS XSmall THEN SET HeatKnob TO ALittle
7.  IF SenseTemp IS Small AND SenseLevel IS Small THEN SET HeatKnob TO AGoodAmount
8.  IF SenseTemp IS Small AND SenseLevel IS Medium THEN SET HeatKnob TO ALot
9.  IF SenseTemp IS Small AND SenseLevel IS Large THEN SET HeatKnob TO ALot
10.  IF SenseTemp IS Small AND SenseLevel IS XLarge THEN SET HeatKnob TO ALot
11.  IF SenseTemp IS Medium AND SenseLevel IS XSmall THEN SET HeatKnob TO VeryLittle
12.  IF SenseTemp IS Medium AND SenseLevel IS Small THEN SET HeatKnob TO VeryLittle
13.  IF SenseTemp IS Medium AND SenseLevel IS Medium THEN SET HeatKnob TO AGoodAmount
14.  IF SenseTemp IS Medium AND SenseLevel IS Large THEN SET HeatKnob TO ALot
15.  IF SenseTemp IS Medium AND SenseLevel IS XLarge THEN SET HeatKnob TO ALot
16.  IF SenseTemp IS Large AND SenseLevel IS Small THEN SET HeatKnob TO VeryLittle
17.  IF SenseTemp IS Large AND SenseLevel IS Medium THEN SET HeatKnob TO VeryLittle
18.  IF SenseTemp IS Large AND SenseLevel IS Large THEN SET HeatKnob TO ALittle
19.  IF SenseTemp IS Large AND SenseLevel IS XLarge THEN SET HeatKnob TO AGoodAmount

Remember that the output and inputs to the fuzzy rule base are fuzzy variables. For any given crisp input value, there may be fuzzy membership in several fuzzy input variables (determined by the fuzzification step). And each of these fuzzy input variable activations will cause different fuzzy output cells to fire, or be activated. This brings us to the final step, defuzzification of the output into a crisp value.
Step Five: Defuzzify the Outputs
In order to control the HeatKnob, we need to obtain a crisp dial setting. So far, we have several of the IF–THEN rules of the fuzzy rule base firing at once, because the inputs have been fuzzified. How do we arrive at a single crisp output number ? There are actually several different strategies for this; we will consider two of the most common, the center of area (COA) or centroid method, and the fuzzy Or method. The easiest way to understand the process is with an example.



Previous
Table of Contents
Next






Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home Use of this site is subject to certain Terms & Conditions, Copyright © 1996-1999 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permision of EarthWeb is prohibited.



Wyszukiwarka

Podobne podstrony:
Kultowa 500 EskaRock 2012
US NSA Pays Israel $500,000 in 2004
Ethofol 500 SC
OSCAR 500 SC
Dakota 500 SC
GOLDEN FENIKAN 500 SC
Terex RCI 500 Troubleshooting Manual
ZALACZNIK 4 RODZINA 500
słowniczek 500
remote master 500 bw5080e

więcej podobnych podstron