Free Fuzzy Logic Library


Home | License | History | Class Hierarchy | API | Code Details | FCL | Developers | Downloads | A SourceForge.net Project


Class Hierarchy

The following chart shows the class hierarch of FFLL.

FFLLBase
├─
FuzzyModelBase
├─
FuzzyVariableBase
 └─
FuzzyOutVariable
├─
FuzzySetBase
 └─
FuzzyOutSet
├─
MemberFuncBase
  ├─
MemberFuncSCurve
  ├─
MemberFuncSingle
  ├─
MemberFuncTrap
 └─
MemberFuncTri
├─
DefuzzVarObj
  ├─
COGDefuzzVarObj
  └─
MOMDefuzzVarObj
├─
DefuzzSetObj
  ├─
COGDefuzzSetObj
 └─
MOMDefuzzSetObj
└─
RuleArray

FFLLBase

 This is the base class for all FFLL classes. It stores the parent of the object so we can get the parent to go up the model hierarchy and holds a string that contains  an error or warning message. Note: Since each object has it's own msg_text string, to report an error you need to propagate it up the classes. For example if an error occurs in a set the calling  function should detect the error and set the msg_text for the set's variable, then the caller  for the variable object should set it for the model object - until it's shown to the user.

Back to Hierarchy Chart

FuzzyModelBase

This is the "main" class for a FFLL model. It contains the variables and rules that define a model.

Back to Hierarchy Chart

FuzzyVariableBase

Class that has the variable information. Each variable has a list of sets that define the membership functions for the variable.

Back to Hierarchy Chart

FuzzyOutVariable

This class is for a model's output variable. It's basedo n FuzzyVariableBase and holds information to deal with defuzzification (a process that only applys to output variables) and makes sure that the output variable contains FuzzyOutSet objects as opposed to the FuzzySetBase that the input variables use.

Back to Hierarchy Chart

FuzzySetBase

This class is the base class for all sets. It's used (without desendents) in the output variables. It contains a pointer to a member func class that holds the specific information for the curve that defines the set.

Back to Hierarchy Chart

FuzzyOutSet

This class is for the sets in the output variable. It contain a pointer to the DefuzzSetObj abstract class. DefuzzSetObj handles all the calculations needed for the defuzzification process.

Back to Hierarchy Chart

MemberFuncBase

This is an abstract class that defines the type of "curve" a set has.

Back to Hierarchy Chart

MemberFuncSCurve

This is the S-Curve shaped membership function. It consists of 7 points. This curve is extremely flexible and allows some if it's nodes 'y' values to be altered.

Back to Hierarchy Chart


MemberFuncSingle

This is the singleton shaped membership function. It consists of 1 point. Singletons are used to represent discreet choices. For example if one of the inputs to a fuzzy system was "type of car" we may use singletons with values such as "Ford", "GM", "VW", etc. They are discreet choices there's no fuzziness involved.

Back to Hierarchy Chart

MemberFuncTrap

This is the trapezoid shaped membership function. It consists of 4 points.

Back to Hierarchy Chart

MemberFuncTri

This is the triangle shaped membership function. It consists of 3 points.

Back to Hierarchy Chart

DefuzzVarObj

Abstract base class for defuzzifcation variable objects.

Back to Hierarchy Chart

COGDefuzzVarObj

Variable object for Center of Gravity Defuzzification Method. 

Back to Hierarchy Chart

MOMDefuzzVarObj

Variable object for the Mean of Maximum Defuzzification Method

Back to Hierarchy Chart

DefuzzSetObj

Abstract base class for defuzzifcation set objects.

Back to Hierarchy Chart

COGDefuzzSetObj

Defuzz set object for Center of Gravity defuzz method. See COGDefuzzVarObj.h for details on this defuzz method

Back to Hierarchy Chart

MOMDefuzzSetObj

Mean of Maximum defuzzifcation set object. This object holds the index of the set for this method. See MOMDefuzzVarObj.h for details on this defuzz method.

Back to Hierarchy Chart

RuleArray

This class holds the rules array for the model

Back to Hierarchy Chart