## 3 Background
### Binary Harris Hawks Optimizer (BHHO)  
BHHO is a binary adaptation of the Harris Hawks Optimizer (HHO), tailored for FS in high-dimensional datasets. Inspired by the hunting strategies of Harris Hawks, BHHO combines exploration and exploitation phases to identify optimal solutions [30]. During exploration, hawks search broadly across the solution space, with position updates governed by Equation (4). \[X(t+1)=\left\{ \begin{array}{rl}X_{rand}(t)-r_{1}\left|X_{rand}(t)-2r_{2}X(t) \right|,&q\geq 0.5\\ \left(X_{rabbit}(t)-X_{m}(t)\right)-r_{3}(LB+r_{4}(UB-LB)),&q<0.5\end{array}  \right.\text{.} \tag{4}\]  
Here, X(t + 1) is the updated hawk position, \(X_{rabbit}(t)\) represents the best solution (rabbit's position), \(X_{rand}(t)\) denotes a random hawk's position, \(r_{1}\), \(r_{2}\), \(r_{3}\), \(r_{4}\) are random variables, and LB and UB are the lower and upper bounds of the search space. The transition from exploration to exploitation is determined by the energy level (E), modeled using Equation (5). \[E=2E_{0}\left(1-\frac{t}{T}\right)\text{,} \tag{5}\]  
where \(E_{0}\) is a random initial energy value, t is the current iteration, and T is the maximum number of iterations. The exploitation phase refines solutions using strategies like soft and hard besiege. Soft besiege is represented by Equation (6), while hard besiege uses Equation (7). \[X(t+1)=\Delta X(t)-E|JX_{rabbit}(t)-x(t)|\, \tag{6}\]  
\[X(t+1)=X_{rabbit}(t)-E|\Delta X(t)|, \tag{7}\]  
where \(\Delta X(t)\)= \(X_{rabbit}(t)-X(t)\) and \(J\) is the jump strength, which defines the magnitude of hawks' movements toward or away from the rabbit. The energy level (\(E\)) plays a pivotal role in balancing exploration and exploitation, representing the hawk's capacity to transition between these phases. Both \(E\) and \(J\) are initially randomly generated to ensure variability and enhance the optimization process. During iterations, the energy level gradually decreases to shift focus from exploration to exploitation, while \(J\) is updated based on random factors and the hawk's proximity to the best-known solution. The algorithm begins by initializing key parameters, such as population size and maximum iterations, followed by generating a diverse population of hawks represented as continuous solutions. In each iteration, the fitness of each hawk is calculated, and positions are updated based on energy levels and the best-known solutions. Exploration occurs when the energy level \(|\mathrm{E}|\) is greater than or equal to one, while exploitation strategies, including soft besiege, hard besiege, and rapid dives, are applied when \(|\mathrm{E}|\) is less than one based on a random value \(\mathrm{r}\). Continuous positions are transformed into binary vectors using transfer functions, including S-shaped and V-shaped functions, to meet the binary constraints of FS tasks. As detailed in Algorithm 2, this iterative process continues until a stopping condition, such as reaching the maximum number of iterations, is met, yielding the best solution, \(X_{rabbit}\), which represents the optimal feature subset. BHHO's dynamic search capability makes it highly effective for FS, enhancing ML models in applications such as gene selection and image classification. ```
1. Initialize Xi (i = 1, 2,..., pop_size), with each hawk representing a candidate solution in the search space, encoded as a continuous position vector
2. while stopping condition is not met do
3. Calculate fitness values by evaluating the objective function for each hawk Set Xrabbit as the best solution found so far based on fitness
4. for each hawk (Xi) do
5. Update E0 and jump strength \(\mathrm{J}\triangleright\mathrm{E0}=2\mathrm{rand}()-1\), \(\mathrm{J}=2(1-\mathrm{rand}())\)
6. Update energy E using Equation (5)
7. if \(|\mathrm{E}|\geq 1\) then
8. Exploration phase: Update location vector using Equation (4)
9. else
10. Exploitation phase: Update location vector based on random \(\mathrm{r}\) and energy level E using Equations (6) and (7)
11.