## 4 Results and Discussion  
The algorithms were developed in the Python programming language using the following libraries: Pandas for reading data from comma separated values (CSV) files, which are file types used to organize data, Numpy for manipulating the data, Matplotlib for generating graphs, Scikit-learn for implementing the ANN and Pygad for implementing the genetic algorithm. At each run, variations were performed in the population size of the genetic algorithm and the sizes of the training, validation and testing sets of the neural network. In addition, each of the variations were performed ten times to acquire more data for further analysis. The variations adopted can be seen in Table 4.  
The different configurations generated by the algorithm's execution underwent a detailed analysis. Observing the \(R^{2}\) coefficients and the learning curves, the configuration that best applies to the situation studied was then defined. The coefficient of determination, also called \(R^{2}\), is a measure of fit of a generalized linear statistical model to the observed values of a random variable. \(R^{2}\) varies between 0 and 1, and is sometimes expressed in percentage terms. This case expresses the amount of data variance that the linear model explains. Thus, the higher the \(R^{2}\), the more explanatory the linear model is, and the better it fits the sample. This decision is made grounded on the best coefficients, not overfitting or underfitting. The algorithm itself calculated the \(R^{2}\) values. Table 5 shows the determination coefficient value for each run performed, along with the mean, standard deviation and average time of the computing performance. Note that v3.2 presented the best average among all during the execution of the selected variations. These data are graphically represented in Figure 4, considering the x-axis to analyze the variations in the dataset division parameters to generate the model, and the y-axis to expose the average (points) and the deviations (vertical lines in the same point). \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Variation** & **Training** & **Validation** & **Testing** & **Population** \\ \hline V1.1 & 60\% & 10\% & 30\% & 100 \\ \hline V1.2 & 60\% & 10\% & 30\% & 500 \\ \hline V1.3 & 60\% & 10\% & 30\% & 1000 \\ \hline V2.1 & 70\% & 10\% & 20\% & 100 \\ \hline V2.2 & 70\% & 10\% & 20\% & 500 \\ \hline V2.3 & 70\% & 10\% & 20\% & 10,000 \\ \hline V3.1 & 80\% & 10\% & 10\% & 100 \\ \hline V3.2 & 80\% & 10\% & 10\% & 500 \\ \hline V3.3 & 80\% & 10\% & 10\% & 1000 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Variations in the developed algorithms. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Distribution** & **Training** & **Validation** & **Testing** \\ \hline
1 & 60\% & 10\% & 30\% \\ \hline
2 & 70\% & 10\% & 20\% \\ \hline
3 & 80\% & 10\% & 10\% \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Data distribution between training, validation and testing. Finally, a new algorithm was developed to predict the breakdown voltage in cases other than those existing in our database. The algorithm receives data from user-defined inputs and calculates the output value based on the defined neural network configuration. The graphics of Figures 10-14 were generated using the algorithm that allows for the visualization of the relationship of the properties used with the tensile strength. The graphs generated by the algorithm showed an acceptable behavior. The extremities presented a certain variation, which was something predicted, due to the amount of data being more centralized, causing uncertainties in the points with less data. Grounded on the graphs, the parameter with the most decisive influence on increasing the tensile strength is the filling density, presenting an almost linear and increasing behavior with an increasing density since a more significant amount of material would be sharing the load supported by the piece. The second parameter that most affects the attraction resistance is the filling orientation.