sugeno {lfl}R 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][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][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 UU be the set of input vector indices (1 to length(x)). Then the sugeno integral computes the truth values accordingly to the following formula: zUuz(x[u])CONJmeasure(mz)\vee_{z \subseteq U} \wedge_{u \in z} (x[u]) CONJ measure(m_z), where mz=sum(w[z])/sum(w)m_z = sum(w[z]) / sum(w) if relative==TRUE or mz=sum(w)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)

[Package lfl version 2.2.0 Index]