fsi_create()
builds a fuzzy spatial inference (FSI) model without elements of the data source component (i.e., spatial plateau objects, fuzzy rules set, and fuzzy sets).
fsi_create(name, and_method = "min", or_method = "max",
imp_method = "min", agg_method = "max",
defuzz_method = "centroid", default_conseq = NULL)
An empty named FSI model that is ready to be populated with data source component (i.e., spatial plateau objects, fuzzy rules set, and fuzzy sets).
A character value that specifies the name of the FSI model.
A character value that defines the operator for the logical connective AND. Default value is "min"
.
A character value that defines the operator for the logical connective OR. Default value is "max"
.
A character value that defines the implication operator. Default value is "min"
.
A character value that defines the aggregation operator. Default value is "max"
.
A character value that determines the defuzzification technique. Default value is the centroid technique.
A function object that corresponds to a membership function of the consequent.
The fsi_create()
function creates an empty FSI model and its default parameter values will implement a model using Mamdani's method.
The possible values for the parameters and_method
and imp_method
are: "min"
, "prod"
. The name of a user-defined t-norm function can also be informed here.
The possible value for the parameters or_method
and agg_method
is: "max"
. The name of a user-defined t-conorm function can also be informed here.
The possible values for the parameter defuzz_method
are "centroid"
(default value), "bisector"
, "mom"
, "som"
, and "lom"
.
The parameter default_conseq
defines the default behavior of the FSI model when there is no fuzzy rule with a degree of fulfillment greater than 0 returned by the FSI model.
After creating an empty FSI model, you have to call the functions fsi_add_fsa()
, fsi_add_cs()
, and fsi_add_rules()
to fulfill the FSI model with the needed information before performing inferences.
Underlying concepts and formal definitions of FSI models are introduced in:
trim_mf <- function(a, b, c) {
function(x) {
pmax(pmin((x - a)/(b - a), (c - x)/(c - b), na.rm = TRUE), 0)
}
}
# Creating the FSI model
fsi <- fsi_create("To visit or not to visit, that is the question",
default_conseq = trim_mf(10, 30, 60))
Run the code above in your browser using DataLab