Learn R Programming

RoughSets (version 1.0-0)

BC.discernibility.mat.FRST: The decision-relative discernibility matrix based on fuzzy rough set theory

Description

This is a function that is used to build the decision-relative discernibility matrix based on FRST. It is a matrix whose elements contain discernible attributes among pairs of objects. By means of this matrix, we are able to produce all decision reducts of the given decision system.

Usage

BC.discernibility.mat.FRST(decision.table,
    type.discernibility = "standard.red", control = list())

Arguments

decision.table
a "DecisionTable" class representing the decision table. See SF.asDecisionTable. It should be noted that this function only supports nominal/symbolic decision attribute.
type.discernibility
a string representing a type of discernibility. See in Section Details.
control
a list of other parameters.
  • type.relation: a type of fuzzy indiscernibility relation. The default value istype.relation = c("tolerance", "eq.1").

    SeeBC.IND.relation

Value

  • A class "DiscernibilityMatrix" containing the following components:
    • dis.mat: a matrix showing the decision-relative discernibility matrix$M(\mathcal{A})$which contains$n \times n$where$n$is the number of objects. It will be printed when choosingshow.discernibilityMatrix = TRUE.
    • disc.list: the decision-relative discernibility that is represented in a list.
    • discernibility.type: a string showing the chosen type of discernibility methods.
    • type.model: in this case, it is"FRST".

Details

In this function, we provide several approaches in order to generate the decision-relative discernibility matrix. A particular approach can be executed by selecting a value of the parameter type.discernibility. Theoretically, all reducts are found by constructing the matrix that contains elements showing discernible attributes among objects. The discernible attributes are determined by a specific condition which depends on the selected algorithm. The following shows the different values of the parameter type.discernibility corresponding approaches considered in this function.
  • "standard.red": It is adopted from (E. C. C. Tsang et al, 2008)'s approach. The concept has been explained briefly inB.Introduction-FuzzyRoughSets. In order to use this algorithm, we assign thecontrolparameter with the following components:control = list(type.aggregation, type.relation, type.LU, t.implicator).

    The detailed description of the components can be seen inBC.IND.relation.FRSTandBC.LU.approximation.FRST. Furthermore, in this case the authors suggest to use the "min" t-norm (type.aggregation = c("t.tnorm", "min")) and the implicator operator "kleene_dienes" (t.implicator = "kleene_dienes").

  • "alpha.red": It is based on (S. Zhao et al, 2009)'s approach where all reductions will be found by building an$\alpha$-discernibility matrix. This matrix contains elements which are defined by

    1) if$x_i$and$x_j$belong to different decision concept,$c_{ij} = {R : \mathcal{T}(R(x_i, x_j), \lambda) \le \alpha }$,

    where$\lambda = (R_{\alpha} \downarrow A)(u)$which is lower approximation of FVPRS (SeeBC.LU.approximation.FRST).

    2)$c_{ij}={\oslash}$, otherwise.

    To generate the discernibility matrix based on this approach, we use thecontrolparameter with the following components:control = list(type.aggregation, type.relation, t.implicator, alpha.precision)where the lower approximation$\lambda$is fixed totype.LU = "fvprs". The detailed description of the components can be seen inBC.IND.relation.FRSTandBC.LU.approximation.FRST. Furthermore, in this case the authors suggest to use$\mathcal{T}$-similarity relation

    e.g.,type.relation = c("transitive.closure", "eq.3"),

    the "lukasiewicz" t-norm (type.aggregation = c("t.tnorm", "lukasiewicz")), andalpha.precisionfrom 0 to 0.5.

  • "gaussian.red": It is based on (D. G. Chen et al, 2011)'s approach. The discernibility matrix contains elements which are defined by:

    1) if$x_i$and$x_j$belong to different decision concept,$c_{ij}= {R : R(x_i, x_j) \le \sqrt{1 - \lambda^2(x_i)}}$,

    where$\lambda = inf_{u \in U}\mathcal{I}_{cos}(R(x_i, u), A(u)) - \epsilon$. To generate fuzzy relation$R$, we use the fixed parameters as follows:t.tnorm = "t.cos"andtype.relation = c("transitive.kernel", "gaussian".

    2)$c_{ij}={\oslash}$, otherwise.

    In this case, we need to definecontrolparameter as follows.control <- list(epsilon)It should be noted that when having nominal values on all attributes then$\epsilon$should be 0.

  • "min.element": It is based on (Chen et al, 2012)'s approach where we only consider finding the minimal element of the discernibility matrix by introducing the binary relation$DIS(R)$the relative discernibility relation of conditional attribute$R$with respect to decision attribute$d$, which is computed as$DIS(R) = {(x_i, x_j) \in U \times U: 1 - R(x_i, x_j) > \lambda_i, x_j \notin [x_i]_d}$,

    where$\lambda_i = (Sim(R) \downarrow [x_i]_d)(x_i)$with$Sim(R)$a fuzzy equivalence relation. In other words, this algorithm does not need to build the discernibility matrix. To generate the fuzzy relation$R$and lower approximation$\lambda$, we use thecontrolparameter with the following components:control = list(type.aggregation, type.relation, type.LU, t.implicator).

    The detailed description of the components can be seen inBC.IND.relation.FRSTandBC.LU.approximation.FRST.

References

D. Chen, L. Zhang, S. Zhao, Q. Hu, and P. Zhu, "A Novel Algorithm for Finding Reducts with Fuzzy Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 20, no. 2, p. 385 - 389 (2012).

D. G. Chen, Q. H. Hu, and Y. P. Yang, "Parameterized Attribute Reduction with Gaussian Kernel Based Fuzzy Rough Sets", Information Sciences, vol. 181, no. 23, p. 5169 - 5179 (2011).

E. C. C. Tsang, D. G. Chen, D. S. Yeung, X. Z. Wang, and J. W. T. Lee, "Attributes Reduction Using Fuzzy Rough Sets", IEEE Trans. Fuzzy Syst., vol. 16, no. 5, p. 1130 - 1141 (2008).

S. Zhao, E. C. C. Tsang, and D. Chen, "The Model of Fuzzy Variable Precision Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 17, no. 2, p. 451 - 467 (2009).

See Also

BC.discernibility.mat.RST, BC.LU.approximation.RST, and BC.LU.approximation.FRST

Examples

Run this code
#######################################################################
## Example 1: Constructing the decision-relative discernibility matrix
#######################################################################
data(RoughSetData)
decision.table <- RoughSetData$pima7.dt

control.1 <- list(type.relation = c("tolerance", "eq.1"),
                type.aggregation = c("t.tnorm", "min"),
                t.implicator = "kleene_dienes", type.LU = "implicator.tnorm")
res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
                                    control = control.1)

control.2 <- list(epsilon = 0)
res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
                                    control = control.2)


control.3 <- list(type.relation = c("tolerance", "eq.1"),
                type.aggregation = c("t.tnorm", "min"),
                t.implicator = "lukasiewicz", alpha.precision = 0.05)
res.3 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "alpha.red",
                                    control = control.3)

control.4 <- list(type.relation = c("tolerance", "eq.1"),
                type.aggregation = c("t.tnorm", "lukasiewicz"),
                t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
res.4 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "min.element",
                                    control = control.4)

#######################################################################
## Example 2: Constructing the decision-relative discernibility matrix
#######################################################################
data(RoughSetData)
decision.table <- RoughSetData$hiring.dt

control.1 <- list(type.relation = c("crisp"),
                type.aggregation = c("crisp"),
                t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
                                    control = control.1)

control.2 <- list(epsilon = 0)
res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
                                    control = control.2)

Run the code above in your browser using DataLab