## 4 Method Description
### State-of-the-Art Competitors  
In the next section, the proposed approach will be compared with four other techniques to show its efficiency. Overall, the methods used are given below:  
* LBFGS. The limited-memory BFGS [31; 32] is used here to train a neural network with 10 hidden nodes.
* Adam. The optimization method Adam [33] is provided by the OptimLib( [[https://github.com/kthohr/optim](https://github.com/kthohr/optim)]([https://github.com/kthohr/optim](https://github.com/kthohr/optim)) (accessed on 10 February 2023)). The method is used to train a neural network with 10 hidden nodes.
* Genetic. A genetic algorithm is used here to train a neural network with 10 hidden nodes. The genetic algorithm is used to train the artificial neural network, and in order to have fairness in the comparison with the proposed methodology, the same set of parameters was used as in GenClass. In addition, the used genetic algorithm has a local search method and is therefore significantly advantageous over other artificial neural network training methods.
* Bayes. The naive Bayesian classifier [34] of the Weka software is used here.  
The same parameters in Table 2 were used in both the proposed method and in GA used to train the MLP.  
\begin{table}
\begin{tabular}{c c} \hline
**Parameter** & **Value** \\ \hline If(\(<\)SEXPR\(>\)) class = 0 else class = 1 & 10, 65, 12, 31, 28, 9, 8, 6, 10, 6, 2, 0, 1 \\ \hline If(\(<\)XLIST\(>\)\(<\)BOOLOP\(>\)\(<\)EXPR\(>\)) & 65, 12, 31, 28, 9, 8, 6, 10, 6, 2, 0, 1 & 10\%4 = 0 \\ \hline if(x1\(<\)BOOLOP\(>\)\(<\)EXPR\(>\)) CLASS = 0 & 12, 31, 28, 9, 8, 6, 10, 6, 2, 0, 1 & 65\%2 = 1 \\ \hline if(x1\(>\)\(<\)EXPR\(>\)) CLASS = 0 else CLASS = 1 & 31, 28, 9, 8, 6, 10, 6, 2, 0, 1 & 12\%4 = 0 \\ \hline if(x1\(>\)\(<\)EXPR\(>\)\(<\)BINARYOP\(>\)\(<\)EXPR\(>\)) CLASS = 0 else CLASS = 1 & 28, 9, 8, 6, 10, 6, 2, 0, 1 & 31\%3 = 1 \\ \hline if(x1\(>\)\(<\)FUNCTION(>\(<\)EXPR) \(<\)BINARYOP\(>\)\(<\)EXPR\(>\)) CLASS = 0 else CLASS = 1 & 9, 8, 6, 10, 6, 2, 0, 1 & 28\%3 = 1 \\ \hline if(x1\(>\)\(<\)(EXPR\(>\))\(<\)BINARYOP\(>\)\(<\)EXPR\(>\)) & 8, 6, 10, 6, 2, 0, 1 & 9\%4 = 1 \\ \hline if(x1\(>\)\(<\)(TERMINAL\(>\)\(<\)BINARYOP\(>\)\(<\)EXPR) \(<\) CLASS = 0 else CLASS = 1 & 6, 10, 6, 2, 0, 1 & 8\%3 = 1 \\ \hline if(x1\(>\)\(<\)cos(\(<\)XLIST\(>\))\(<\)BINARYOP\(>\)\(<\)EXPR\(>\)) CLASS = 0 & 10, 6, 2, 0, 1 & 6\%3 = 0 \\ \hline if(x1\(>\)\(<\)cos(\(\alpha\))\(<\)BINARYOP\(>\)\(<\)EXPR\(>\)) CLASS = 0 & 6, 2, 0, 1 & 10\%2 = 0 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)EXPR\(>\)) CLASS = 0 else CLASS = 1 & 2, 0, 1 & 6\%4 = 2 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)TERMINAL\(>\)) CLASS = 0 & 0, 1 & 2\%3 = 2 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)XLIST\(>\)) CLASS = 0 else CLASS = 1 & 1 & 0\%3 = 0 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)XLIST\(>\)) CLASS = 0 else CLASS = 0 & 1 & 1\%2 = 0 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)XLIST\(>\)) CLASS = 0 & 1 & 0\%3 = 0 \\ \hline if(x1\(>\)cos(\(\alpha\))\(<\)XLIST\(>\)) CLASS = 0 & 0 & 1\%2 = 0 \\ \hline \end{tabular}
\end{table}
Table 1: Steps of a valid classification program.  
These parameters are a good compromise between the speed and reliability of the genetic algorithms used. In addition, they were also used in the original publication of the method GenClass. The activation function for the artificial neural network was the sigmoid function, defined as \(\sigma(x)=\frac{1}{1+\exp(-x)}\)