sugeno: A factory function for creation of sugeno-integrals.

Description Usage Arguments Value Author(s) See Also Examples

View source: R/sugeno.R

Description

A factory function for creation of sugeno-integrals.

Usage

1
2
3
4
5
6
sugeno(
  measure,
  relative = TRUE,
  strong = FALSE,
  alg = c("lukasiewicz", "goedel", "goguen")
)

Arguments

measure

A non-decreasing function that assigns a truth value from the [0, 1] interval to the either relative or absolute quantity

relative

Whether the measure assumes relative or absolute quantity. Relative quantity is always a number from the [0,1] interval

strong

Whether to use the strong conjunction (TRUE) or the weak conjunction (FALSE)

alg

The underlying algebra must be either a string (one from 'lukasiewicz', 'goedel' or 'goguen') or an instance of the S3 class algebra().

Value

A two-argument function, which expects two numeric vectors of equal length (the vector elements are recycled to ensure equal lengths). The first argument, x, is a vector of membership degrees to be measured, the second argument, w, is the vector of weights.

Let U be the set of input vector indices (1 to length(x)). Then the sugeno integral computes the truth values accordingly to the following formula: \vee_{z \subseteq U} \wedge_{u \in z} (x[u]) CONJ measure(m_z), where m_z = sum(w[z]) / sum(w) if relative==TRUE or m_z = sum(w) if relative==FALSE and where CONJ is a strong conjunction (i.e. alg$pt) or a weak conjunction (i.e. alg$pi) accordingly to the strong parameter.

Author(s)

Michal Burda

See Also

quantifier(), lingexpr()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  # Dvorak <1> "almost all" quantifier
  q <- sugeno(lingexpr(ctx3(), atomic='bi', hedge='ex'))
  a <- c(0.9, 1, 1, 0.2, 1)
  q(x=a, w=1)

  # Dvorak <1,1> "almost all" quantifier
  a <- c(0.9, 1, 1, 0.2, 1)
  b <- c(0.2, 1, 0, 0.5, 0.8)
  q <- sugeno(lingexpr(ctx3(), atomic='bi', hedge='ex'))
  q(x=lukas.residuum(a, b), w=1)

  # Murinov√° <1,1> "almost all" quantifier
  a <- c(0.9, 1, 1, 0.2, 1)
  b <- c(0.2, 1, 0, 0.5, 0.8)
  q <- sugeno(lingexpr(ctx3(), atomic='bi', hedge='ex'))
  q(x=lukas.residuum(a, b), w=a)

beerda/lfl documentation built on Oct. 17, 2020, 8:57 p.m.