# sugeno: A factory function for creation of sugeno-integrals. In beerda/lfl: Linguistic Fuzzy Logic

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

quantifier(), lingexpr()
  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)