This class defines the base properties and methods for defining fuzzy variables and fuzzy sets. Fuzzy variables (see TFuzzyVariable) define a linguistic variable, such as Temperature which may take fuzzy sets as values, such as warm, cold, or hot. Fuzzy Variables are much like set variables in Pascal. However, unlike Pascal variables, the enumerated items, or terms, in the set are fuzzy and not crisp. Pascal allows enumerated values to either be in or not in the set. Fuzzy variables allow values to be partially in the set. For example, we may define a fuzzy variable which is based on Temperature. Any variable of this type may take fuzzy set (see IFuzzySet) values of cold, warm, and hot (or some combination). Cold, warm, and hot are the fuzzy sets which define the terms of the type. Each fuzzy set defines a membership function over the domain of temperature. If, for our example, temperature has a range between 0 and 100 Celsius, Cold could be a fuzzy set that defined any value under 10 Celcius as completely cold (one or True), any value over 50 as not at all cold (zero), and any value in between having a membership between zero and one.
The TFuzzyLogic component manages fuzzy variables and sets using objects. If you wish to use interfaces, use the TIFuzzyLogic component instead.
|