FuzzyNumber-class {FuzzyNumbers} | R Documentation |
S4 class Representing a Fuzzy Number
Description
Formally, a fuzzy number (Dubois, Prade, 1987) is a fuzzy subset of the
real line
with membership function
given by:
| | if , |
|
| | if , |
|
= | | | if , |
| | if , |
|
| | if , |
|
where ,
,
is a nondecreasing function
called the left side generator of
,
and
is a nonincreasing function
called the right side generator of
.
Note that this is a so-called L-R representation of a fuzzy number.
Alternatively, it may be shown that each fuzzy number may be uniquely determined
by specifying its
-cuts,
. We have
and
for , where
and
are, respectively, strictly increasing and decreasing functions
satisfying
and
.
Details
Please note that many algorithms that deal with fuzzy numbers often use
-cuts rather than side functions.
Note that the FuzzyNumbers package also deals with particular types of fuzzy numbers like trapezoidal, piecewise linear, or “parametric” FNs.
Slots
a1
:Single numeric value specifying the left bound for the support.
a2
:Single numeric value specifying the left bound for the core.
a3
:Single numeric value specifying the right bound for the core.
a4
:Single numeric value specifying the right bound for the support.
lower
:A nondecreasing function [0,1]->[0,1] that gives the lower alpha-cut bound.
upper
:A nonincreasing function [0,1]->[1,0] that gives the upper alpha-cut bound.
left
:A nondecreasing function [0,1]->[0,1] that gives the left side function.
right
:A nonincreasing function [0,1]->[1,0] that gives the right side function.
Child/sub classes
TrapezoidalFuzzyNumber
,
PiecewiseLinearFuzzyNumber
,
PowerFuzzyNumber
, and
DiscontinuousFuzzyNumber
References
Dubois D., Prade H. (1987), Fuzzy numbers: An overview, In: Analysis of Fuzzy Information. Mathematical Logic, vol. I, CRC Press, pp. 3-39.
See Also
FuzzyNumber
for a convenient constructor, and
as.FuzzyNumber
for conversion of objects to this class.
Also, see convertSide
for creating side functions generators,
convertAlpha
for creating alpha-cut bounds generators,
approxInvert
for inverting side functions/alpha-cuts numerically.
Other FuzzyNumber-method:
Arithmetic
,
Extract
,
FuzzyNumber
,
alphaInterval()
,
alphacut()
,
ambiguity()
,
as.FuzzyNumber()
,
as.PiecewiseLinearFuzzyNumber()
,
as.PowerFuzzyNumber()
,
as.TrapezoidalFuzzyNumber()
,
as.character()
,
core()
,
distance()
,
evaluate()
,
expectedInterval()
,
expectedValue()
,
integrateAlpha()
,
piecewiseLinearApproximation()
,
plot()
,
show()
,
supp()
,
trapezoidalApproximation()
,
value()
,
weightedExpectedValue()
,
width()
Examples
showClass("FuzzyNumber")
showMethods(classes="FuzzyNumber")