SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::optimization::FuzzyIntervalViaMembershipFunction Class Reference

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>

Inheritance diagram for sgpp::optimization::FuzzyIntervalViaMembershipFunction:
sgpp::optimization::FuzzyInterval sgpp::optimization::InterpolatedFuzzyInterval sgpp::optimization::QuasiGaussianFuzzyNumber

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.
 
- Public Member Functions inherited from sgpp::optimization::FuzzyInterval
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 Public Attributes inherited from sgpp::optimization::FuzzyInterval
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
 
- Protected Attributes inherited from sgpp::optimization::FuzzyInterval
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

- Public Types inherited from sgpp::optimization::FuzzyInterval
enum class  NormMode { ViaMembershipFunction , ViaConfidenceInterval }
 mode to determine norms of the fuzzy interval More...
 

Detailed Description

Abstract class for a fuzzy interval which is defined by stating its membership function \(\mu_{\tilde{x}}\colon X \to [0, 1]\).

Constructor & Destructor Documentation

◆ FuzzyIntervalViaMembershipFunction() [1/2]

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\).

Parameters
supportLowerBoundlower bound of the support
supportUpperBoundupper bound of the support
coreLowerBoundlower bound of the core
coreUpperBoundupper bound of the core
numberOfIntegralSamplesnumber of samples to compute norms
binarySearchTolerancetolerance for the binary search

◆ FuzzyIntervalViaMembershipFunction() [2/2]

sgpp::optimization::FuzzyIntervalViaMembershipFunction::FuzzyIntervalViaMembershipFunction ( const FuzzyIntervalViaMembershipFunction other)

Copy constructor.

Parameters
otherother fuzzy interval

◆ ~FuzzyIntervalViaMembershipFunction()

sgpp::optimization::FuzzyIntervalViaMembershipFunction::~FuzzyIntervalViaMembershipFunction ( )
override

Destructor.

Member Function Documentation

◆ evaluateConfidenceIntervalLowerBound()

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::evaluateConfidenceIntervalLowerBound ( double  alpha) const
overridevirtual

Evaluate the lower bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\).

Parameters
alpha\(\alpha \in [0, 1]\)
Returns
\(a \in X\)

Implements sgpp::optimization::FuzzyInterval.

References alpha, binarySearchTolerance, coreLowerBound, sgpp::optimization::FuzzyInterval::evaluateMembershipFunction(), and sgpp::optimization::FuzzyInterval::supportLowerBound.

◆ evaluateConfidenceIntervalUpperBound()

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::evaluateConfidenceIntervalUpperBound ( double  alpha) const
overridevirtual

Evaluate the upper bound of a confidence interval, which is always a closed interval \((\tilde{x})_\alpha = [a, b]\).

Parameters
alpha\(\alpha \in [0, 1]\)
Returns
\(b \in X\)

Implements sgpp::optimization::FuzzyInterval.

References alpha, binarySearchTolerance, coreUpperBound, sgpp::optimization::FuzzyInterval::evaluateMembershipFunction(), and sgpp::optimization::FuzzyInterval::supportUpperBound.

◆ getBinarySearchTolerance()

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getBinarySearchTolerance ( ) const
Returns
tolerance for the binary search

References binarySearchTolerance.

◆ getCoreLowerBound()

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getCoreLowerBound ( ) const
Returns
lower bound of the core

References coreLowerBound.

◆ getCoreUpperBound()

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::getCoreUpperBound ( ) const
Returns
upper bound of the core

References coreUpperBound.

◆ setBinarySearchTolerance()

void sgpp::optimization::FuzzyIntervalViaMembershipFunction::setBinarySearchTolerance ( double  binarySearchTolerance)
Parameters
binarySearchTolerancetolerance for the binary search

References binarySearchTolerance.

Member Data Documentation

◆ binarySearchTolerance

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::binarySearchTolerance
protected

◆ coreLowerBound

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::coreLowerBound
protected

lower bound of the core

Referenced by evaluateConfidenceIntervalLowerBound(), and getCoreLowerBound().

◆ coreUpperBound

double sgpp::optimization::FuzzyIntervalViaMembershipFunction::coreUpperBound
protected

upper bound of the core

Referenced by evaluateConfidenceIntervalUpperBound(), and getCoreUpperBound().

◆ DEFAULT_BINARY_SEARCH_TOLERANCE

constexpr double sgpp::optimization::FuzzyIntervalViaMembershipFunction::DEFAULT_BINARY_SEARCH_TOLERANCE = 1e-6
staticconstexpr

default tolerance for the binary search


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