fuzzylite  6.0
A Fuzzy Logic Control Library in C++
fl::WeightedAverage Class Reference

The WeightedAverage class is a WeightedDefuzzifier that computes the weighted average of a fuzzy set represented in an Aggregated Term. More...

#include <WeightedAverage.h>

Inheritance diagram for fl::WeightedAverage:
Collaboration diagram for fl::WeightedAverage:

Public Member Functions

 WeightedAverage (Type type=Automatic)
 
 WeightedAverage (const std::string &type)
 
virtual ~WeightedAverage () FL_IOVERRIDE
 
virtual std::string className () const FL_IOVERRIDE
 Returns the name of the class of the defuzzifier. More...
 
virtual Complexity complexity (const Term *term) const FL_IOVERRIDE
 Computes the complexity of defuzzifying the given term. More...
 
virtual scalar defuzzify (const Term *term, scalar minimum, scalar maximum) const FL_IOVERRIDE
 Computes the weighted average of the given fuzzy set represented in an Aggregated term as \(y = \dfrac{\sum_i w_iz_i}{\sum_i w_i} \), where \(w_i\) is the activation degree of term \(i\), and \(z_i = \mu_i(w_i) \). More...
 
virtual WeightedAverageclone () const FL_IOVERRIDE
 Creates a clone of the defuzzifier. More...
 
- Public Member Functions inherited from fl::WeightedDefuzzifier
 WeightedDefuzzifier (Type type=Automatic)
 
 WeightedDefuzzifier (const std::string &type)
 
virtual ~WeightedDefuzzifier () FL_IOVERRIDE
 
void setType (Type type)
 Sets the type of the weighted defuzzifier. More...
 
Type getType () const
 Gets the type of the weighted defuzzifier. More...
 
virtual std::string getTypeName () const
 Returns a string representation of the type of the defuzzifier. More...
 
virtual Type inferType (const Term *term) const
 Infers the type of the defuzzifier based on the given term. More...
 
- Public Member Functions inherited from fl::Defuzzifier
 Defuzzifier ()
 
virtual ~Defuzzifier ()
 

Static Public Member Functions

static Defuzzifierconstructor ()
 
- Static Public Member Functions inherited from fl::WeightedDefuzzifier
static std::string typeName (Type type)
 Returns a string representation of the given type. More...
 

Additional Inherited Members

- Public Types inherited from fl::WeightedDefuzzifier
enum  Type { Automatic, TakagiSugeno, Tsukamoto }
 The Type enum indicates the type of the WeightedDefuzzifier based the terms included in the fuzzy set. More...
 

Detailed Description

The WeightedAverage class is a WeightedDefuzzifier that computes the weighted average of a fuzzy set represented in an Aggregated Term.

Author
Juan Rada-Vilela, Ph.D.
See also
WeightedAverageCustom
WeightedSum
WeightedSumCustom
WeightedDefuzzifier
Defuzzifier
Since
4.0

Definition at line 37 of file WeightedAverage.h.

Constructor & Destructor Documentation

◆ WeightedAverage() [1/2]

fl::WeightedAverage::WeightedAverage ( Type  type = Automatic)
explicit

◆ WeightedAverage() [2/2]

fl::WeightedAverage::WeightedAverage ( const std::string &  type)
explicit

◆ ~WeightedAverage()

virtual fl::WeightedAverage::~WeightedAverage ( )
virtual

Member Function Documentation

◆ className()

virtual std::string fl::WeightedAverage::className ( ) const
virtual

Returns the name of the class of the defuzzifier.

Returns
the name of the class of the defuzzifier

Implements fl::Defuzzifier.

◆ clone()

virtual WeightedAverage* fl::WeightedAverage::clone ( ) const
virtual

Creates a clone of the defuzzifier.

Returns
a clone of the defuzzifier

Implements fl::Defuzzifier.

◆ complexity()

virtual Complexity fl::WeightedAverage::complexity ( const Term term) const
virtual

Computes the complexity of defuzzifying the given term.

Parameters
termis the term to defuzzify
Returns
the complexity of defuzzifying the given term

Implements fl::Defuzzifier.

◆ constructor()

static Defuzzifier* fl::WeightedAverage::constructor ( )
static

◆ defuzzify()

virtual scalar fl::WeightedAverage::defuzzify ( const Term term,
scalar  minimum,
scalar  maximum 
) const
virtual

Computes the weighted average of the given fuzzy set represented in an Aggregated term as \(y = \dfrac{\sum_i w_iz_i}{\sum_i w_i} \), where \(w_i\) is the activation degree of term \(i\), and \(z_i = \mu_i(w_i) \).

From version 6.0, the implication and aggregation operators are not utilized for defuzzification.

Parameters
termis the fuzzy set represented as an Aggregated Term
minimumis the minimum value of the range (only used for Tsukamoto)
maximumis the maximum value of the range (only used for Tsukamoto)
Returns
the weighted average of the given fuzzy set

Implements fl::Defuzzifier.


The documentation for this class was generated from the following file: