FuzzyNumbers - Online Manual

 FuzzyNumber-class {FuzzyNumbers} R Documentation

S4 class Representing a Fuzzy Number

Description

Formally, a fuzzy number A (Dubois, Prade, 1987) is a fuzzy subset of the real line R with membership function μ given by:

 | 0 if x < a1, | left((x-a1)/(a2-a1)) if a1 ≤ x < a2, μ(x) = | 1 if a2 ≤ x ≤ a3, | right((x-a3)/(a4-a3)) if a3 < x ≤ a4, | 0 if a4 < x,

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

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

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

for 0<α≤ 1, where lower: [0,1]->[0,1] and upper: [0,1]->[1,0] are, respectively, strictly increasing and decreasing functions satisfying lower(α)=inf(x: μ(x)≥α) and upper(α)=sup(x: μ(x)≥α).

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.

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, 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
showClass("FuzzyNumber")