Skip to contents

This family of functions implements evaluation modes that returns a Boolean value for a given degree in [0, 1] obtained from a membership function of a linguistic value.

Usage

soft_eval(degree)

strict_eval(degree)

alpha_eval(degree, alpha)

soft_alpha_eval(degree, alpha)

Arguments

degree

A numerical vector whose values are in [0, 1].

alpha

A single numeric value in [0, 1].

Value

A Boolean vector.

Details

These functions yield a Boolean value that indicates whether the membership degree matches an expected interpretation (according to the meaning of an evaluation mode). That is, the parameter degree is a value in [0, 1] and an evaluation mode "translates" the meaning of this degree of truth as a Boolean value.

There are some different ways to make this translation:

  • soft_eval() returns TRUE if degree is greater than 0.

  • strict_eval() returns TRUE if degree is equal to 1.

  • alpha_eval() returns TRUE if degree is greater than or equal to another value (named alpha).

  • soft_alpha_eval() returns TRUE if degree is greater than another value (named alpha).

These operators are employed to process the evaluation modes of fuzzy topological relationships (parameter eval_mode) that are processed as Boolean predicates.

Examples

x <- c(0, 0.1, 0.3, 0.6, 1, 0.8)

soft_eval(x)
#> [1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
strict_eval(x)
#> [1] FALSE FALSE FALSE FALSE  TRUE FALSE
alpha_eval(x, 0.3)
#> [1] FALSE FALSE  TRUE  TRUE  TRUE  TRUE
soft_alpha_eval(x, 0.3)
#> [1] FALSE FALSE FALSE  TRUE  TRUE  TRUE