Fuzzy Documentation

This library offers strucures and methods needed for the implementation of Fuzzy Logic or Fuzzy Conrol systems. The library supports the implementation of systems using fuzzy logic. Since fuzzy logic is based on the concept of fuzzy sets, the base classes FuzzySet and NDimFS (modelling a n-dimensional fuzzy set) are playing a decisive role. Several different kind of fuzzy sets are already implemented and the possibillety to define additional fuzzysets by combining two fuzzy sets (see: ComposedFS and ComposedNDimFS) or by direct definition of membership function and support by the user is given (see CustomizedFS).

The concepts of a linguist variable, like befuddlement, and the associated linguistic terms, like drunken or sober, are implemented in the classes LinguisticVariable and LinguisticTerm. For every subclass of FuzzySet there's a corresponding subclass of LinguistcTerm, for instance BellFS and BellLT, since basically a linguistic term is a named fuzzy set.

Different inference machines (namely the MamdaniIM and SugenoIM) are realized as children of the class InferenceMachine. Furthermore there exists the class CustomIM providing an inference method which can be definded by the user. In this context the class Implication (and its base class FuzzyRelation) are needed. The RuleBase on which the inference machine works can either be build manually or read from a XML-file (see: RuleBaseGenerator.h). For the former the classes Rule and SugenoRule are provided.