# Multi-User Detection Based on Improved Cheetah Optimization Algorithm
## 2 Methods
### Cheeta Optimization Algorithm  
Through the simulation of the three main hunting strategies of cheetahs' hunting selection mechanism, the cheetah optimization algorithm updates the population position. As shown in Figure 1, the cheetah searches for prey by patrolling and scanning its surroundings. When prey is found, it sits in place, waits for the prey to approach, and then attacks. Cheetahs choose a hunting mechanism by evaluating prey conditions, size, and distance from the prey. Throughout the search process, it may abandon the hunt due to energy constraints, rapid escape of prey, etc., and go home to rest before starting a new hunt. Overall, the CO algorithm expresses the entire search process of the optimization algorithm by dynamically selecting the hunting strategy during the search cycle. Figure 1: Cheetah hunting behavior. (**a**) searching; (**b**) sitting and waiting; (**c**) capture; (**d**) full-speed impact. Set the Cheetah-initialization position in d-dimensional space [16]:  
\[X_{i,j}=LB_{j}+rand\big{(}UB_{j}-LB_{j}\big{)}\quad i=1,2,\ldots,q;\ j=1,2,\ldots,d \tag{6}\]  
Here, \(q\), \(d\) denote the cheetah community and the search space dimension, respectively, and are initialized with the random number of [0, 1]. The location of the Cheetah-i in the \(j\)-dimensional space is represented by \(X_{i,j}\). \(UB_{j}\) represents the upper range, and \(LB_{j}\) represents the lower range of the \(j\)-dimensional space. Search strategy: during hunting, the cheetah dynamically selects a search mode to find prey based on the condition of the prey, the scope of coverage, and the cheetah's condition. Set the cheetah to search within the d-dimensional condition, denoted as [16]  
\[X_{i,j}^{t+1}=X_{i,j}^{t}+\bar{\tau}_{i,j}^{-1}\cdot\alpha_{i,j}^{t}\quad t=1, 2,\ldots,T \tag{7}\]  
\[\alpha_{i,j}^{t}=\left\{ \begin{matrix}0.001\frac{t}{T}(UB-LB)&k=1\\ 0.001\frac{t}{T}\big{|}X_{i}^{t}(i,j)-X^{t}(i,j)\big{|}+randk\
eq 1\end{matrix} \right. \tag{8}\]  
where \(T\) is set as a hunting cycle, the Cheetah's position in the \(j\)th dimension at \(t\)-th and \(t+1\)st iterations is represented by \(X_{i,j}^{t}\), \(X_{i,j}^{t+1}\). \(X_{b}^{t}\), \(X^{t}\) is the \(t\)-th iteration leader position, the Cheetah-i position. \(\alpha_{i,j}^{t}\) is the step size of Cheetah-i in the \(j\)th dimension at the \(t\)-th iteration, randomly adjusted by the distance between Cheetah-i and the other neighbors or leaders. \(\bar{\tau}_{i,j}^{-1}\) represents a random number that is normally distributed. The algorithm in this process mainly adjusts the search space and flexibly handles the hunting situation by introducing random numbers \(\bar{\tau}_{i,j}^{-1}\) and randomly adjusting the step size \(\alpha_{i,j}^{t}\). Sit-and-wait strategy (see Figure 1b): in the search mode, when the prey appears in the line of sight, it is very easy to spoof the prey with small movements, and the cheetah will choose the sit-and-wait strategy to wait for the prey to approach. The mathematical representation is [16]  
\[X_{i,j}^{t+1}=X_{i,j}^{t} \tag{9}\]  
where \(T\) is a hunting cycle length, the Cheetah's position in the \(j\)th dimension at \(t\)-th and \(t+1\)st iterations is represented by \(X_{i,j}^{t}\), \(X_{i,j}^{t+1}\). The algorithm under the sit-and-wait strategy mainly waits for the prey position to be updated to a suitable distance to launch the attack through the constant judgment of the qualifying conditions. Attack strategy: there are two modes of attack strategy: capture and full impact. During the implementation of this strategy, each cheetah dynamically updates its position according to the prey escape, neighboring cheetah, or leader cheetah position, to find the optimal position for full impact.