# Classification of Wall Following Robot Movements Using Genetic Programming Symbolic Classifier

^{*}

## Abstract

**:**

## 1. Introduction

- Is it possible to utilize the GPSC algorithm for the detection of the robot movement using data from ultrasound sensors with high classification accuracy?
- Does the dataset balancing methods have any influence on the classification accuracy of the obtained symbolic expressions using the GPSC algorithm?
- Is it possible to achieve the detection of the robot movement class with high classification accuracy using symbolic expressions that were obtained with the GPSC algorithm improved with the random hyperparameter search method and 5-fold cross-validation?
- Is it possible to achieve a similar classification accuracy of the best symbolic expression that was obtained using a balanced dataset on the original dataset?

- Investigate the possibility of implementing the GPSC algorithm on data collected from 24 ultrasound sensor data to detect the movement of the wall following robot;
- Investigate if the dataset balancing methods have any influence on the classification accuracy of the obtained symbolic expression using the GPSC algorithm;
- Investigate if the GPSC algorithm in combination with random hyperparameter search and 5-fold cross-validation can generate symbolic expressions with a high classification accuracy of robot movement detection, and;
- Investigate if the set of best symbolic expressions obtained on a balanced dataset variation can produce similar classification accuracy in robot movement detection when applied to the original dataset.

## 2. Materials and Methods

#### 2.1. Research Methodology

- Adaptive Synthetic (ADASYN);
- Synthetic Minority Oversampling (SMOTE);
- Borderline Synthetic Minority Oversampling (Borderline SMOTE) method.

#### 2.2. Dataset Description

- “Move-Forward”;
- “Slight-Right-Turn”;
- “Sharp-Right-Turn”;
- “Slight-Left-Turn”.

#### 2.3. Dataset Balancing Methods

#### 2.3.1. ADASYN

- Random selection of minority data sample ${x}_{z}$ from the KNN for data ${x}_{i}$
- Generate the synthetic data sample using the following expression:$${S}_{i}={x}_{i}+({x}_{zi}-{x}_{i})\xb7\lambda ,$$

#### 2.3.2. Smote

- Calculate the difference between the sample and its nearest neighbor;
- Multiply the difference by a random number between 0 and 1 and add to the sample under consideration.

#### 2.3.3. Borderline SMOTE

- K’ = K all the K nearest neighbors are majority samples;
- $\frac{K}{2}\le {K}^{\prime}<K$ the number of ${x}_{i}$ majority neighbors is larger than the number of its minority ones. ${x}_{i}$ is considered to be easily misclassified and put into a DANGER set;
- $0\le {K}^{\prime}<\frac{K}{2}$ the ${x}_{i}$ is excluded from further steps.

#### 2.4. One Versus Rest Classifier

- First Binary Classification Dataset: “Move Forward” vs. (“Slight-Right-Turn”, “Sharp-Right-Turn”, and “Slight-Left-Turn”);
- Second Binary Classification Dataset: “Slight-Right-Turn” vs. (“Move Forward”, “Sharp-Right-Turn”, and “Slight-Left-Turn”);
- Third Binary Classification Dataset: “Sharp-Right-Turn” vs. (“Move Forward”, “Slight-Right-Turn”, and “Slight-Left-Turn”);
- Fourth Binary Classification Dataset: “Slight-Left-Turn vs. (“Move Forward”, “Slight-Right-Turn”, and “Sharp-Right-Turn”).

#### 2.5. Genetic Programming-Symbolic Classifier

**population_size**,

**number_of_generations**,

**init_depth**,

**functions**,

**init_method**, and

**constant_range**. The

**population_size**as the hyperparameter name states the size of the population that will be propagated through a specific number of generations defined with

**number_of_generations**parameter. Each population member of the initial population is created by randomly selecting the constants from a predefined range of hyperparameter

**constant_range**, mathematical functions from

**functions**, and input variables from the dataset. The

**constantn_range**is the range of constants values that GPSC randomly selects when creating the initial population and later in genetic operations (mutation). The list of mathematical functions used in this research consisted of addition, subtraction, multiplication, division, minimum, maximum, absolute value, square root, natural logarithm, logarithm with base 2 and 10, sine, cosine, tangent, and cube root. This mathematical function list is defined with hyperparameter

**functions**. Since in GPSC, each population member is represented in tree form, the size of the tree is determined by the depth from the root node up to the deepest leaf of the tree. The depth of the tree is specified with hyperparameter

**init_depth**. To explain the depth in detail, the mathematical equation $max({X}_{1}+{X}_{3},{X}_{4}-{X}_{2})$ in tree form is shown in Figure 5.

**init_depth**of 2. To explain the procedure of defining the

**init_depth**the method used to create the initial population must be explained first.

**init_meth**used to create the initial population is a ramped half-and-half method. This method creates the initial population using the full and growth method. The full method, according to Ref. [20], creates the initial population by taking the nodes at random from the function set until maximum tree depth is reached. Beyond the maximum depth, only variables and constants may be chosen. The problem with using only the full method to create the initial population is that all generated population members have trees with the same depth. The grow method, according to Ref. [20], creates the initial population by selecting functions, constants, and variables at random until the predefined depth limit is reached. Once this depth limit is reached, only variables and constants can be chosen. So, the growth method allows the creation of population members that have more varied sizes and shapes. The term ramped means that the depth of the symbolic expression had to be specified in a specific range, i.e., 3 to 12, which means that the population will have population members of depth between 3 and 12. The range is specified with

**init_depth**hyperparameter.

**tournament_size**hyperparameter. So, in each generation, the specific number defined with

**tournament_size**hyperparameter is randomly selected from the population and they are compared. The population member with the lowest value of fitness function (log loss value) and smallest size in terms of length and depth of symbolic expression (population member) is then selected as the winner of the tournament selection.

**number_of_generations**and

**stopping_criteria**value. The number of generations is the predefined number of generations for which GPSC is executed. After the last generation is reached, then the GPSC execution is terminated. The stopping criteria are the lowest value of the fitness function, in this the case log loss function, and if this value is reached by one of the population members before the maximum number of generations is reached, it will terminate the GPSC execution. However, in this investigation, the idea was to reach the lowest fitness function value possible so the stopping criteria were set in all investigations to an extremely small value, which means all GPSC executions were terminated after the maximum number of generations was reached.

**pasimony_coefficient**hyperparameter. This hyperparameter is one of the most sensitive hyperparameters, so initial tests are required to define its range. If the value is too large the method can prevent the evolution of population members and if the value is too small it can result in very large population members, i.e., very large symbolic expressions will be obtained with poor classification performance.

#### 2.6. Random Hyperparameter Search with 5-Fold Cross-Validation

**population_size**,

**number_of_generations**, genetic operators, and

**parsimony_coefficient**. The larger the population and the number of generations, the more time it will take to perform each GPSC execution. The genetic operations (crossover, subtree, hoist, and point mutation) differently contribute to the evolution process from generation to generation. The initial investigation found that the crossover value greatly influences the evolution process and lowers the fitness value from generation to generation. The most attention during the initial investigation was devoted to the parsimony coefficient since a large value can prevent evolution while a small value can lead to a bloat phenomenon. The GPSC hyperparameter ranges are listed in Table 3.

#### 2.7. Evaluation Metrics and Methodology

**macro**option of $AUC$, $Precision$, $REcall$, and $F1-Score$ was calculated. In the case of

**macro**, the evaluation metric value is calculated for each class, and the unweighted mean is obtained. This method does not take class imbalance into account and, since all datasets are balanced, this is the perfect method.

#### 2.8. Computational Resources

## 3. Results

#### 3.1. The Classification Performance of Symbolic Expressions Obtained for Each Dataset Variation

#### 3.2. The Best Set of Symbolic Expressions and Final Evaluation

- Calculate the output of each symbolic expression using original dataset values;
- Use this output in the Sigmoid function to generate the output;
- Transform the obtained output into integer form for each symbolic expression, and;
- Compare the obtained results with the original output and calculate the evaluation metric values.

## 4. Discussion

## 5. Conclusions

- The GPSC algorithm successfully generated the symbolic expressions, which can be used for the detection/classification of the robot movement with high classification accuracy;
- The dataset balancing method (ADASY, SMOTE, and BorderlineSMOTE) balanced the original dataset and provided a good starting point for the training of the GPSC algorithm, which resulted in symbolic expressions with high classification accuracy. So the investigation showed that dataset balancing methods have a great influence on the classification accuracy of the obtained symbolic expressions;
- The GPSC algorithm with the random hyperparameter search method and 5-fold cross-validation proved to be a powerful tool in obtaining robust and highly accurate symbolic expressions;
- The investigation showed that the best set of symbolic expressions obtained on a dataset balanced with the oversampling method can be applied to the original dataset and achieve high classification accuracy. This shows the validity of the proposed method;
- The procedure showed that a dataset with a low correlation between variables can be used to obtain symbolic expressions with GPSC and that these symbolic expressions do not require all the input variables to classify the movement of the robot.

- Using the proposed method, symbolic expressions are obtained, which are easier to use and understand in comparison to ML models, and require less computational resources for storage and processing than other ML-trained models;
- The oversampling methods can balance the dataset and, by using these datasets, the classification accuracy can be improved;
- Random hyperparameter search and 5-fold cross-validation are useful tools for obtaining robust solutions with high classification accuracy,

- The initial hyperparameter range definition is a painstaking process as the range of each hyperparameter has to be tested. Special attention must be paid to the parsimony coefficient value since this parameter is the most sensitive. Small values can result in a bloat phenomenon, while large values can result in obtaining symbolic expressions with low classification accuracy;
- Regardless of the computational resources used, the execution of GPSC can be a time-consuming process especially if the correlation between input variables is low. If the correlation values between variables are low, GPSC will try to minimize the fitness function value by enlarging the population member’s size, which can in some cases result in the bloat phenomenon.

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## Appendix A

## Appendix B

Algorithm A1 An algorithm with caption | |

$\mathcal{S}\leftarrow \overrightarrow{0}$ | ▹ Define the vector for sensor readings of length 24 |

$\mathcal{Y}\leftarrow \overrightarrow{0}$ | ▹ Define the vector for results of length 4 |

${y}_{1}\left[\mathcal{S}\right]$, ${y}_{2}\left[\mathcal{S}\right]$, ${y}_{3}\left[\mathcal{S}\right]$, ${y}_{4}\left[\mathcal{S}\right]$ | ▹ Define the equations, per Appendix A |

$\mathbf{RC}\leftarrow \u201c0\u201d$ | ▹ Robot control unit |

F, $SlRT$, $ShRT$, $SLT$ | ▹ Define possible robot movements |

while True do | |

$\mathcal{S}$←${\mathcal{S}}_{t}$ | ▹ Get current vector readings |

$\mathcal{Y}\left[0\right]$←${y}_{1}\left[\mathcal{S}\right]$ | ▹ Calculate and store the predicted class for “Move Forward” |

$\mathcal{Y}\left[1\right]$←${y}_{2}\left[\mathcal{S}\right]$ | ▹ Calculate and store the predicted class for “Slight Right Turn” |

$\mathcal{Y}\left[2\right]$←${y}_{3}\left[\mathcal{S}\right]$ | ▹ Calculate and store the predicted class for “Sharp Right Turn” |

$\mathcal{Y}\left[3\right]$←${y}_{4}\left[\mathcal{S}\right]$ | ▹ Calculate and store the predicted class for “Slight Left Turn” |

if $\mathcal{Y}\left[0\right]\overrightarrow{=}$ 1 then | |

$\mathbf{RC}\leftarrow $F | ▹ Instruct robot to move forward |

else if $\mathcal{Y}\left[1\right]\overrightarrow{=}$ 1 then | |

$\mathbf{RC}\leftarrow $$SlRT$ | ▹ Instruct robot to do a slight right turn |

else if $\mathcal{Y}\left[2\right]\overrightarrow{=}$ 1 then | |

$\mathbf{RC}\leftarrow $$ShRT$ | ▹ Instruct robot to do a sharp right turn |

else if $\mathcal{Y}\left[3\right]\overrightarrow{=}$ 1 then | |

$\mathbf{RC}\leftarrow $$SLT$ | ▹ Instruct robot to do a slight left turn |

end if | |

end while |

## References

- Sánchez-Ibáñez, J.R.; Pérez-del Pulgar, C.J.; García-Cerezo, A. Path Planning for Autonomous Mobile Robots: A Review. Sensors
**2021**, 21, 7898. [Google Scholar] [CrossRef] [PubMed] - Mamchenko, M.; Ananyev, P.; Kontsevoy, A.; Plotnikova, A.; Gromov, Y. The concept of robotics complex for transporting special equipment to emergency zones and evacuating wounded people. In Proceedings of the 15th International Conference on Electromechanics and Robotics“ Zavalishin’s Readings”, Online, 2 September 2020; pp. 211–223. [Google Scholar]
- Bravo-Arrabal, J.; Zambrana, P.; Fernandez-Lozano, J.; Gomez-Ruiz, J.A.; Barba, J.S.; García-Cerezo, A. Realistic deployment of hybrid wireless sensor networks based on ZigBee and LoRa for search and Rescue applications. IEEE Access
**2022**, 10, 64618–64637. [Google Scholar] [CrossRef] - Al-Obaidi, A.S.M.; Al-Qassar, A.; Nasser, A.R.; Alkhayyat, A.; Humaidi, A.J.; Ibraheem, I.K. Embedded design and implementation of mobile robot for surveillance applications. Indones. J. Sci. Technol.
**2021**, 6, 427–440. [Google Scholar] [CrossRef] - Skoczeń, M.; Ochman, M.; Spyra, K.; Nikodem, M.; Krata, D.; Panek, M.; Pawłowski, A. Obstacle detection system for agricultural mobile robot application using RGB-D cameras. Sensors
**2021**, 21, 5292. [Google Scholar] [CrossRef] [PubMed] - Pandey, P.; Parasuraman, R. Empirical Analysis of Bi-directional Wi-Fi Network Performance on Mobile Robots in Indoor Environments. In Proceedings of the 2022 IEEE 95th Vehicular Technology Conference: (VTC2022-Spring), Helsinki, Finland, 19–22 June 2022; pp. 1–7. [Google Scholar]
- Choi, H.; Kim, H.; Zhu, Q. Toward practical weakly hard real-time systems: A job-class-level scheduling approach. IEEE Internet Things J.
**2021**, 8, 6692–6708. [Google Scholar] [CrossRef] - Janiesch, C.; Zschech, P.; Heinrich, K. Machine learning and deep learning. Electron. Mark.
**2021**, 31, 685–695. [Google Scholar] [CrossRef] - Hart, G.L.; Mueller, T.; Toher, C.; Curtarolo, S. Machine learning for alloys. Nat. Rev. Mater.
**2021**, 6, 730–755. [Google Scholar] [CrossRef] - Li, J.; Wang, J.; Wang, S.; Yang, C. Human–robot skill transmission for mobile robot via learning by demonstration. Neural Comput. Appl.
**2021**, 1–11. [Google Scholar] [CrossRef] [PubMed] - Sevastopoulos, C.; Konstantopoulos, S. A survey of traversability estimation for mobile robots. IEEE Access
**2022**, 10, 96331–96347. [Google Scholar] [CrossRef] - Eder, M.; Reip, M.; Steinbauer, G. Creating a robot localization monitor using particle filter and machine learning approaches. Appl. Intell.
**2022**, 52, 6955–6969. [Google Scholar] [CrossRef] - Samadi Gharajeh, M.; Jond, H.B. Speed control for leader-follower robot formation using fuzzy system and supervised machine learning. Sensors
**2021**, 21, 3433. [Google Scholar] [CrossRef] [PubMed] - Freire, A.L.; Barreto, G.A.; Veloso, M.; Varela, A.T. Short-term memory mechanisms in neural network learning of robot navigation tasks: A case study. In Proceedings of the 2009 6th Latin American Robotics Symposium (LARS 2009), Valparaiso, Chile, 29–30 October 2009; pp. 1–6. [Google Scholar]
- Learning, U.M. Sensor Readings from a Wall-Following Robot. 2017. Available online: https://www.kaggle.com/datasets/uciml/wall-following-robot (accessed on 23 December 2022).
- He, H.; Bai, Y.; Garcia, E.A.; Li, S. ADASYN: Adaptive synthetic sampling approach for imbalanced learning. In Proceedings of the 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence), Hong Kong, China, 1–8 June 2008; pp. 1322–1328. [Google Scholar]
- Chawla, N.V.; Bowyer, K.W.; Hall, L.O.; Kegelmeyer, W.P. SMOTE: Synthetic minority over-sampling technique. J. Artif. Intell. Res.
**2002**, 16, 321–357. [Google Scholar] [CrossRef] - Han, H.; Wang, W.Y.; Mao, B.H. Borderline-SMOTE: A new over-sampling method in imbalanced data sets learning. In International Conference on Intelligent Computing; Springer: Berlin/Heidelberg, Germany, 2005; pp. 878–887. [Google Scholar]
- Duan, K.B.; Rajapakse, J.C.; Nguyen, M.N. One-Versus-One and One-Versus-All Multiclass SVM-RFE for Gene Selection in Cancer Classification. In Evolutionary Computation, Machine Learning and Data Mining in Bioinformatics; Marchiori, E., Moore, J.H., Rajapakse, J.C., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 47–56. [Google Scholar]
- Poli, R.; Langdon, W.; Mcphee, N. A Field Guide to Genetic Programming. 2008. Available online: https://www.researchgate.net/publication/216301261_A_Field_Guide_to_Genetic_Programming (accessed on 23 December 2022).
- Sturm, B.L. Classification accuracy is not enough. J. Intell. Inf. Syst.
**2013**, 41, 371–406. [Google Scholar] [CrossRef] [Green Version] - Huang, J.; Ling, C.X. Using AUC and accuracy in evaluating learning algorithms. IEEE Trans. Knowl. Data Eng.
**2005**, 17, 299–310. [Google Scholar] [CrossRef] [Green Version] - Davis, J.; Goadrich, M. The relationship between Precision-Recall and ROC curves. In Proceedings of the 23rd International Conference on Machine Learning, Pittsburgh, PA, USA, 25–29 June 2006; pp. 233–240. [Google Scholar]
- Bucolo, M.; Buscarino, A.; Fortuna, L.; Gagliano, S. Force feedback assistance in remote ultrasound scan procedures. Energies
**2020**, 13, 3376. [Google Scholar] [CrossRef] - Barba, P.; Stramiello, J.; Funk, E.K.; Richter, F.; Yip, M.C.; Orosco, R.K. Remote telesurgery in humans: A systematic review. Surg. Endosc.
**2022**, 1–7. [Google Scholar] [CrossRef] [PubMed] - Lematta, G.J.; Corral, C.C.; Buchanan, V.; Johnson, C.J.; Mudigonda, A.; Scholcover, F.; Wong, M.E.; Ezenyilimba, A.; Baeriswyl, M.; Kim, J.; et al. Remote research methods for Human–AI–Robot teaming. Hum. Factors Ergon. Manuf. Serv. Ind.
**2022**, 32, 133–150. [Google Scholar] [CrossRef] - Chen, Y.; Wang, Q.; Chi, C.; Wang, C.; Gao, Q.; Zhang, H.; Li, Z.; Mu, Z.; Xu, R.; Sun, Z.; et al. A collaborative robot for COVID-19 oropharyngeal swabbing. Robot. Auton. Syst.
**2022**, 148, 103917. [Google Scholar] [CrossRef] [PubMed]

**Figure 7.**The mean and standard deviation (error bars) values of $ACC$, $AUC$, $precision$, $recall$, and $F1-score$ achieved for different dataset variations.

**Figure 8.**The flowchart of the model application on a theoretical mobile robot that uses the developed system.

180° | −165° | −150° | −135° | −120° | −105° | |
---|---|---|---|---|---|---|

UNIQUE | 1978 | 2035 | 1786 | 1760 | 1825 | 1828 |

MIN | 0.400 | 0.437 | 0.470 | 0.833 | 1.120 | 1.114 |

MAX | 1977.000 | 2034.000 | 1786.000 | 1767.000 | 1822.000 | 1828.000 |

AVG | 1.837 | 2.701 | 2.814 | 3.118 | 3.288 | 3.228 |

STD | 26.774 | 27.559 | 24.193 | 23.936 | 24.679 | 24.758 |

−90° | −75° | −60° | −45° | −30° | −15° | |

UNIQUE | 1532 | 2068 | 1871 | 2005 | 1877 | 1800 |

MIN | 1.122 | 0.859 | 0.836 | 0.810 | 0.783 | 0.778 |

MAX | 1530.000 | 2068.000 | 1870.000 | 2003.000 | 1873.000 | 1797.000 |

AVG | 3.628 | 2.920 | 3.471 | 3.201 | 2.896 | 2.410 |

STD | 20.730 | 28.003 | 25.327 | 27.128 | 25.377 | 24.348 |

0° | 15° | 30° | 45° | 60° | 75° | |

UNIQUE | 1574 | 1490 | 1468 | 1299 | 1087 | 975 |

MIN | 0.770 | 0.756 | 0.495 | 0.424 | 0.373 | 0.354 |

MAX | 1570.000 | 1487.000 | 1465.000 | 1295.000 | 1083.000 | 971.000 |

AVG | 2.417 | 2.467 | 2.479 | 1.444 | 1.193 | 1.093 |

STD | 21.287 | 20.177 | 19.891 | 17.563 | 14.690 | 13.174 |

90° | 105° | 120° | 135° | 150° | 165° | |

UNIQUE | 1046 | 1140 | 1359 | 1739 | 1759 | 1858 |

MIN | 0.340 | 0.355 | 0.380 | 0.370 | 0.367 | 0.377 |

MAX | 1042.000 | 1136.000 | 1355.000 | 1736.000 | 1758.000 | 1856.000 |

AVG | 1.254 | 1.290 | 1.270 | 2.103 | 1.884 | 1.926 |

STD | 14.150 | 15.419 | 18.366 | 23.547 | 23.831 | 25.150 |

**Table 2.**The list of dataset variables, description of the variables, and the variable names used in the GPSC algorithm.

Variable Name | Variable Description | GPSC Variable Representation |
---|---|---|

V1 | ultrasound sensor at the front of the robot (180 °) | ${X}_{0}$ |

V2 | ultrasound reading (−165°) | ${X}_{1}$ |

V3 | ultrasound reading (−150°) | ${X}_{2}$ |

V4 | ultrasound reading (−135°) | ${X}_{3}$ |

V5 | ultrasound reading (−120°) | ${X}_{4}$ |

V6 | ultrasound reading (−105°) | ${X}_{5}$ |

V7 | ultrasound reading (−90°) | ${X}_{6}$ |

V8 | ultrasound reading (−75°) | ${X}_{7}$ |

V9 | ultrasound reading (−60°) | ${X}_{8}$ |

V10 | ultrasound reading (−45°) | ${X}_{9}$ |

V11 | ultrasound reading (−30°) | ${X}_{10}$ |

V12 | ultrasound reading (−15°) | ${X}_{11}$ |

V13 | reading of ultrasound sensor situated at the back of the robot (0°) | ${X}_{12}$ |

V14 | ultrasound reading (15°) | ${X}_{13}$ |

V15 | ultrasound reading (30°) | ${X}_{14}$ |

V16 | ultrasound reading (45°) | ${X}_{15}$ |

V17 | ultrasound reading (60°) | ${X}_{16}$ |

V18 | ultrasound reading (75°) | ${X}_{17}$ |

V19 | ultrasound reading (90°) | ${X}_{18}$ |

V20 | ultrasound reading (105°) | ${X}_{19}$ |

V21 | ultrasound reading (120°) | ${X}_{20}$ |

V22 | ultrasound reading (135°) | ${X}_{21}$ |

V23 | ultrasound reading (150°) | ${X}_{22}$ |

V24 | ultrasound reading (165°) | ${X}_{23}$ |

Class | Move-Forward, Slight-Right-Turn, Sharp-Right-Turn, Slight-Left-Turn | y |

Variable Name | Lower Bound | Upper Bound |
---|---|---|

population size | 1000 | 2000 |

number of generations | 200 | 300 |

init depth | 3 | 12 |

tournament size | 100 | 500 |

crossover | 0.95 | 1 |

subtree mutation | 0.001 | 1 |

hoist mutation | 0.001 | 1 |

point mutation | 0.001 | 1 |

stopping criteria | $1\times {10}^{-8}$ | $1\times {10}^{-7}$ |

maximum samples | 0.99 | 1 |

constant range | −100,000 | 100,000 |

parsimony coefficient | $1\times {10}^{-5}$ | $1\times {10}^{-4}$ |

**Table 4.**The mean and standard deviation values of $ACC$, $AUC$, $Precision$, $Recall$, and $F1-Score$ obtained with the best symbolic expressions in each dataset variation.

Dataset Type | $\overline{\mathbf{ACC}}$ $\pm \mathbf{SD}\left(\mathbf{ACC}\right)$ | ${\overline{\mathbf{AUC}}}_{\mathbf{macro}}$ $\pm \mathbf{SD}{\left(\mathbf{AUC}\right)}_{\mathbf{macro}}$ | ${\overline{\mathbf{Precision}}}_{\mathbf{macro}}$ $\pm \mathbf{SD}\left(\mathbf{Precision}\right)$ | $\overline{\mathbf{Recall}}$ $\pm \mathbf{SD}\left(\mathbf{Recall}\right)$ | ${\overline{{\mathbf{F}}_{1}\mathbf{Score}}}_{\mathbf{macro}}$ $\pm \mathbf{SD}\left({\mathbf{F}}_{1}\mathbf{Score}\right)$ | Average CPU Time per Simulation [min] | Length of Symbolic Expressions |
---|---|---|---|---|---|---|---|

ADASYN | 0.938 $\pm 1.79\times {10}^{-3}$ | 0.9909 $\pm 2.809\times {10}^{-4}$ | 0.94 $\pm 1.143\times {10}^{-3}$ | 0.939 $\pm 1.63\times {10}^{-3}$ | 0.939 $\pm 1.49\times {10}^{-3}$ | 2400 | 1046/594/402/302 |

SMOTE | 0.966 $\pm 3.28\times {10}^{-3}$ | 0.9956 $\pm 1.13\times {10}^{-3}$ | 0.9663 $\pm 3.4\times {10}^{-3}$ | 0.9662 $\pm 3.39\times {10}^{-3}$ | 0.9661 $\pm 3.45\times {10}^{-3}$ | 944/556/544/466 | |

Borderline SMOTE | 0.975 $\pm 1.81\times {10}^{-3}$ | 0.997 $\pm 6.37\times {10}^{-3}$ | 0.975 $\pm 1.82\times {10}^{-3}$ | 0.976 $\pm 1.59\times {10}^{-3}$ | 0.9758 $\pm 1.74\times {10}^{-3}$ | 1183/1657/850/1450 |

**Table 5.**The GPSC hyperparameters are used to obtain the best symbolic expressions on each dataset variation.

Dataset Type | GPSC Hyperparameters Population_size, Number_of_generations, Tournament_size, Initial ial_depth, Crossover, Subtree_mutation, Hoist_mutation, Point_mutation, Stopping_criteria, Max_samples, Constant_range, Parsimony_coefficient |
---|---|

ADASYN | 1590, 102, 115, (4, 7), 0.95, 0.033, 0.0073, 0.0019, $3\times {10}^{-5}$, 0.995, (−57,908, 56,911), $1.2\times {10}^{-5}$ |

SMOTE | 1557, 233, 272, (7, 11), 0.965, 0.0022, 0.0079, 0.023, $9.7\times {10}^{-6}$, 0.997, (−34,176, 89,128), $1.27\times {10}^{-5}$ |

BorderlineSMOTE | 1421,279,139, (6, 7), 0.95, 0.011, 0.0067, 0.027, $3.65\times {10}^{-6}$, 0.99, (−91,766, 19,819), $6.75\times {10}^{-6}$ |

**Table 6.**The mean and SD values of $ACC$, $AUC$, $Precision$, $Recall$, and $F1-Score$ obtained with the set of best symbolic expressions on the original dataset.

Evaluation Metric | Mean Value | SD Value |
---|---|---|

$ACC$ | 0.956 | 0.05 |

$AUC$ | 0.9536 | 0.057 |

$Precision$ | 0.9507 | 0.0275 |

$Recall$ | 0.9809 | 0.01 |

$F1-Score$ | 0.9698 | 0.00725 |

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |

© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Anđelić, N.; Baressi Šegota, S.; Glučina, M.; Lorencin, I.
Classification of Wall Following Robot Movements Using Genetic Programming Symbolic Classifier. *Machines* **2023**, *11*, 105.
https://doi.org/10.3390/machines11010105

**AMA Style**

Anđelić N, Baressi Šegota S, Glučina M, Lorencin I.
Classification of Wall Following Robot Movements Using Genetic Programming Symbolic Classifier. *Machines*. 2023; 11(1):105.
https://doi.org/10.3390/machines11010105

**Chicago/Turabian Style**

Anđelić, Nikola, Sandi Baressi Šegota, Matko Glučina, and Ivan Lorencin.
2023. "Classification of Wall Following Robot Movements Using Genetic Programming Symbolic Classifier" *Machines* 11, no. 1: 105.
https://doi.org/10.3390/machines11010105