C# Класс AForge.Fuzzy.CentroidDefuzzifier

This class implements the centroid defuzzification method.

In many applications, a Fuzzy Inference System is used to perform linguistic computation, but at the end of the inference process, a numerical value is needed. It does not mean that the system needs precision, but simply that a numerical value is required, most of the times because it will be used to control another system that needs the number. To obtain this numer, a defuzzification method is performed.

This class implements the centroid defuzzification method. The output of a Fuzzy Inference System is a set of rules (see Rule) with firing strength greater than zero. Those firing strength apply a constraint to the consequent fuzzy sets (see FuzzySet) of the rules. Putting all those fuzzy sets togheter results in a a shape that is the linguistic output meaning.

The centroid method calculates the center of the area of this shape to obtain the numerical representation of the output. It uses a numerical approximation, so a number of intervals must be choosen. As the number of intervals grow, the precision of the numerical ouput grows.

For a sample usage of the CentroidDefuzzifier see InferenceSystem class.

Наследование: IDefuzzifier
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CentroidDefuzzifier ( int intervals ) : System

Initializes a new instance of the CentroidDefuzzifier class.

Defuzzify ( AForge.Fuzzy.FuzzyOutput fuzzyOutput, INorm normOperator ) : float

Centroid method to obtain the numerical representation of a fuzzy output. The numerical value will be the center of the shape formed by the several fuzzy labels with their constraints.

Описание методов

CentroidDefuzzifier() публичный метод

Initializes a new instance of the CentroidDefuzzifier class.
public CentroidDefuzzifier ( int intervals ) : System
intervals int Number of segments that the speech universe will be splited /// to perform the numerical approximation of the center of area.
Результат System

Defuzzify() публичный метод

Centroid method to obtain the numerical representation of a fuzzy output. The numerical value will be the center of the shape formed by the several fuzzy labels with their constraints.
The numerical output is unavaliable. All memberships are zero.
public Defuzzify ( AForge.Fuzzy.FuzzyOutput fuzzyOutput, INorm normOperator ) : float
fuzzyOutput AForge.Fuzzy.FuzzyOutput A containing the output of several /// rules of a Fuzzy Inference System.
normOperator INorm A operator to be used when constraining /// the label to the firing strength.
Результат float