# Computing one reduct from a discernibility matrix

### Description

It is a function for computing one reduct from a discernibility matrix - it can use the greedy heuristic or a randomized (Monte Carlo) search.

### Usage

1 | ```
FS.one.reduct.computation(discernibilityMatrix, greedy = TRUE, power = 1)
``` |

### Arguments

`discernibilityMatrix` |
a |

`greedy` |
a boolean value indicating whether the greedy heuristic or a randomized search should be used in computations. |

`power` |
a numeric representing a parameter of the randomized search heuristic. |

### Value

A class `"ReductSet"`

.

### Author(s)

Andrzej Janusz

### References

Jan G. Bazan, Hung Son Nguyen, Sinh Hoa Nguyen, Piotr Synak, and Jakub Wroblewski, "Rough Set Algorithms in Classification Problem", Chapter 2 In: L. Polkowski, S. Tsumoto and T.Y. Lin (eds.): Rough Set Methods and Applications Physica-Verlag, Heidelberg, New York, p. 49 - 88 ( 2000).

### See Also

`BC.discernibility.mat.RST`

and `BC.discernibility.mat.FRST`

.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ```
########################################################
## Example 1: Generate one reducts and
## a new decision table using RST
########################################################
data(RoughSetData)
decision.table <- RoughSetData$hiring.dt
## build the decision-relation discernibility matrix
res.1 <- BC.discernibility.mat.RST(decision.table, range.object = NULL)
## generate all reducts
reduct <- FS.one.reduct.computation(res.1)
## generate new decision table
new.decTable <- SF.applyDecTable(decision.table, reduct, control = list(indx.reduct = 1))
##############################################################
## Example 2: Generate one reducts and
## a new decision table using FRST
##############################################################
data(RoughSetData)
decision.table <- RoughSetData$hiring.dt
## build the decision-relation discernibility matrix
control <- list(type.relation = c("crisp"),
type.aggregation = c("crisp"),
t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
control = control)
## generate single reduct
reduct <- FS.one.reduct.computation(res.2)
## generate new decision table
new.decTable <- SF.applyDecTable(decision.table, reduct, control = list(indx.reduct = 1))
``` |