![]() |
SG++-Doxygen-Documentation
|
Triangular fuzzy interval; its membership function linearly increases from 0 to 1, stays 1, and linearly decreases back to 0. More...
#include <TriangularFuzzyInterval.hpp>
Public Member Functions | |
double | evaluateConfidenceIntervalLowerBound (double alpha) const override |
Evaluate the lower bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\). | |
double | evaluateConfidenceIntervalUpperBound (double alpha) const override |
Evaluate the upper bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\). | |
double | evaluateMembershipFunction (double x) const override |
Evaluate the membership function. | |
double | getLeftMean () const |
double | getLeftSpread () const |
double | getRightMean () const |
double | getRightSpread () const |
TriangularFuzzyInterval (const TriangularFuzzyInterval &other) | |
Copy constructor. | |
TriangularFuzzyInterval (double leftMean, double rightMean, double leftSpread, double rightSpread) | |
Constructor. | |
TriangularFuzzyInterval (double mean, double leftSpread, double rightSpread) | |
Constructor. | |
TriangularFuzzyInterval (double mean, double spread) | |
Constructor. | |
~TriangularFuzzyInterval () override | |
Destructor. | |
![]() | |
double | computeL1Error (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute absolute L1 error to other fuzzy interval. | |
double | computeL1Norm (NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute L1 norm of fuzzy interval. | |
double | computeL2Error (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute absolute L2 error to other fuzzy interval. | |
double | computeL2Norm (NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute L2 norm of fuzzy interval. | |
double | computeLinfError (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute absolute Linf error to other fuzzy interval. | |
double | computeLinfNorm (NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute Linf norm of fuzzy interval. | |
double | computeRelativeL1Error (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute relative L1 error to other fuzzy interval. | |
double | computeRelativeL2Error (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute relative L2 error to other fuzzy interval. | |
double | computeRelativeLinfError (const FuzzyInterval &other, NormMode normMode=NormMode::ViaMembershipFunction) const |
Compute relative Linf error to other fuzzy interval. | |
FuzzyInterval (const FuzzyInterval &other) | |
Copy constructor. | |
FuzzyInterval (double supportLowerBound, double supportUpperBound, size_t numberOfIntegralSamples=DEFAULT_NUMBER_OF_INTEGRAL_SAMPLES) | |
Constructor. | |
size_t | getNumberOfIntegralSamples () const |
double | getSupportLowerBound () const |
double | getSupportUpperBound () const |
void | setNumberOfIntegralSamples (size_t numberOfIntegralSamples) |
virtual | ~FuzzyInterval () |
Destructor. | |
Protected Attributes | |
double | leftMean |
left mean | |
double | leftSpread |
left spread | |
double | rightMean |
right mean | |
double | rightSpread |
right spread | |
![]() | |
size_t | numberOfIntegralSamples |
number of samples to compute norms | |
double | supportLowerBound |
lower bound of the support | |
double | supportUpperBound |
upper bound of the support | |
Additional Inherited Members | |
![]() | |
enum class | NormMode { ViaMembershipFunction , ViaConfidenceInterval } |
mode to determine norms of the fuzzy interval More... | |
![]() | |
static const size_t | DEFAULT_NUMBER_OF_INTEGRAL_SAMPLES = 10000 |
default number of samples to compute norms | |
Triangular fuzzy interval; its membership function linearly increases from 0 to 1, stays 1, and linearly decreases back to 0.
The core (i.e., the area where the membership function equals 1) is given by \([\mathrm{leftMean}, \mathrm{rightMean}]\). The support is given by \([\mathrm{leftMean} - \mathrm{leftSpread}, \mathrm{rightMean} + \mathrm{rightSpread}]\).
sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval | ( | double | mean, |
double | spread | ||
) |
Constructor.
mean | left mean = right mean |
spread | left spread = right spread |
sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval | ( | double | mean, |
double | leftSpread, | ||
double | rightSpread | ||
) |
Constructor.
mean | left mean = right mean |
leftSpread | left spread |
rightSpread | right spread |
sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval | ( | double | leftMean, |
double | rightMean, | ||
double | leftSpread, | ||
double | rightSpread | ||
) |
Constructor.
leftMean | left mean |
rightMean | right mean |
leftSpread | left spread |
rightSpread | right spread |
sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval | ( | const TriangularFuzzyInterval & | other | ) |
Copy constructor.
other | other triangular fuzzy interval |
|
override |
Destructor.
|
overridevirtual |
Evaluate the lower bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\).
alpha | \(\alpha \in [0, 1]\) |
Implements sgpp::optimization::FuzzyInterval.
References alpha, leftMean, and leftSpread.
|
overridevirtual |
Evaluate the upper bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\).
alpha | \(\alpha \in [0, 1]\) |
Implements sgpp::optimization::FuzzyInterval.
References alpha, rightMean, and rightSpread.
|
overridevirtual |
Evaluate the membership function.
x | \(x \in X\) |
Implements sgpp::optimization::FuzzyInterval.
References leftMean, leftSpread, rightMean, and rightSpread.
double sgpp::optimization::TriangularFuzzyInterval::getLeftMean | ( | ) | const |
References leftMean.
double sgpp::optimization::TriangularFuzzyInterval::getLeftSpread | ( | ) | const |
References leftSpread.
double sgpp::optimization::TriangularFuzzyInterval::getRightMean | ( | ) | const |
References rightMean.
double sgpp::optimization::TriangularFuzzyInterval::getRightSpread | ( | ) | const |
References rightSpread.
|
protected |
left mean
Referenced by evaluateConfidenceIntervalLowerBound(), evaluateMembershipFunction(), and getLeftMean().
|
protected |
left spread
Referenced by evaluateConfidenceIntervalLowerBound(), evaluateMembershipFunction(), and getLeftSpread().
|
protected |
right mean
Referenced by evaluateConfidenceIntervalUpperBound(), evaluateMembershipFunction(), and getRightMean().
|
protected |
right spread
Referenced by evaluateConfidenceIntervalUpperBound(), evaluateMembershipFunction(), and getRightSpread().