![]() |
SG++-Doxygen-Documentation
|
Abstract class for a fuzzy interval which is defined by stating its membership function \(\mu_{\tilde{x}}\colon X \to [0, 1]\). More...
#include <FuzzyIntervalViaMembershipFunction.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]\). | |
FuzzyIntervalViaMembershipFunction (const FuzzyIntervalViaMembershipFunction &other) | |
Copy constructor. | |
FuzzyIntervalViaMembershipFunction (double supportLowerBound, double supportUpperBound, double coreLowerBound, double coreUpperBound, size_t numberOfIntegralSamples=DEFAULT_NUMBER_OF_INTEGRAL_SAMPLES, double binarySearchTolerance=DEFAULT_BINARY_SEARCH_TOLERANCE) | |
Constructor. | |
double | getBinarySearchTolerance () const |
double | getCoreLowerBound () const |
double | getCoreUpperBound () const |
void | setBinarySearchTolerance (double binarySearchTolerance) |
~FuzzyIntervalViaMembershipFunction () 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. | |
virtual double | evaluateMembershipFunction (double x) const =0 |
Pure virtual method to evaluate the membership function. | |
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. | |
Static Public Attributes | |
static constexpr double | DEFAULT_BINARY_SEARCH_TOLERANCE = 1e-6 |
default tolerance for the binary search | |
![]() | |
static const size_t | DEFAULT_NUMBER_OF_INTEGRAL_SAMPLES = 10000 |
default number of samples to compute norms | |
Protected Attributes | |
double | binarySearchTolerance |
tolerance for the binary search | |
double | coreLowerBound |
lower bound of the core | |
double | coreUpperBound |
upper bound of the core | |
![]() | |
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... | |
Abstract class for a fuzzy interval which is defined by stating its membership function \(\mu_{\tilde{x}}\colon X \to [0, 1]\).
sgpp::optimization::FuzzyIntervalViaMembershipFunction::FuzzyIntervalViaMembershipFunction | ( | double | supportLowerBound, |
double | supportUpperBound, | ||
double | coreLowerBound, | ||
double | coreUpperBound, | ||
size_t | numberOfIntegralSamples = DEFAULT_NUMBER_OF_INTEGRAL_SAMPLES , |
||
double | binarySearchTolerance = DEFAULT_BINARY_SEARCH_TOLERANCE |
||
) |
Constructor.
Needs the support of the fuzzy interval and its core, i.e., \((\tilde{x})_\alpha\) for \(alpha = 0\) and for \(\alpha = 1\), (which are always closed intervals, so it suffices to supply lower and upper bounds). The core is needed since the binary search cannot be performed for \(\alpha = 1\).
supportLowerBound | lower bound of the support |
supportUpperBound | upper bound of the support |
coreLowerBound | lower bound of the core |
coreUpperBound | upper bound of the core |
numberOfIntegralSamples | number of samples to compute norms |
binarySearchTolerance | tolerance for the binary search |
sgpp::optimization::FuzzyIntervalViaMembershipFunction::FuzzyIntervalViaMembershipFunction | ( | const FuzzyIntervalViaMembershipFunction & | other | ) |
Copy constructor.
other | other 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, binarySearchTolerance, coreLowerBound, sgpp::optimization::FuzzyInterval::evaluateMembershipFunction(), and sgpp::optimization::FuzzyInterval::supportLowerBound.
|
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, binarySearchTolerance, coreUpperBound, sgpp::optimization::FuzzyInterval::evaluateMembershipFunction(), and sgpp::optimization::FuzzyInterval::supportUpperBound.
double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getBinarySearchTolerance | ( | ) | const |
References binarySearchTolerance.
double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getCoreLowerBound | ( | ) | const |
References coreLowerBound.
double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getCoreUpperBound | ( | ) | const |
References coreUpperBound.
void sgpp::optimization::FuzzyIntervalViaMembershipFunction::setBinarySearchTolerance | ( | double | binarySearchTolerance | ) |
binarySearchTolerance | tolerance for the binary search |
References binarySearchTolerance.
|
protected |
tolerance for the binary search
Referenced by evaluateConfidenceIntervalLowerBound(), evaluateConfidenceIntervalUpperBound(), getBinarySearchTolerance(), and setBinarySearchTolerance().
|
protected |
lower bound of the core
Referenced by evaluateConfidenceIntervalLowerBound(), and getCoreLowerBound().
|
protected |
upper bound of the core
Referenced by evaluateConfidenceIntervalUpperBound(), and getCoreUpperBound().
|
staticconstexpr |
default tolerance for the binary search