## 5 Numerical Experiment  
The experiments were conducted using 11 datasets containing program texts solving automatically generated tasks of 11 different types (see Table 1). The program texts were submitted by students to the DTA system and accepted by the DTA core task checker. Every dataset was preliminary vectorized using Algorithm 1. Every dataset was split into training and testing parts using the stratified split strategy available in sklearn [39]. The sizes of training and testing datasets are listed in Table 3, as well as class counts. Vectors obtained using Algorithm 1 were passed to SVM, RF, KNN, and ELM classifiers. The hyperparameters of the classifiers were estimated on full datasets using a grid search [39] maximizing the _Macro \(F_{1}\) score_ (10). The best parameters are listed in Table 4. The \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Task Type** & **Training Dataset Size** & **Testing Dataset Size** & **Class Count** \\ \hline
1 & 918 & 394 & 4 \\
2 & 903 & 387 & 4 \\
3 & 847 & 364 & 3 \\
4 & 830 & 356 & 5 \\
5 & 863 & 370 & 5 \\
6 & 862 & 370 & 8 \\
7 & 871 & 374 & 6 \\
8 & 860 & 369 & 5 \\
9 & 861 & 370 & 8 \\
10 & 847 & 364 & 5 \\
11 & 821 & 353 & 14 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Brief information about datasets of programs solving tasks of different types. process of the regularization parameter \(\gamma\) and hidden neuron count \(d\) selection for ELMs is shown in Figure 5 for six of the most complex task types with the most diverse solutions. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{**Task Type**} & \multicolumn{2}{c}{**RF**} & \multicolumn{2}{c}{**SVM**} & \multicolumn{2}{c}{**KNN**} & \multicolumn{2}{c}{**ELM**} \\ \cline{2-9}  & **Depth** & **Trees** & **C** & **Kernel** & **K** & **Weights** & \(\gamma\) & **Neurons** \\ \hline
1 & 10 & 40 & 1 & Linear & 3 & Uniform & \(10^{-6}\) & 25 \\
2 & 20 & 120 & 10 & RBF & 3 & Uniform & \(0.001\) & 125 \\
3 & 10 & 100 & 1 & RBF & 3 & Uniform & \(10^{-6}\) & 150 \\
4 & 10 & 100 & 1 & Linear & 3 & Uniform & \(10^{-6}\) & 75 \\
5 & 20 & 100 & 1 & Linear & 3 & Uniform & \(10^{-6}\) & 25 \\
6 & 10 & 80 & 25 & Sigmoid & 3 & Distance & 1 & 250 \\
7 & 20 & 60 & 1 & Linear & 8 & Uniform & \(0.001\) & 50 \\
8 & 20 & 120 & 20 & RBF & 4 & Distance & \(0.001\) & 100 \\
9 & 20 & 60 & 5 & Linear & 3 & Uniform & \(0.001\) & 225 \\
10 & 20 & 120 & 5 & Linear & 4 & Distance & \(0.001\) & 200 \\
11 & 20 & 120 & 5 & Linear & 3 & Distance & \(10^{-6}\) & 225 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Parameters selected for SVM, RF, KNN, and ELM using grid search maximizing (10). Figure 5: ELM (see Algorithms 3 and 4) hyperparameter selection for classification of program texts solving automatically generated tasks of various types (see Table 1): (**a**) task of type 6; (**b**) task of type 7; (**c**) task of type 8; (**d**) task of type 9; (**e**) task of type 10; (**f**) task of type 11. According to Figure 5, ELM performance depends on the combination of \(\gamma\) and \(d\), so these parameters should be tuned depending on the considered problem. The comparison of the considered SVM, RF, KNN, and ELM algorithms is provided in Table 5.  
According to Table 5, ELM is the fastest classification algorithm among the considered ones. RF appeared to be the slowest algorithm due to its ensemble-based nature; however,  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{**Task Type**} & \multirow{2}{*}{**Alg.