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

View source: R/sugeno.R

sugenoR Documentation

A factory function for creation of sugeno-integrals.

Description

A factory function for creation of sugeno-integrals.

Usage

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

  # 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)

lfl documentation built on Sept. 8, 2022, 5:08 p.m.

Related to sugeno in lfl...