Learn R Programming

FuzzyNumbers (version 0.4-7)

trapezoidalApproximation: Trapezoidal Approximation of a Fuzzy Number

Description

This method finds a trapezoidal approximation \(T(A)\) of a given fuzzy number \(A\) by using the algorithm specified by the method parameter.

Usage

# S4 method for FuzzyNumber
trapezoidalApproximation(object,
   method=c("NearestEuclidean", "ExpectedIntervalPreserving",
            "SupportCoreRestricted", "Naive"),
   ..., verbose=FALSE)

Arguments

object

a fuzzy number

...

further arguments passed to integrateAlpha

method

character; one of: "NearestEuclidean" (default), "ExpectedIntervalPreserving", "SupportCoreRestricted", "Naive"

verbose

logical; should some technical details on the computations being performed be printed?

Value

Returns a TrapezoidalFuzzyNumber object.

Details

method may be one of:

  1. NearestEuclidean: see (Ban, 2009); uses numerical integration, see integrateAlpha

  2. Naive: We have core(A)==core(T(A)) and supp(A)==supp(T(A))

  3. ExpectedIntervalPreserving: L2-nearest trapezoidal approximation preserving the expected interval given in (Grzegorzewski, 2010; Ban, 2008; Yeh, 2008) Unfortunately, for highly skewed membership functions this approximation operator may have quite unfavourable behavior. For example, if Val(A) < EV_1/3(A) or Val(A) > EV_2/3(A), then it may happen that the core of the output and the core of the original fuzzy number A are disjoint (cf. Grzegorzewski, Pasternak-Winiarska, 2011)

  4. SupportCoreRestricted: This method was proposed in (Grzegorzewski, Pasternak-Winiarska, 2011). L2-nearest trapezoidal approximation with constraints core(A) \(\subseteq\) core(T(A)) and supp(T(A)) \(\subseteq\) supp(A), i.e. for which each point that surely belongs to A also belongs to T(A), and each point that surely does not belong to A also does not belong to T(A).

References

Ban A.I. (2008), Approximation of fuzzy numbers by trapezoidal fuzzy numbers preserving the expected interval, Fuzzy Sets and Systems 159, pp. 1327-1344.

Ban A.I. (2009), On the nearest parametric approximation of a fuzzy number - Revisited, Fuzzy Sets and Systems 160, pp. 3027-3047.

Grzegorzewski P. (2010), Algorithms for trapezoidal approximations of fuzzy numbers preserving the expected interval, In: Bouchon-Meunier B. et al (Eds.), Foundations of Reasoning Under Uncertainty, Springer, pp. 85-98.

Grzegorzewski P, Pasternak-Winiarska K. (2011), Trapezoidal approximations of fuzzy numbers with restrictions on the support and core, Proc. EUSFLAT/LFA 2011, Atlantis Press, pp. 749-756.

Yeh C.-T. (2008), Trapezoidal and triangular approximations preserving the expected interval, Fuzzy Sets and Systems 159, pp. 1345-1353.

See Also

Other approximation: piecewiseLinearApproximation()

Other FuzzyNumber-method: Arithmetic, Extract, FuzzyNumber-class, FuzzyNumber, alphaInterval(), alphacut(), ambiguity(), as.FuzzyNumber(), as.PiecewiseLinearFuzzyNumber(), as.PowerFuzzyNumber(), as.TrapezoidalFuzzyNumber(), as.character(), core(), distance(), evaluate(), expectedInterval(), expectedValue(), integrateAlpha(), piecewiseLinearApproximation(), plot(), show(), supp(), value(), weightedExpectedValue(), width()

Examples

Run this code
# NOT RUN {
(A <- FuzzyNumber(-1, 0, 1, 40,
   lower=function(x) sqrt(x), upper=function(x) 1-sqrt(x)))
(TA <- trapezoidalApproximation(A,
   "ExpectedIntervalPreserving")) # Note that the cores are disjoint!
expectedInterval(A)
expectedInterval(TA)
# }

Run the code above in your browser using DataLab