## 2 Basic Concepts
### Bird Swarm Algorithm  
The Bird Swarm Algorithm (BSA) was proposed by [PERSON] in 2015 [10], which is inspired by the behavior and social interactions in swarm of birds, imitating feeding, flight and vigilance compartments to solve optimization problems. The social behaviors of birds are simplified in 5 rules, which are described below:  
Rule 1: Each bird may change between vigilance and foraging behaviors. The foraging of birds or their vigilance is modeled as a stochastic decision. Rule 2: In foraging, each bird may record and update its best previous experience and the best previous swarm experience on the food patch. This experience may be used again to search for food. The social information is shared instantly between the entire swarm. Rule 3: While vigilance is maintained, each bird tries to move to the center of the swarm, this behavior may be affected by the interference induced from the competition in the swarm. Birds that have higher provisions would be more likely to lie nearer to the center of the swarm than birds with low provisions of food. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{**Age**} & \multicolumn{3}{c}{**Men**} & \multicolumn{3}{c}{**Women**} \\ \cline{2-9}  & **III** & **Normal** & **Good** & **Excellent** & **III** & **Normal** & **Good** & **Excellent** \\ \hline
20–29 & 86 or more & 70–84 & 62–68 & 60 or less & 96 or more & 78–94 & 72–76 & 70 or less \\
30–39 & 86 or more & 72–84 & 64–70 & 62 or less & 98 or more & 80–96 & 72–78 & 70 or less \\
40–49 & 90 or more & 74–88 & 66–72 & 64 or less & 100 or more & 80–98 & 74–78 & 72 or less \\
50 or more & 90 or more & 76–88 & 68–74 & 66 o or less & 104 or more & 84–102 & 76–86 & 74 or less \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Heart rate values based on age and sex. Rule 4: Birds can habitually fly to another site; when this happens, they can switch among producing and scrounging. The birds with the highest reserves of food will be producers, and those that have the lowest provisions will be scroungers. Birds with intermediate provisions would randomly choose to be a producer or scrounger. Rule 5: Producers actively search for food. Scroungers would randomly follow a producer to search for food. The aforementioned rules are expressed mathematically as follows:  
Foraging behavior, in which each bird seeks food according to its experience and the swarms' experience, is expressed by:  
\[x_{i,j}^{t+1}=x_{i,j}^{t}+\left(p_{i,j}-x_{i,j}^{t}\right)\times\ C\ X\times\ rand\ (0,1)+\left(g_{j}-x_{i,j}^{t}\right)\ \times S\ \times rand\ (0,1), \tag{1}\]  
where \(j\) means independent numbers uniformly distributed in (0,1). \(C\) and \(S\) are positive numbers, which may be called cognitive and social acceleration coefficients respectively. \(P_{i,j}\) is the best previous position in the \(i_{\text{th}}\) bird and \(g_{j}\) is the best previous position shared in the swarm. In vigilance behavior, each bird will try to move to the center of the swarm and compete; therefore, each bird will not move directly to the center of the swarm. This is expressed as follows:  
\[x_{i,j}^{t+1}=x_{i,j}^{t}+A1\Big{(}mean_{j}-x_{i,j}^{t}\Big{)}\times rand(0,1 )+A2\Big{(}p_{k,j}-x_{i,j}^{t}\Big{)}\times rand(-1,1) \tag{2}\]  
\[A1=a1\times\exp\left(-\frac{pFit_{i}}{sumFit+\varepsilon}\times N\right) \tag{3}\]  
\[A2=a2\ \times exp\bigg{(}\left(\frac{pFit_{i}-pFit_{k}}{|pFit_{k}-pFit_{i}|+ \varepsilon}\right)\frac{N\times pFit_{k}}{sumFit+\varepsilon}\bigg{)} \tag{4}\]  
where \(k\) is a positive integer, chosen randomly among 1 and \(N\). \(pFit_{i}\) corresponds to the best value fitness in the \(i\)th position and \(sumFit\) signifies the sum of the best fitness value of the swarms. \(\varepsilon\) is used to avoid the error in zero-division. \(mean_{j}\) is the \(j\)th element of the average place of the entire swarm. \(a_{1}\) and \(a_{2}\) are positive constants in (0,2). Given the fact that each bird wants to stand in the center of the swarm, the product of \(A1\) and \(rand\) (0,1) should not be more than 1.