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

Triangular fuzzy interval; its membership function linearly increases from 0 to 1, stays 1, and linearly decreases back to 0. More...

#include <TriangularFuzzyInterval.hpp>

Inheritance diagram for sgpp::optimization::TriangularFuzzyInterval:
sgpp::optimization::FuzzyInterval

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

Detailed Description

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

Constructor & Destructor Documentation

◆ TriangularFuzzyInterval() [1/4]

sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval ( double  mean,
double  spread 
)

Constructor.

Parameters
meanleft mean = right mean
spreadleft spread = right spread

◆ TriangularFuzzyInterval() [2/4]

sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval ( double  mean,
double  leftSpread,
double  rightSpread 
)

Constructor.

Parameters
meanleft mean = right mean
leftSpreadleft spread
rightSpreadright spread

◆ TriangularFuzzyInterval() [3/4]

sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval ( double  leftMean,
double  rightMean,
double  leftSpread,
double  rightSpread 
)

Constructor.

Parameters
leftMeanleft mean
rightMeanright mean
leftSpreadleft spread
rightSpreadright spread

◆ TriangularFuzzyInterval() [4/4]

sgpp::optimization::TriangularFuzzyInterval::TriangularFuzzyInterval ( const TriangularFuzzyInterval other)

Copy constructor.

Parameters
otherother triangular fuzzy interval

◆ ~TriangularFuzzyInterval()

sgpp::optimization::TriangularFuzzyInterval::~TriangularFuzzyInterval ( )
override

Destructor.

Member Function Documentation

◆ evaluateConfidenceIntervalLowerBound()

double sgpp::optimization::TriangularFuzzyInterval::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, leftMean, and leftSpread.

◆ evaluateConfidenceIntervalUpperBound()

double sgpp::optimization::TriangularFuzzyInterval::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, rightMean, and rightSpread.

◆ evaluateMembershipFunction()

double sgpp::optimization::TriangularFuzzyInterval::evaluateMembershipFunction ( double  x) const
overridevirtual

Evaluate the membership function.

Parameters
x\(x \in X\)
Returns
\(\mu_{\tilde{x}}(x) \in [0, 1]\)

Implements sgpp::optimization::FuzzyInterval.

References leftMean, leftSpread, rightMean, and rightSpread.

◆ getLeftMean()

double sgpp::optimization::TriangularFuzzyInterval::getLeftMean ( ) const
Returns
left mean

References leftMean.

◆ getLeftSpread()

double sgpp::optimization::TriangularFuzzyInterval::getLeftSpread ( ) const
Returns
left spread

References leftSpread.

◆ getRightMean()

double sgpp::optimization::TriangularFuzzyInterval::getRightMean ( ) const
Returns
right mean

References rightMean.

◆ getRightSpread()

double sgpp::optimization::TriangularFuzzyInterval::getRightSpread ( ) const
Returns
right spread

References rightSpread.

Member Data Documentation

◆ leftMean

double sgpp::optimization::TriangularFuzzyInterval::leftMean
protected

◆ leftSpread

double sgpp::optimization::TriangularFuzzyInterval::leftSpread
protected

◆ rightMean

double sgpp::optimization::TriangularFuzzyInterval::rightMean
protected

◆ rightSpread

double sgpp::optimization::TriangularFuzzyInterval::rightSpread
protected

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