fuzzy_logic(new, ...)
.N.(x)
.T.(x, y)
.S.(x, y)
.I.(x, y)
fuzzy_logic()
without arguments returns the currently
set fuzzy logic, i.e., a named list with four
components N
, T
, S
, and I
containing the
corresponding functions for negation, conjunction
( The package provides several fuzzy logic families.
A concrete fuzzy logic is selected
by calling fuzzy_logic
with a character
string specifying the family name, and optional parameters. Let us
refer to $N(x) = 1 - x$ as the standard negation, and,
for a $t$-norm $T$, let $S(x, y) = 1 - T(1 - x, 1 - y)$ by
the dual (or complementary) $t$-conorm. Available
specifications and corresponding families are as follows, with the
standard negation used unless stated otherwise.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The following parametric families are obtained by combining the corresponding families of $t$-norms with the standard negation.
[object Object],[object Object],[object Object],[object Object],[object Object]
By default, the Zadeh family is used.
.N.
, .T.
, .S.
, and .I.
are dynamic
functions, i.e., wrappers that call the corresponding function of the
current fuzzy logic family. Thus, the behavior of code using these
functions will change according to the chosen family.
J. Fodor and M. Roubens (1994), Fuzzy Preference Modelling and Multicriteria Decision Support. Kluwer Academic Publishers, Dordrecht.
B. Schweizer and A. Sklar (1983), Probabilistic Metric Spaces. North-Holland, New York. ISBN 0-444-00666-4.
x <- c(0.7, 0.8)
y <- c(0.2, 0.3)
## Use default family ("Zadeh")
.N.(x)
.T.(x, y)
.S.(x, y)
.I.(x, y)
## Switch family and try again
fuzzy_logic("Fodor")
.N.(x)
.T.(x, y)
.S.(x, y)
.I.(x, y)
Run the code above in your browser using DataLab