FuzzyNumber-class {FuzzyNumbers}R Documentation

S4 class Representing a Fuzzy Number

Description

Formally, a fuzzy number AA (Dubois, Prade, 1987) is a fuzzy subset of the real line RR with membership function μ\mu given by:

| 00 if x<a1x < a1,
| left((xa1)/(a2a1))left((x-a1)/(a2-a1)) if a1x<a2a1 \le x < a2,
μ(x)\mu(x) = | 11 if a2xa3a2 \le x \le a3,
| right((xa3)/(a4a3))right((x-a3)/(a4-a3)) if a3<xa4a3 < x \le a4,
| 00 if a4<xa4 < x,

where a1,a2,a3,a4Ra1,a2,a3,a4\in R, a1a2a3a4a1 \le a2 \le a3 \le a4, left:[0,1][0,1]left: [0,1]\to[0,1] is a nondecreasing function called the left side generator of AA, and right:[0,1][0,1]right: [0,1]\to[0,1] is a nonincreasing function called the right side generator of AA. Note that this is a so-called L-R representation of a fuzzy number.

Alternatively, it may be shown that each fuzzy number AA may be uniquely determined by specifying its α\alpha-cuts, A(α)A(\alpha). We have A(0)=[a1,a4]A(0)=[a1,a4] and

A(α)=[a1+(a2a1)lower(α),a3+(a4a3)upper(α)]A(\alpha)=[a1+(a2-a1)*lower(\alpha), a3+(a4-a3)*upper(\alpha)]

for 0<α10<\alpha\le 1, where lower:[0,1][0,1]lower: [0,1]\to[0,1] and upper:[0,1][0,1]upper: [0,1]\to[0,1] are, respectively, strictly increasing and decreasing functions satisfying lower(α)=inf{x:μ(x)α}lower(\alpha)=\inf\{x: \mu(x)\ge\alpha\} and upper(α)=sup{x:μ(x)α}upper(\alpha)=\sup\{x: \mu(x)\ge\alpha\}.

Details

Please note that many algorithms that deal with fuzzy numbers often use α\alpha-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")

[Package FuzzyNumbers version 0.4-7 Index]