# Dynamic Multi-Target Self-Organization Hunting Control of Multi-Agent Systems
## 3 Establishment of a Task Allocation Model
### Self-Organizing Distributed Collaborative Task Allocation Optimization Model  
Firstly, the agent obtains the task allocation evaluation factor of the target through self-detection and communication with neighbor agents. This factor quantifies the probability of task completion. Then, each agent self-organizes to form a task assignment subgroup according to the task assignment evaluation factor, and every subgroup must make the final assignment result of every subgroup member optimal to satisfy the constraints. The distributed task allocation method adopts the improved particle swarm optimization algorithm, with good search ability and strong robustness, to achieve self-organized task allocation optimization. Particle swarm optimization is an optimization algorithm based on swarm intelligence. It has strong global search capabilities. The algorithm adopts the idea of swarm intelligence and can efficiently search for the global optimal solution by utilizing group collaboration and information sharing. It has a fast convergence speed. The algorithm can quickly converge during the search process, and compared to some traditional optimization algorithms, such as the genetic algorithm or ant colony algorithm, it can find the approximate optimal solution faster. It is not sensitive to initial values. The algorithm can also achieve similar optimization results under different initial values, which \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{\(\mathbf{P}_{ig}\)} & \multicolumn{8}{c}{\(\mathbf{P_{v}}\)} \\ \cline{2-10}  & & **nb** & **nm** & **ns** & **z0** & **ps** & **pm** & **pb** \\ \hline \multirow{5}{*}{\(P_{l}\)} & nb & z0 & z0 & ps & ps & pm & pb & pb \\  & nm & z0 & ps & ps & pm & pb & pb & pbb \\  & ns & ps & ps & pm & pb & pb & pbb & pbb \\  & z0 & ps & pm & pb & pbb & pbb & pbbb & pbbb \\  & ps & ps & pm & pb & pb & pbb & pbb & pbb \\  & pm & z0 & ps & ps & pm & pbb & pbb & pbb \\  & pb & z0 & z0 & ps & ps & pm & pbb & pbb \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Fuzzy rule of inference setting table of \(P_{lg}\). makes it more robust. The proposed method is flexible and can be applied to various scenarios with different constraints. \[J_{T}=\arg\max\sum\limits_{i=1}^{N_{a}}\sum\limits_{g=1}^{N_{T}}c_{ig}P_{ig} \tag{9}\]  
Here, \(N_{a}\) is the number of the neighbor agents of target \(g\), and \(c_{ig}\) is the hunting factor, indicating that agent \(i\) hunts target \(g\). \[c_{ig}=\left\{ \begin{array}{ll}1,&\text{if agent i hunts target }g\\ 0,&\text{if agent i does not hunts target }g\end{array} \right. \tag{10}\]  
The constraints of the multi-agent hunting multi-target task allocation model are as follows:  
\(\sum\limits_{g=1}^{N_{T}}c_{ig}=1,\forall i\in\{1,\cdots,N_{a}\}\) indicates that each agent \(i\) hunts only one target. \(\sum\limits_{i=1}^{N_{a}}c_{ig}\geq 3,\forall g\in\{1,\cdots,N_{T}\}\) indicates that a target requires at least three agents for hunting. Agent \(i\) cannot hunt target \(g\) with \(P_{ig}=0\). Using the above organization, a multi-agent system can globally distribute task allocation and achieve the global optimal allocation result, while meeting the constraints. **4. Hunting Strategy**  
The continuous time motion model of the system is as follows:  
\[\dot{x}_{i} =\mathbf{v}_{i},i=1,\cdots,N_{a} \tag{11}\] \[\dot{v}_{i} =\mathbf{u}_{i},i=1,\cdots,N_{a} \tag{12}\]  
\[\mathbf{u}_{i}=\sum\limits_{j=1,j\
eq i}^{N_{a}}(\mathbf{x}_{j}-\mathbf{x}_{i})\phi(\|\mathbf{x }_{j}-\mathbf{x}_{i}\|)+\sum\limits_{j=1,j\
eq i}^{N_{a}}k_{0}(\mathbf{v}_{j}-\mathbf{v}_{ i})+k_{1}(\mathbf{x}_{i}-\mathbf{x}_{g})+k_{2}(\mathbf{v}_{i}-\mathbf{v}_{g}),i=1,\ldots,N_{a} \tag{13}\]  
where \(\mathbf{x}_{i}\) denotes the position of agent \(i\), \(\mathbf{v}_{i}\) denotes the velocity of agent \(i\), and \(\mathbf{u}_{i}\) denotes the control input of agent \(i\). \(\mathbf{x}_{g}\) denotes the position of target \(g\), and \(\mathbf{v}_{g}\) denotes the velocity of target \(g\).