Defuzzification methods
Type-1 defuzzifiers
FuzzyLogic.BisectorDefuzzifier
— Typestruct BisectorDefuzzifier <: FuzzyLogic.AbstractDefuzzifier
Bisector defuzzifier. Given the aggregated output function $f$ and the output variable domain $[a, b]$ the defuzzified output is the value $t ∈ [a, b]$ that divides the area under $f$ into two equal parts. That is
\[∫_a^tf(x)\textrm{d}x = ∫_t^af(x)\textrm{d}x.\]
Parameters
N::Int64
: number of subintervals for integration, default 100.
Algorithm
The domain is partitioned into N equal subintervals. For each subinterval endpoint, the left and right area are approximated using the trapezoidal rule. The end point leading to the best approximation is the final result.
FuzzyLogic.CentroidDefuzzifier
— Typestruct CentroidDefuzzifier <: FuzzyLogic.AbstractDefuzzifier
Centroid defuzzifier. Given the aggregated output function $f$ and the output variable domain $[a, b]$ the defuzzified output is the centroid computed as
\[\frac{∫_a^bxf(x)\textrm{d}x}{∫_a^bf(x)\textrm{d}x}.\]
Parameters
N::Int64
: number of subintervals for integration, default 100.
Algorithm
The integrals are computed numerically using the trapezoidal rule.
FuzzyLogic.LeftMaximumDefuzzifier
— Typestruct LeftMaximumDefuzzifier <: FuzzyLogic.AbstractDefuzzifier
Left maximum defuzzifier. Returns the smallest value in the domain for which the membership function reaches its maximum.
Parameters
N::Int64
: number of subintervals, default 100.tol::Float64
: absolute tolerance to determine if a value is maximum, defaulteps(Float64)
.
FuzzyLogic.MeanOfMaximaDefuzzifier
— Typestruct MeanOfMaximaDefuzzifier <: FuzzyLogic.AbstractDefuzzifier
Mean of maxima defuzzifier. Returns the mean of the values in the domain for which the membership function reaches its maximum.
Parameters
N::Int64
: number of subintervals, default 100.tol::Float64
: absolute tolerance to determine if a value is maximum, defaulteps(Float64)
.
FuzzyLogic.RightMaximumDefuzzifier
— Typestruct RightMaximumDefuzzifier <: FuzzyLogic.AbstractDefuzzifier
Right maximum defuzzifier. Returns the largest value in the domain for which the membership function reaches its maximum.
Parameters
N::Int64
: number of subintervals, default 100.tol::Float64
: absolute tolerance to determine if a value is maximum, defaulteps(Float64)
.
Type-2 defuzzifiers
FuzzyLogic.EIASCDefuzzifier
— Typestruct EIASCDefuzzifier <: FuzzyLogic.Type2Defuzzifier
Defuzzifier for type-2 inference systems using Iterative Algorithm with Stopping Condition (IASC).
PARAMETERS
N::Int64
: number of subintervals for integration, default 100.
Extended help
The algorithm was introduced in
- Wu, D. and M. Nie, "Comparison and practical implementations of type-reduction algorithms for type-2 fuzzy sets and systems," Proceedings of FUZZ-IEEE, pp. 2131-2138 (2011)
FuzzyLogic.EKMDefuzzifier
— Typestruct EKMDefuzzifier <: FuzzyLogic.Type2Defuzzifier
Enhanced Karnik-Mendel type-reduction/defuzzification algorithm for Type-2 fuzzy systems.
Parameters
N::Int64
: number of subintervals for integration, default 100.maxiter::Int64
: maximum number of iterations, default 100.
Extended help
The algorithm was introduced in
- Wu, D. and J.M. Mendel, "Enhanced Karnik-Mendel algorithms," IEEE Transactions on Fuzzy Systems, vol. 17, pp. 923-934. (2009)
FuzzyLogic.IASCDefuzzifier
— Typestruct IASCDefuzzifier <: FuzzyLogic.Type2Defuzzifier
Defuzzifier for type-2 inference systems using Iterative Algorithm with Stopping Condition (IASC).
PARAMETERS
N::Int64
: number of subintervals for integration, default 100.
Extended help
The algorithm was introduced in
- Duran, K., H. Bernal, and M. Melgarejo, "Improved iterative algorithm for computing the generalized centroid of an interval type-2 fuzzy set," Annual Meeting of the North American Fuzzy Information Processing Society, pp. 190-194. (2008)
FuzzyLogic.KarnikMendelDefuzzifier
— Typestruct KarnikMendelDefuzzifier <: FuzzyLogic.Type2Defuzzifier
Karnik-Mendel type-reduction/defuzzification algorithm for Type-2 fuzzy systems.
Parameters
N::Int64
: number of subintervals for integration, default 100.maxiter::Int64
: maximum number of iterations, default 100.atol::Float64
: absolute tolerance for stopping iterations
Extended help
The algorithm was introduced in
- Karnik, Nilesh N., and Jerry M. Mendel. ‘Centroid of a Type-2 Fuzzy Set’. Information Sciences 132, no. 1–4 (February 2001): 195–220