## 2 Methodology
### Chaos Game Optimization  
The chaos game optimization (CGO) algorithm, introduced by [PERSON] and [PERSON] [42], is an innovative metaheuristic optimization technique rooted in chaos theory and fractals. Chaos theory, a branch of mathematics, explores the behavior of dynamic systems highly sensitive to initial conditions, revealing hidden patterns and definite rules amidst apparent randomness [43; 44; 45]. It emphasizes interconnections, feedback loops, self-similarity, and self-organization in complex systems, epitomized by the butterfly effect, where small changes can lead to significant outcomes elsewhere. Fractals, geometric structures with self-similarity at various scales, play a central role in chaos theory. The Sierpinski fractal, an equilateral triangle recursively subdivided into smaller triangles, exemplifies self-similarity. CGO leverages chaos theory and fractals to optimize solutions. In the chaos game methodology, initially, three vertices are chosen to form a triangle, each marked with a different color. A random initial point, or seed, is selected within the triangle. Rolling a die with colored faces determines the movement of the seed towards the corresponding vertex, halving the distance. This process iterates, with the new seed position becoming the starting point for subsequent iterations. Through repeated die rolls, the seed converges towards creating the Sierpinski triangle fractal. The CGO algorithm inherits chaos theory's emphasis on sensitivity to initial conditions, utilizing fractal generation principles to iteratively optimize solutions. By integrating chaos game theory into optimization, CGO offers a parameter-free approach, distinguishing it from conventional optimization methods. This unique blend of chaos theory, fractals, and optimization makes CGO a promising tool for tackling complex optimization problems. The mathematical formulation of CGO draws upon the self-similarity principles inherent in chaos theory and the fundamental techniques for generating the Sierpinski triangle, and it is described as follows:  
Initially, an initialization procedure is established by defining the initial positions (\(X_{i}\)) of solution candidates within the predetermined search space, which is modeled as a Sierpinski triangle:  
\[X=\left[ \begin{array}{c}X_{1}\\ X_{2}\\ \vdots\\ X_{i}\\ \vdots\\ X_{n}\end{array} \right]=\left[ \begin{array}{c}x_{1}^{1}x_{1}^{2}\cdots x_{ 1}^{j}\cdots x_{1}^{d}\\ x_{2}^{1}x_{2}^{2}\cdots x_{2}^{2}\cdots x_{2}^{d}\\ \cdots\\ x_{1}^{d}x_{i}^{2}\cdots x_{i}^{j}\cdots x_{i}^{d}\\ \cdots\\ x_{n}^{1}x_{n}^{2}\cdots x_{n}^{j}\cdots x_{n}^{d}\end{array} \right],\left\{ \begin{array}{c}i=1,2,\ldots,n\\ j=1,2,\ldots,d\end{array} \right. \tag{1}\]  
\[x_{i}^{j}(0)=x_{i,\text{min}}^{j}+rand\Big{(}x_{i,\text{max}}^{j}-x_{i,\text{ min}}^{j}\Big{)},\left\{ \begin{array}{c}i=1,2,\ldots,n\\ j=1,2,\ldots,d\end{array} \right. \tag{2}\]  
Figure 1: ANN framework for predicting blast-induced ground vibration. where the problem dimension and the total number of initialized candidates within the Sierpinski triangle search space are denoted by \(d\) and \(n\), respectively. \(x_{i}^{j}(0)\) represents the initial value of the \(j\)th design variable for the \(i\)th point in the search space, with \(x_{i,\min}^{j}\) and \(x_{i,\max}^{j}\) indicating the lower and upper bounds of the decision variables. The variable \(Rand\) denotes a randomly generated number within the range [0, 1]. The primary search loop of the CGO algorithm involves adjusting the initially created points to achieve the complete shape of a Sierpinski triangle. Each point within the triangle is connected to two other points to form a temporary triangle: the Global Best \(GB\) vector, representing the best solution found so far, and the Mean Group \(MG_{i}\), obtained by averaging a set of points randomly selected around the candidate solution (\(i\)th point). To update the position of each temporary triangle, three individual seeds are placed at the triangle's three points.