The (experimental) WeightedAverageCustom class is a WeightedDefuzzifier that computes the weighted average of a fuzzy set represented in an Aggregated Term utilizing the fuzzy operators for implication and aggregation to compute the weighted average.
More...
#include <WeightedAverageCustom.h>
The (experimental) WeightedAverageCustom class is a WeightedDefuzzifier that computes the weighted average of a fuzzy set represented in an Aggregated Term utilizing the fuzzy operators for implication and aggregation to compute the weighted average.
This is an experimental approach to take advantage of customization thanks to the object-oriented design.
- Author
- Juan Rada-Vilela, Ph.D.
- See also
- WeightedAverage
-
WeightedSum
-
WeightedSumCustom
-
WeightedDefuzzifier
-
Defuzzifier
- Since
- 6.0
Definition at line 40 of file WeightedAverageCustom.h.
◆ WeightedAverageCustom() [1/2]
fl::WeightedAverageCustom::WeightedAverageCustom |
( |
Type |
type = Automatic | ) |
|
|
explicit |
◆ WeightedAverageCustom() [2/2]
fl::WeightedAverageCustom::WeightedAverageCustom |
( |
const std::string & |
type | ) |
|
|
explicit |
◆ ~WeightedAverageCustom()
virtual fl::WeightedAverageCustom::~WeightedAverageCustom |
( |
| ) |
|
|
virtual |
◆ className()
virtual std::string fl::WeightedAverageCustom::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()
Creates a clone of the defuzzifier.
- Returns
- a clone of the defuzzifier
Implements fl::Defuzzifier.
◆ complexity()
virtual Complexity fl::WeightedAverageCustom::complexity |
( |
const Term * |
term | ) |
const |
|
virtual |
Computes the complexity of defuzzifying the given term.
- Parameters
-
term | is the term to defuzzify |
- Returns
- the complexity of defuzzifying the given term
Implements fl::Defuzzifier.
◆ constructor()
static Defuzzifier* fl::WeightedAverageCustom::constructor |
( |
| ) |
|
|
static |
◆ defuzzify()
virtual scalar fl::WeightedAverageCustom::defuzzify |
( |
const Term * |
term, |
|
|
scalar |
minimum, |
|
|
scalar |
maximum |
|
) |
| const |
|
virtual |
Computes the weighted average of the given fuzzy set represented as an AggregatedTerm 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) \).
If the implication and aggregation operators are set to fl::null (or set to AlgebraicProduct and UnboundedSum, respectively), then the operation of WeightedAverageCustom is the same as the WeightedAverage. Otherwise, the implication and aggregation operators are utilized to compute the multiplications and sums in \(y\), respectively.
- Parameters
-
term | is the fuzzy set represented as an Aggregated Term |
minimum | is the minimum value of the range (only used for Tsukamoto) |
maximum | is 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: