## 2 Materials and Methods
### Dominance-Based Rough Set Approach
#### 2.1.2 Inference of Decision Rules

Table 1: Example decision matrix used to illustrate the structuring step of DRSA. ```
1:\(\underline{P}\)--a lower approximation from which the rules are to be induced
2:\(A^{R}\)--a reference set
3:\(R\leftarrow\emptyset\)
4:while\(\left|leftToCover|>0\)do
5:\(Rule\leftarrow\emptyset\)
6:repeat
7:\(best\gets None\)
8:for\(g_{j}\in G\)do
9:for\(x\in\{g_{j}(a)\;\;\text{for}\;\;a\in leftToCover\;\setminus\;alternatives(Rule)\}\)do
10:\(\triangleright\) Greedy search for the best condition
11:for\(d\in\{\leq,\;\geq\}\)do
12:\(condition\leftarrow\{g_{j}\;d\;x\}\)
13:\(\triangleright\) Credibility and generality are compared lexicographically
14:if\(eval(condition\cup Rule)>eval(best\cup Rule)\)then
15:\(best\gets condition\)
16:endif
17:endfor
18:endfor
19:\(Rule\gets Rule\cup best\)
20:until\(alternatives(Rule)\subseteq\underline{P}\)
21:for\(condition\in Rule\)do
22:if\(alternatives(Rule\setminus condition)\subseteq\underline{P}\)then
23:\(Rule\gets Rule\setminus condition\)
24:\(\triangleright\) If a condition is redundant, it is removed
25:endif
26:endfor
27:\(R\gets R\cup\{Rule\}\)
28:\(leftToCover\gets leftToCover\;\setminus\;alternatives(Rule)\)
29:endwhile
30:for\(Rule\in R\)do
31:if\(\underline{P}=alternatives(R\setminus Rule)\)then
32:\(R\gets R\setminus Rule\)
33:\(\triangleright\) If a rule is redundant, it is removed
34:endif
35:endfor
```  
**Algorithm 1** Induction of a set of certain rules using the DOMLEM algorithm  
```
1:\(\underline{P}\)--a lower approximation from which the rules are to be induced
2:\(A^{R}\)--a reference set
3:\(R\leftarrow\emptyset\)
4:while\(\left|leftToCover|>0\)do
5:\(Rule\leftarrow\emptyset\)
6:repeat
7:\(best\gets None\)
8:for\(g_{j}\in G\)do
9:for\(x\in\{g_{j}(a)\;\;\text{for}\;\;a\in leftToCover\;\setminus\;alternatives(Rule)\}\)do
10:\(\triangleright\) Greedy search for the best condition
11:for\(d\in\{\leq,\;\geq\}\)do
12:\(condition\leftarrow\{g_{j}\;d\;x\}\)
13:\(\triangleright\) Credibility and generality are compared lexicographically
14:if\(eval(condition\cup Rule)>eval(best\cup Rule)\)then
15:\(best\gets condition\)
16:endif
17:endfor
18:endfor
19:\(Rule\gets Rule\cup best\)
20:until\(alternatives(Rule)\subseteq\underline{P}\)
21:for\(condition\in Rule\)do
22:if\(alternatives(Rule\setminus condition)\subseteq\underline{P}\)then
23:\(Rule\gets Rule\setminus condition\)
24:\(\triangleright\) If a condition is redundant, it is removed
25:endif
26:endfor
27:\(R\gets R\cup\{Rule\}\)
28:\(leftToCover\gets leftToCover\;\setminus\;alternatives(Rule)\)
29:endwhile
30:for\(Rule\in R\)do
31:if\(\underline{P}=alternatives(R\setminus Rule)\)then
32:\(R\gets R\setminus Rule\)
33:\(\triangleright\) If a rule is redundant, it is removed
34:endif
35:endfor
```  
**Algorithm 2** Induction of a set of variables using the DOMLEM algorithm  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Alt. ** & \(g_{1}\) & \(g_{2}\) & \(D\) \\ \hline \(a_{1}\) & 1 & 0 & \(Cl_{0}\) \\ \(a_{2}\) & 2 & 0 & \(Cl_{0}\) \\ \(a_{3}\) & 0 & 0 & \(Cl_{0}\) \\ \(a_{4}\) & 0 & 2 & \(Cl_{0}\) \\ \(a_{5}\) & 2 & 2 & \(Cl_{1}\) \\ \(The same procedure is repeated for class \(Cl_{0}\). Taking into account the unique performances on \(g_{1}\) and \(g_{2}\) of four alternatives contained in \(\underline{P}(Cl_{0})\), ten conditions are considered in the first iteration. Among them, \(g_{2}\leq 0\) is the best since it has the highest possible credibility of one and covers three alternatives. In comparison, \(g_{1}\leq 0\) also has the credibility of one but covers only two alternatives. Rule \"if \(g_{2}\leq 0\), then \(Cl_{0}\)\" covers three desired alternatives (\(a_{1}-a_{3}\)), being minimal. To infer another rule covering \(a_{4}\), we consider four possible conditions and favor \(g_{1}\leq 0\) with the credibility of one. Rule \"if \(g_{1}\leq 0\), then \(Cl_{0}\)\" covers two desired alternatives (\(a_{3}\) and \(a_{4}\)), being minimal. Moreover, the two rules are needed to cover all alternatives in \(\underline{P}(Cl_{0})\), so they are both included in the returned set. Note that the rules can overlap.