fuzzylite  6.0
A Fuzzy Logic Control Library in C++
fl::FL_IFINAL Class Reference

The Extremely class is a Hedge located fifth in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any). More...

#include <Extremely.h>

Inheritance diagram for fl::FL_IFINAL:
Collaboration diagram for fl::FL_IFINAL:

Public Member Functions

std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\). More...
 
Extremely * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
 HedgeFunction (const std::string &formula="")
 
std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Functionfunction ()
 Returns the reference to the Function. More...
 
void setFormula (const std::string &formula)
 Loads the function with the given formula. More...
 
std::string getFormula () const
 Returns the formula loaded into the function. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\) utilizing the given function via HedgeFunction::setFormula() More...
 
HedgeFunctionclone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\). More...
 
Not * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\). More...
 
Seldom * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\). More...
 
Somewhat * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string name () const FL_IOVERRIDE
 Returns the name of the hedge. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar hedge (scalar x) const FL_IOVERRIDE
 Computes the hedge for the membership function value \(x\). More...
 
Very * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the algebraic sum of two membership function values. More...
 
AlgebraicSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the bounded sum of two membership function values. More...
 
BoundedSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the drastic sum of two membership function values. More...
 
DrasticSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the Einstein sum of two membership function values. More...
 
EinsteinSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the Hamacher sum of two membership function values. More...
 
HamacherSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the maximum of two membership function values. More...
 
Maximum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the nilpotent maximum of two membership function values. More...
 
NilpotentMaximum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the normalized sum of two membership function values. More...
 
NormalizedSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
 SNormFunction (const std::string &formula="")
 
Functionfunction ()
 Returns the reference to the Function. More...
 
void setFormula (const std::string &formula)
 Loads the function with the given formula. More...
 
std::string getFormula () const
 Returns the formula loaded into the function. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the S-Norm utilizing the given function via SNormFunction::setFormula(), which automatically assigns the values of \(a\) and \(b\). More...
 
SNormFunctionclone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the bounded sum of two membership function values. More...
 
UnboundedSum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the algebraic product of two membership function values. More...
 
AlgebraicProduct * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the bounded difference between two membership function values. More...
 
BoundedDifference * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the drastic product of two membership function values. More...
 
DrasticProduct * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the Einstein product of two membership function values. More...
 
EinsteinProduct * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the Hamacher product of two membership function values. More...
 
HamacherProduct * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the minimum of two membership function values. More...
 
Minimum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the nilpotent minimum of two membership function values. More...
 
NilpotentMinimum * clone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
 TNormFunction (const std::string &formula="")
 
Functionfunction ()
 Returns the reference to the Function. More...
 
void setFormula (const std::string &formula)
 Loads the function with the given formula. More...
 
std::string getFormula () const
 Returns the formula loaded into the function. More...
 
std::string className () const FL_IOVERRIDE
 Returns the name of the class of the norm. More...
 
Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of applying the hedge. More...
 
scalar compute (scalar a, scalar b) const FL_IOVERRIDE
 Computes the S-Norm utilizing the given function via SNormFunction::setFormula(), which automatically assigns the values of \(a\) and \(b\). More...
 
TNormFunctionclone () const FL_IOVERRIDE
 Creates a clone of the hedge. More...
 
 Proposition ()
 
 ~Proposition () FL_IOVERRIDE
 
Expression::Type type () const FL_IOVERRIDE
 Returns the type of the expression. More...
 
std::string toString () const FL_IOVERRIDE
 Returns a string representation of the proposition. More...
 
 Operator ()
 
 ~Operator () FL_IOVERRIDE
 
Expression::Type type () const FL_IOVERRIDE
 Returns the type of the expression. More...
 
std::string toString () const FL_IOVERRIDE
 Returns the name of the operator. More...
 
- Public Member Functions inherited from fl::Expression
 Expression ()
 
virtual ~Expression ()
 
- Public Member Functions inherited from fl::TNorm
 TNorm ()
 
virtual ~TNorm () FL_IOVERRIDE
 
- Public Member Functions inherited from fl::Norm
 Norm ()
 
virtual ~Norm ()
 
- Public Member Functions inherited from fl::SNorm
 SNorm ()
 
virtual ~SNorm () FL_IOVERRIDE
 
- Public Member Functions inherited from fl::Hedge
 Hedge ()
 
virtual ~Hedge ()
 

Static Public Member Functions

static Hedgeconstructor ()
 
static Hedgeconstructor ()
 
static Hedgeconstructor ()
 
static Hedgeconstructor ()
 
static Hedgeconstructor ()
 
static Hedgeconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static SNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 
static TNormconstructor ()
 

Public Attributes

Variablevariable
 Variable in variable is [hedge]* term More...
 
std::vector< Hedge * > hedges
 Hedges in variable is [hedge]* term, owned by the object, destroyed on destructor. More...
 
Termterm
 Term in variable is [hedge]* term More...
 
std::string name
 Name of the operator. More...
 
Expressionleft
 Left expression in the binary tree. More...
 
Expressionright
 Right expression in the binary tree. More...
 

Additional Inherited Members

- Public Types inherited from fl::Expression
enum  Type { Proposition, Operator }
 

Detailed Description

The Extremely class is a Hedge located fifth in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any).

The Operator class is an Expression that represents a non-terminal node in the expression tree as a binary operator (i.e., and or or) on two Expression nodes.

The Proposition class is an Expression that represents a terminal node in the expression tree as variable is [hedge]* term.

The TNormFunction class is a customizable TNorm via Function, which computes any function based on the \(a\) and \(b\) values.

The NilpotentMinimum class is a TNorm that computes the nilpotent minimum of any two values.

The Minimum class is a TNorm that computes the minimum of any two values.

The HamacherProduct class is a TNorm that computes the Hamacher product of any two values.

The EinsteinProduct class is a TNorm that computes the Einstein product of any two values.

The DrasticProduct class is a TNorm that computes the drastic product of any two values.

The BoundedDifference class is a TNorm that computes the bounded difference between any two values.

The AlgebraicProduct class is a TNorm that computes the algebraic product of any two values.

The UnboundedSum class is an SNorm that computes the sum of any two values.

The SNormFunction class is a customizable SNorm via Function, which computes any function based on the \(a\) and \(b\) values.

The NormalizedSum class is an SNorm that computes the normalized sum of any two values.

The NilpotentMaximum class is an SNorm that computes the nilpotent maximum of any two values.

The Maximum class is an SNorm that computes the maximum of any two values.

The HamacherSum class is an SNorm that computes the Hamacher sum of any two values.

The EinsteinSum class is an SNorm that computes the einstein sum of any two values.

The DrasticSum class is an SNorm that computes the drastic sum of any two values.

The BoundedSum class is an SNorm that computes the bounded sum of any two values.

The AlgebraicSum class is an SNorm that computes the algebraic sum of values any two values.

The Very class is a Hedge located fourth in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any).

The Somewhat class is a Hedge located third in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any).

The Seldom class is a Hedge located second in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any).

The Not class is a Hedge located first in the ordered set (Not, Seldom, Somewhat, Very, Extremely, Any).

The HedgeFunction class is a customizable Hedge via Function, which computes any function based on the \(x\) value.

Author
Juan Rada-Vilela, Ph.D.
See also
Hedge
HedgeFactory
Since
4.0

This hedge is not registered with the HedgeFactory due to issues configuring the formula within. To register the hedge, a static method with the constructor needs to be manually created and registered. Please, check the file test/hedge/HedgeFunction.cpp for further details.

Author
Juan Rada-Vilela, Ph.D.
See also
Function
Hedge
HedgeFactory
Since
6.0
Author
Juan Rada-Vilela, Ph.D.
See also
AlgebraicProduct
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
BoundedDifference
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
DrasticProduct
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
EinsteinProduct
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
HamacherProduct
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
Minimum
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
NilpotentMinimum
SNorm
SNormFactory
Norm
Since
5.0
Author
Juan Rada-Vilela, Ph.D.
See also
SNorm
SNormFactory
Norm
Since
4.0

This SNorm is not registered with the SNormFactory.

Author
Juan Rada-Vilela, Ph.D.
See also
Function
SNorm
Norm
SNormFactory
Since
6.0
Author
Juan Rada-Vilela, Ph.D.
See also
BoundedSum
SNorm
SNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
AlgebraicSum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
BoundedSum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
DrasticSum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
EinsteinSum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
HamacherSum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
Maximum
TNorm
TNormFactory
Norm
Since
4.0
Author
Juan Rada-Vilela, Ph.D.
See also
NilpotentMaximum
TNorm
TNormFactory
Norm
Since
5.0

This TNorm is not registered with the TNormFactory.

Author
Juan Rada-Vilela, Ph.D.
See also
Function
TNorm
Norm
TNormFactory
Since
6.0
Author
Juan Rada-Vilela, Ph.D.
See also
Antecedent
Consequent
Rule
Since
4.0

Definition at line 33 of file Extremely.h.

Constructor & Destructor Documentation

◆ ~Proposition()

fl::FL_IFINAL::~Proposition ( )

◆ ~Operator()

fl::FL_IFINAL::~Operator ( )

Member Function Documentation

◆ className() [1/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [2/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [3/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [4/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [5/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [6/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [7/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [8/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [9/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [10/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [11/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [12/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [13/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [14/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [15/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [16/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [17/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ className() [18/18]

std::string fl::FL_IFINAL::className ( ) const
virtual

Returns the name of the class of the norm.

Returns
the name of the class of the norm

Implements fl::Norm.

◆ clone() [1/24]

Very* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [2/24]

Not* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [3/24]

NormalizedSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [4/24]

UnboundedSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [5/24]

Somewhat* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [6/24]

Minimum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [7/24]

Maximum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [8/24]

BoundedSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [9/24]

AlgebraicProduct* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [10/24]

BoundedDifference* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [11/24]

EinsteinProduct* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [12/24]

EinsteinSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [13/24]

HamacherProduct* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [14/24]

HamacherSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [15/24]

AlgebraicSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [16/24]

Extremely* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [17/24]

NilpotentMaximum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [18/24]

Seldom* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [19/24]

DrasticSum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [20/24]

DrasticProduct* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [21/24]

NilpotentMinimum* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [22/24]

TNormFunction* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [23/24]

SNormFunction* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ clone() [24/24]

HedgeFunction* fl::FL_IFINAL::clone ( ) const
virtual

Creates a clone of the hedge.

Returns
a clone of the hedge.

Implements fl::Hedge.

◆ complexity() [1/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [2/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [3/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [4/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [5/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [6/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [7/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [8/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [9/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [10/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [11/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [12/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [13/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [14/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [15/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [16/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [17/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [18/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [19/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [20/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [21/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [22/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [23/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ complexity() [24/24]

Complexity fl::FL_IFINAL::complexity ( ) const
virtual

Computes the estimated complexity of applying the hedge.

Returns
the estimated complexity of applying the hedge

Implements fl::Hedge.

◆ compute() [1/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the normalized sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\((a+b)/\max(1, a + b)\)

Implements fl::Norm.

◆ compute() [2/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the bounded sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\min(1, a+b)\)

Implements fl::Norm.

◆ compute() [3/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the minimum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\min(a,b)\)

Implements fl::Norm.

◆ compute() [4/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the maximum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\max(a,b)\)

Implements fl::Norm.

◆ compute() [5/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the bounded sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\min(1, a+b)\)

Implements fl::Norm.

◆ compute() [6/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the algebraic product of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(a\times b\)

Implements fl::Norm.

◆ compute() [7/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the bounded difference between two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\max(0, a+b - 1)\)

Implements fl::Norm.

◆ compute() [8/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the Einstein sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(a+b/(1+a \times b)\)

Implements fl::Norm.

◆ compute() [9/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the Einstein product of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\((a\times b)/(2-(a+b-a\times b))\)

Implements fl::Norm.

◆ compute() [10/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the Hamacher product of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\((a \times b) / (a+b- a \times b)\)

Implements fl::Norm.

◆ compute() [11/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the Hamacher sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(a+b-(2\times a \times b)/(1-a\times b)\)

Implements fl::Norm.

◆ compute() [12/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the algebraic sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(a+b-(a \times b)\)

Implements fl::Norm.

◆ compute() [13/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the nilpotent maximum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\begin{cases} \max(a,b) & \mbox{if $a+b<0$} \cr 1 & \mbox{otherwise} \end{cases}\)

Implements fl::Norm.

◆ compute() [14/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the nilpotent minimum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\begin{cases} \min(a,b) & \mbox{if $a+b>1$} \cr 0 & \mbox{otherwise} \end{cases}\)

Implements fl::Norm.

◆ compute() [15/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the drastic sum of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\begin{cases} \max(a,b) & \mbox{if $\min(a,b)=0$} \cr 1 & \mbox{otherwise} \end{cases}\)

Implements fl::Norm.

◆ compute() [16/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the drastic product of two membership function values.

Parameters
ais a membership function value
bis a membership function value
Returns
\(\begin{cases} \min(a,b) & \mbox{if $\max(a,b)=1$} \cr 0 & \mbox{otherwise} \end{cases}\)

Implements fl::Norm.

◆ compute() [17/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the S-Norm utilizing the given function via SNormFunction::setFormula(), which automatically assigns the values of \(a\) and \(b\).

Parameters
ais a membership function value
bis a membership function value
Returns
the evaluation of the function

Implements fl::Norm.

◆ compute() [18/18]

scalar fl::FL_IFINAL::compute ( scalar  a,
scalar  b 
) const
virtual

Computes the S-Norm utilizing the given function via SNormFunction::setFormula(), which automatically assigns the values of \(a\) and \(b\).

Parameters
ais a membership function value
bis a membership function value
Returns
the evaluation of the function

Implements fl::Norm.

◆ constructor() [1/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [2/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [3/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [4/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [5/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [6/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [7/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [8/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [9/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [10/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [11/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [12/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [13/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [14/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [15/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [16/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [17/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [18/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [19/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [20/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [21/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [22/24]

static TNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [23/24]

static SNorm* fl::FL_IFINAL::constructor ( )
static

◆ constructor() [24/24]

static Hedge* fl::FL_IFINAL::constructor ( )
static

◆ function() [1/3]

Function& fl::FL_IFINAL::function ( )

Returns the reference to the Function.

Returns
the reference to the Function

◆ function() [2/3]

Function& fl::FL_IFINAL::function ( )

Returns the reference to the Function.

Returns
the reference to the Function

◆ function() [3/3]

Function& fl::FL_IFINAL::function ( )

Returns the reference to the Function.

Returns
the reference to the Function

◆ getFormula() [1/3]

std::string fl::FL_IFINAL::getFormula ( ) const

Returns the formula loaded into the function.

Returns
the formula loaded into the function

◆ getFormula() [2/3]

std::string fl::FL_IFINAL::getFormula ( ) const

Returns the formula loaded into the function.

Returns
the formula loaded into the function

◆ getFormula() [3/3]

std::string fl::FL_IFINAL::getFormula ( ) const

Returns the formula loaded into the function.

Returns
the formula loaded into the function

◆ hedge() [1/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\).

Parameters
xis a membership function value
Returns
\(1-x\)

Implements fl::Hedge.

◆ hedge() [2/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\).

Parameters
xis a membership function value
Returns
\(x^2\)

Implements fl::Hedge.

◆ hedge() [3/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\).

Parameters
xis a membership function value
Returns
\(\sqrt{x}\)

Implements fl::Hedge.

◆ hedge() [4/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\).

Parameters
xis a membership function value
Returns
\( \begin{cases} 2x^2 & \mbox{if $x \le 0.5$} \cr 1-2(1-x)^2 & \mbox{otherwise} \cr \end{cases}\)

Implements fl::Hedge.

◆ hedge() [5/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\).

Parameters
xis a membership function value
Returns
\( \begin{cases} \sqrt{0.5x} & \mbox{if $x \le 0.5$} \cr 1-\sqrt{0.5(1-x)} & \mbox{otherwise}\cr \end{cases} \)

Implements fl::Hedge.

◆ hedge() [6/6]

scalar fl::FL_IFINAL::hedge ( scalar  x) const
virtual

Computes the hedge for the membership function value \(x\) utilizing the given function via HedgeFunction::setFormula()

Parameters
xis a membership function value
Returns
the evaluation of the function

Implements fl::Hedge.

◆ HedgeFunction()

fl::FL_IFINAL::HedgeFunction ( const std::string &  formula = "")
explicit

◆ name() [1/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ name() [2/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ name() [3/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ name() [4/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ name() [5/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ name() [6/6]

std::string fl::FL_IFINAL::name ( ) const
virtual

Returns the name of the hedge.

Returns
the name of the hedge

Implements fl::Hedge.

◆ Operator()

fl::FL_IFINAL::Operator ( )

◆ Proposition()

fl::FL_IFINAL::Proposition ( )

◆ setFormula() [1/3]

void fl::FL_IFINAL::setFormula ( const std::string &  formula)

Loads the function with the given formula.

Parameters
formulais a valid formula in infix notation

◆ setFormula() [2/3]

void fl::FL_IFINAL::setFormula ( const std::string &  formula)

Loads the function with the given formula.

Parameters
formulais a valid formula in infix notation

◆ setFormula() [3/3]

void fl::FL_IFINAL::setFormula ( const std::string &  formula)

Loads the function with the given formula.

Parameters
formulais a valid formula in infix notation

◆ SNormFunction()

fl::FL_IFINAL::SNormFunction ( const std::string &  formula = "")
explicit

◆ TNormFunction()

fl::FL_IFINAL::TNormFunction ( const std::string &  formula = "")
explicit

◆ toString() [1/2]

std::string fl::FL_IFINAL::toString ( ) const
virtual

Returns a string representation of the proposition.

Returns
a string representation of the proposition

Implements fl::Expression.

◆ toString() [2/2]

std::string fl::FL_IFINAL::toString ( ) const
virtual

Returns the name of the operator.

Returns
the name of the operator

Implements fl::Expression.

◆ type() [1/2]

Expression::Type fl::FL_IFINAL::type ( ) const
virtual

Returns the type of the expression.

Returns
the type of the expression

Implements fl::Expression.

◆ type() [2/2]

Expression::Type fl::FL_IFINAL::type ( ) const
virtual

Returns the type of the expression.

Returns
the type of the expression

Implements fl::Expression.

Member Data Documentation

◆ hedges

std::vector<Hedge*> fl::FL_IFINAL::hedges

Hedges in variable is [hedge]* term, owned by the object, destroyed on destructor.

Definition at line 77 of file Expression.h.

◆ left

Expression* fl::FL_IFINAL::left

Left expression in the binary tree.

Definition at line 113 of file Expression.h.

◆ name

std::string fl::FL_IFINAL::name

Name of the operator.

Definition at line 111 of file Expression.h.

◆ right

Expression* fl::FL_IFINAL::right

Right expression in the binary tree.

Definition at line 115 of file Expression.h.

◆ term

Term* fl::FL_IFINAL::term

Term in variable is [hedge]* term

Definition at line 79 of file Expression.h.

◆ variable

Variable* fl::FL_IFINAL::variable

Variable in variable is [hedge]* term

Definition at line 74 of file Expression.h.


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