## 2 Determination of the Support Set of Features Using Test Theory Algorithms
Let us arrange all possible values of each attribute \(j=1,\ldots,d\) for the observations of this sample in ascending order \(b_{1}^{(j)}<b_{2}^{(j)}<b_{3}^{(j)}<\cdots.\)  
Potential cut-points can be taken as midpoints between the two closest feature values \(\beta_{i}^{j}=\left(b_{i}^{(j)}+b_{i+1}^{(j)}\right)/2\). Obviously, it makes sense to take as potential cut-points only those (from the above) for which the nearest feature values on different sides of the cut-point correspond to observations of different classes, i.e., there are \(z\in K^{+}\) and \(w\in K^{-}\) (or vice versa) such that \(z_{j}=b_{i}^{(j)}\) and \(w_{j}=b_{i+1}^{(j)}\). Thus, for each real feature describing the recognition object, we have a set of potential cut-points \(\beta_{1}^{j},\beta_{2}^{j},\ldots,\beta_{k_{j}}^{j}\). Binary variables indicate whether the value of the feature of the object has exceeded the corresponding cut-point (1). \[x_{ij}= \begin{cases}1,&b_{j}\geq\beta_{i^{\prime}}^{j},\\ 0,&b_{j}<\beta_{i^{\prime}}^{j}.\end{cases}  \tag{1}\]  
From the obtained binary features, a support set of features is formed through the search for a dead-end test. Consider observations of different classes \(z\in K^{+}\) and \(w\in K^{-}\), for which we define the quantities \(a_{ij}^{zw}=|x_{ij}^{z}-x_{ij}^{w}|\). If \(a_{ij}^{zw}=1\), then the observations \(z\) and \(w\) are different in the binary variable \(x_{ij}\). That is, the values of the numerical feature \(b_{j}\) for these observations lie on opposite sides of the cut-point \(\beta_{i}^{j}\). Let us introduce a binary variable \(y_{ij}\), indicating whether the variable \(x_{ij}\) will be included in the support set:  
\[y_{ij}= \begin{cases}1,\ \ if\ the\ variable\ x_{ij}\ is\ included\ in\ the\ support\ set,\\ 0,\ \ \ otherwise.\end{cases}  \tag{2}\]  
The feature selection method used in the formation of the support set consists in solving the optimization problem [28]. The optimization model (3) is aimed at reducing the number of features sufficient to separate observations of different classes. \[ \begin{array}{c}\sum\limits_{j=1}^{d}\sum\limits_{i=1}^{k_{i}}y_{ij}\to \underset{Y}{min},\\ \sum\limits_{j=1}^{d}\sum\limits_{i=1}^{k_{i}}a_{ij}^{zw}y_{ij}\geq 1,z\in K ^{+},w\in K^{-},\end{array}  \tag{3}\]  
where \(y_{ij}\in\{0,1\}\) is the control variable that determines the use of the corresponding binary feature, \(a_{ij}^{zw}=\left|x_{ij}^{z}-x_{ij}^{w}\right|\) for \(z\in K^{+}\) and \(w\in K^{-}\). The above problem is the set covering problem. The set of elements (universe) \(U\) in this problem is all possible pairs of examples \(z\in K^{+}\) and \(w\in K^{-}\). Consider a table whose rows are the elements \(zw\). The columns are (binary) features and the cells of the table contain the values \(a_{ij}^{zw}\). The collection of sets S is defined using the columns of the table; for each column, the elements with value 1 form a subset. Thus, the problem of forming the support set of features is solved using a greedy algorithm (Algorithm 1) for finding coverage of \(C\subseteq S\) by successively selecting columns with the largest number of ones. ```
Input: \(U\)--all possible pairs of examples of different classes, \(S\)--a family of subsets determined by the features and values of the table \(a_{ij}^{zip}\). Output: a subset of features that define \(C\subseteq S\) coverage. 1. Initialization: Set the initial set of elements \(X\gets U\). Cover \(C\leftarrow\emptyset\). 2. For each feature that defines a subset \(A\in S\), determine the cardinality of the subset \(|X\cap A|\) as the number of pairs of examples it shares. 3. Choose \(A\in S\) with the largest \(|X\cap A|\)
4. Remove covered elements from the table \(X\gets X\backslash A\)
5. \(C\gets C\cap\{A\}\) (add the corresponding feature to the support set)
6. If \(X=\emptyset\), then go to step 6 (there are no undivided pairs of examples left).