# Cooperative Driven Algorithm for Couzin Model Based Fish School by Multiple Predators

Authors: He Cai; Taiyuan Zhang; Huanli Gao; Jiahao Long; Jiali Wen
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

The predation of large school of fish by the cooperation of multiple predators of different species is one of the most marvelous scene in the sea. In this paper, we study how to drive the fish school to the surface of the sea by the cooperation of multiple predators. In particular, we have first proposed a modified Couzin model for the fish school, which, on top of the classic Couzin model, also takes into consideration the effect imposed passively by the predators. The basic idea for the driven algorithm is to drive behind the fish school to some delicate extent so that, on one hand, the fish school shall move towards the target region, and on the other hand, the fish school will not disperse and spread away. Moreover, if some fish strays away from the fish school, the predator will take actions to force it back which can greatly reduce the possibility for the fish school to split into multiple subgroups. Comprehensive simulation results are provided to validate the proposed algorithm.


---

## Body

## 1. Introduction

Collective motions of swarm systems have been widely seen in nature, such as birds migrating in formation in the sky [1, 2], fish marching in the sea [3, 4], locusts moving in swarms [5], bacteria forming colonies [6], and human gathering [7]. A common feature behind these phenomena is that the swarm of individuals exhibits a high degree of order when facing external influences, and many scientists believe that the individuals in these biological clusters might just follow simple rules based solely on neighboring information which surprisingly leads to the emergence of the global intriguing and complex swarm behaviors. These swarm behaviors show desired and inspiring properties from many aspects, such as the strong robustness in the distribution of organizational structure and the strong flexibility and adaptability to the changes of the environment with high efficiency. Over the past two decades, with the rapid development of information technology, researchers have acquired the ability to track and analyze biological clusters [8]. By collecting and analyzing the movement process of individuals in the swarm with high quality data and advanced statistical techniques, some mathematical models for the swarm movement have been established. By mimicking the behaviors of the swarm systems in nature, these mathematical models have been adopted by engineers to solve real world problems involved mostly with unmanned swarm systems [9, 10].The pioneer works modeling swarm system behaviors can be found in Aoki [11], Huth and Wissel [12, 13], and Reynolds [14] which focus on computer simulations of the collective movement of fish schools and birds. Although the flocking motion models in these works have different implementation forms, the individuals in the swarm follow similar behavior rules, which is referred to as the “SAC” rules. Here, SAC is short for separation, alignment, and cohesion. The separation and cohesion rules require the individual spatially to avoid collision with neighboring individuals, yet stay closer to its neighbors, and the alignment rule requires the individual’s motion direction to be consistent with the directions of its neighbors. The SAC rule is of fundamental significance to the study of swarm motion, which has given rise to fruitful model variants explaining the fascinating swarming behaviors of living creatures. An important way to realize the alignment rule is called “velocity average,” which requires the individual of a swarm to adjust its own speed (direction) by referring to the average speed (direction) of its surrounding neighbors so that the clusters can achieve consistent convergence of all individual motion directions. There are three classic models based on the philosophy of velocity average, namely, the Vicsek model, the social force model, and the Couzin model. The Vicsek model [15] is also known as the self-propelled particle model. The basic concepts and methods are borrowed from physics, where the individuals are treated as particles. These particles are supposed to run at a constant speed rate in a square area with periodic boundaries. Various clustering phenomena have been revealed subject to different particle densities and noise levels. In the case of high density of particles and low noise, it was found that all the particle directions of motion will synchronize from random initial state. In the social force model [16], the interaction relationship between individuals is viewed as external force from the perspective of Newtonian mechanics. The total force imposed on an individual from its surrounding neighbors is called social force, which makes the individual accelerate, decelerate, or steer, thus forming the swarm behaviors of the entire group. The Couzin model [17] takes a discrete-time form for individual kinematics, and the individuals move at a constant speed rate subject to random perturbations. In this model, the individual’s perceptual area is divided into three nonoverlapping domains: the repulsive domain, the formation domain, and the attractive domain, which correspond straightforwardly to the separation rule, alignment rule, and cohesion rule, respectively. The Couzin model shows how differences between individuals affect the structure of groups, and how individuals can accurately change their spatial position within a group using simple local rules of thumb without knowing where they are. Later, in [18], Couzin defined the informed individuals, depicting those individuals that are able to perceive danger, find foraging place, or know migration routes in real-life swarms. It was shown that if there are a few number of informed individuals with clear directions of movement in the model, they can guide the movement of the entire cluster even if other individuals are unaware of their existence. Surprisingly, the larger the group is, the smaller the proportion of informed individuals is needed to lead the group. In addition, if there are two expected directions, the entire cluster will move in one or the average direction of the two while maintaining cohesive, i.e., the entire cluster can still make a unified decision even if the information transmitted by the informed individuals conflicts. In 2011, the Couzin team further reported in [19] that under a wide range of conditions, a strongly stubborn minority can determine group selection, but the presence of noninformed individuals spontaneously inhibits this process, thus giving back control to the majority, i.e., noninformed individuals can promote democratic decision-making. Besides the work done by the Couzin team, the Couzin model has been also adopted by many other researchers. For example, Dong et al. proposed a speed-adaptive Couzin cluster model based on fuzzy rules [20]. Jung et al. adopted mediation as a new shared control approach to control the influence of human groups and used mediators to shape a Couzin model-like ring domain [21].The predation of large school of fish by the cooperation of multiple predators of different species is one of the most marvelous scene in the sea. In real life, the predators will drive the fish school to the surface of the sea before predation. As is often the case, the number of the predators is far more less than that of the fish school. Thus, it is interesting to study how to drive the fish school to the surface of the sea by the cooperation of the predators, which is the main concern of this paper. In particular, we have first proposed a modified Couzin model for the fish school, which, on top of the classic Couzin model, also takes into consideration the effect imposed passively by the predators. The basic idea for the driven algorithm is to drive behind the fish school to some delicate extent so that, on the one hand, the fish school shall move towards the target region, and on the other hand, the fish school will not disperse and spread away. Moreover, if some fish strays away from the fish school, the predator will take actions to force it back which can greatly reduce the possibility for the fish school to split into multiple subgroups. Compared with the cooperative driven problem for 2-dimensional sheep herd considered in [22], the technical difficulties are much more challenging for the cooperative driven problem considered in this paper since the fish school are moving in 3-dimensional space. In contrast to [22], the main technical contributions of this paper are as follows. First, to achieve cooperation between predators and avoid mutual interference, by projecting the fish school to the xoy plane, the fish school is divided into several groups and each predator is responsible for one group of fish. Second, to drive fish school to move towards the destination, the tail of the fish school is defined as some projection point associated with both the centers of the destination and the fish school. Third, to force the stray fish back to the fish school, an arcuate trajectory is conceived for the predator by appropriately designing a novel 3-dimensional arcuate mapping.


## 2. Notations

Letℝ and ℕ denote the sets of real numbers and positive integers, respectively. Given x∈ℕ, x¯≜yy∈ℕ,y≤x. Given a set ℙ with finite number of elements, let Cℙ denotes the cardinality of the set ℙ. Given a point x∈ℝ3 and a region X⊆ℝ3, the distance between x and X is defined by
(1)dx,X=infy∈Xx−y.In 3D space, given angleθ and rotation axis n=nx,ny,nzT, the rotation matrix Tθ,n is defined as
(2)I1=nx21−cosθ+cosθnxny1−cosθ+nzsinθnxnz1−cosθ−nysinθ,(3)I2=nxny1−cosθ−nzsinθny21−cosθ+cosθnynz1−cosθ+nxsinθ,(4)I3=nxnz1−cosθ+nysinθnynz1−cosθ−nxsinθnz21−cosθ+cosθ,(5)Tθ,n=I1,I2,I3.For a nonzero vectorx∈ℝ3, let ox=x/x denote the unit vector which has the same direction as x. For two nonzero vectors x,y∈ℝ3, let
(6)Θx,y=arccosx,yx·y.For nonzero vectorsx,y∈ℝ3, the steering angle limit function is defined by
(7)Γx,y,ξ=x,Θx,y<ξ,Tξ,x×yx×yy,Θx,y≥ξ,whereξ>0 denotes the maximum steering angle per unit time.Forx,y∈ℝ3,y≠0, the projection function is defined by
(8)Kx,y=x,yyoy.Forx,y∈ℝ3,x≠0,y≠0, the plane projection function is defined by
(9)Mx,y=x−xcosΘx,yy.


## 3. Modified Couzin Model

As shown in Figure1, in this paper, we will study how to use two predators to drive a school of fish to a target area in 3D space. In what follows, we suppose the position and velocity vectors of all fish and predators are expressed in a common coordinate system.Figure 1
Task description.Suppose the number of fish in the school isN. For i∈N¯, the motion of fish i is described by
(10)pik+1=pik+Tvik,whereT denotes the sampling period, and pik,vik∈ℝ3 denote the position and velocity of the ith fish at the kth step, respectively.Let the numberNp of predators be 2. For i∈Np¯, the motion of predator i is described by
(11)qik+1=qik+Tuik,whereqik,uik∈ℝ3 denote the position and velocity of the ith predator at the kth step, respectively.To describe the relative position between different fish, fori,j∈N¯, i≠j, define
(12)pijk=pik−pjk,and between fish and predator, for i∈N¯, j∈Np¯, define
(13)pijqk=pik−qjk.Fori∈N¯, the velocity of the ith fish is given as follows
(14)vik+1=voΓTσik,nikvpik,vik,ξ+vqik,onik≠ovpik,voΓvpik,vik,ξ+vqik,onik=ovpik,wherev>0 denote the speed rate for fish. vpik,vqik∈ℝ3 denote the effects from other fish and from predator at the kth step, respectively, which will be detailed later. Tσik,nik defined the way how the noise is imposed on the fish school. In real life, animal decision-making is affected by external disturbances, and we model this effect by rotating vpik by an angle σik, which satisfies σik~N0,σ and varies with time along the rotation axis nik=nixk,niyk,nizkT, which is given by
(15)nik=o−1+2·rand1−1+2·rand1−1+2·rand1,withrand1 denoting a random noise signal that is uniformly distributed between 0 and 1. By left multiplying vpik by Tσik,nik, it means that at the kth step, vpik takes nik as the rotation axis and rotates σik radium counterclockwise. When a fish needs to change its direction of motion, it is usually impossible to turn 180∘ immediately. Therefore, we need to add a limit to the magnitude of the fish’s steering angle in the model, which is realized by the function Γ in the law of (14).Fori,j∈N¯,i≠j, if Θvik,pjik>α/2, then, the jth fish is invisible to the ith fish. Otherwise, it is visible to the ith fish. Here, α determines the size of the blind area. Fish in the blind area of fish i do not have any impact on fish i. Figure 2(a) is an example used to show the definition of the blind area of fish i. Fish k (point ck) is in the blind area of fish i, while fish j (point cj) is outside the blind area of the fish i.Figure 2
The blind area and three zones of the fish.
(a)
The blind area of the fish(b)
The blind area and three zones of the fishAs shown in Figure2(b), fish has blind area blue and three zones: the repulsive zone zor, the directional alignment zone zoo, and the attractive zone zoa. We use three positive constants Rr,Ro,Ra to fine the three zones for zor, zoo, and zoa, respectively. For i,j∈N¯,i≠j, when fish j is outside the blind area and located at the zor zone of fish i at the kth step, fish j satisfies j∈Nrik, where
(16)Nrik≜j:pijk<Rr,Θvik,pjik≤α2,j∈N¯,j≠i.When fishj is outside the blind area and located at the zoo zone of fish i at the kth step, fish j satisfies j∈Noik, where
(17)Noik≜j:Rr≤pijk<Ro,Θvik,pjik≤α2,j∈N¯,j≠i.When fishj is outside the blind area and located at the zoa zone of fish i at the kth step, fish j satisfies j∈Naiks, where
(18)Naik≜j:Ro≤pijk<Ra,Θvik,pjik≤α2,j∈N¯,j≠i.Now, we are ready to presentvpik as follows
(19)vpik=drik,Nrik≠∅,doik,Nrik=∅&Noik≠∅&Naik=∅,daik,Nrik=∅&Noik=∅&Naik≠∅,12doik+daik,Nrik=∅&Noik≠∅&Naik≠∅,vik,Nrik=∅&Noik=∅&Naik=∅,wheredrik,doik,daik are the influences of other neighbors located in zor,zoo,zoa on fish i at the kth step, respectively. Their corresponding mathematical expressions are as follows
(20)drik=−∑j∈Nrikopijk,(21)doik=∑j∈Noikovjk,(22)daik=∑j∈Naikopijk.The physical meanings of the cases in Equation (19) are explained as follows. Case Nrik≠∅ means that a part of the fish in the fish school are too close to fish i, which will make fish i stay away from this part of the fish. Case Nrik=∅&Noik≠∅&Naik=∅ means that fish i is only affected by the fish located in the zoo area, and in this case, it will adjust its speed direction to be consistent with the average speed direction of the fish in its zoo area. Case Nrik=∅&Noik=∅&Naik≠∅ means that fish i is only attracted by the fish located in the zoa area, moving towards them. Case Nrik=∅&Noik≠∅&Naik≠∅ means that fish i will move towards the fish located in the zoa area while aligning as much as possible with the average speed direction of the fish located in the zoo area. Case Nrik=∅&Noik=∅&Naik=∅ means that there is no fish visible to fish i. At this point, fish i will keep the current state of motion. It is noteworthy that under the motion mechanism of Equation (20), fish tend not to collide with each other.Fori∈N¯,j∈Np¯, vqik takes the following form
(23)vqik=γ∑j=1Npfijk,whereγ>0 denotes the strength of the effect from the predator, and fijk denotes the repulsive force imposed by the jth predator on the ith fish at the kth step. fijk has the following form
(24)fijk=αpijqkopijqk,where(25)αx=104,x≤lr,1x−lr−1le−lr,lr<x≤le,0,le<x,with lr>0 denoting the distance below which predators repel fish greatly between fish and predator, and le denoting the distance a predator starts to affect a fish. The profile of αx is shown by Figure 3 with lr=5, le=25.Figure 3
Profile ofαx with lr=5, le=25.


## 4. Algorithm

Givenpdc∈ℝ3, the destination area for the fish school is defined by
(26)ℙdc=p:p∈ℝ3,p−pdc≤rd,0≤Θp−pdc,0,0,−1T≤π2,whererd>0 denotes the radius of the hemisphere of the destination. It should be chosen such that the following two requirements can be simultaneously satisfied:
(27)pi∈ℙdc,∀i∈N¯,and(28)pi−pj≥Rr,∀i,j∈N¯,i≠j.Mathematically, the control task considered in this paper is to designuik for predators such that, under the initial condition
(29)dqi0,ℙdc>0,∀i∈Np¯,and(30)dpi0,ℙdc>0,∀i∈N¯,for alli∈N¯,
(31)limk⟶∞dpik,ℙdc=0.Inspired by the predatory behavior of the real-world predators on fish school, we realize the spatial driving algorithm in the following way.(1)
The predator moves towards the destination at the tail of the school of fish(2)
When a fish is found out of the group, the predator drives it back to the schoolNow, we will introduce the driving algorithm as follows.First, we define two important points.(32)gck=1N∑i=1Npik,and(33)Hk=Kpmk−pdc,gck−pdc,wherepmk satisfies
(34)pmk=pik:∀j≠i,itfollowspik−pdc,gck−pdc≥pjk−pdc,gck−pdc.The points defined by (32) and (33) are called the center of fish group and the tail of fish group, respectively, which is illustrated by Figure 4(a).Figure 4
Graph illustrations of the definitions.
(a)
The center of fish groupgck and the tail of fish group Hk(b)
Spatial classification of predators(c)
The stray fishptjk(d)
The fishpnjk closest to predator jSinceNp>1, we will assign the task for the predators and let them cooperate to fulfill the task. Based on a common coordinate system, the fish school will be classified into several groups by the predators, and each predator will be in charge of one group in a cooperative way so that the whole fish school is under control by all the predators. Compared with the case of a single predator, the merits for the cooperation of multiple predators are fourfold. First, the workload for each predator will be reduced. Second, multiple predators can deal with larger fish school. Third, the control efficiency will be raised by multiple predators. Fourth, the success rate to fulfill the driving task is higher for the case of multiple predators.We divide the fish school intoNp groups, and each predator is responsible for one group. For i∈N¯,j∈Np¯, the fish i for which predator j is responsible satisfies i∈Njk, where
(35)Njk≜i:j−12πNp<ΘMpik,pdc−gck,opdc−gck×lk≤j2πNp,wherelk denotes a vector which satisfies olk≠opdc−gck,lk≠0 at the kth step.As shown in Figure4(b), the direction vector of the x-axis is opdc−gck×lk. The predator decides whether to be responsible for fish i through the angle βi between the projection of fish i on the x−gck−y plane and the x-axis.Fori∈N¯,j∈Np¯, the position vector ptjk of the fish that deviates most from the fish school for which predator j is responsible satisfies
(36)ptjk=pik:i,l∈Njk,∀l≠i,itfollowspik−Kpik−pdc,gck−pdc≥plk−Kplk−pdc,gck−pdc.As shown in Figure4(c), the distance between p2k and its projection p~2k on line gckpdc is the largest, and thus, p2k is recorded as ptjk.Fori∈N¯,j∈Np¯, the position vector pnjk of the fish that is closest to predator j satisfies
(37)pnjk=pik:i,l∈N¯,∀l≠i,itfollowsqik−pik≤qik−plk.As shown in Figure4(d), the distance between predator qjk and fish p2k is the smallest, so p2k is recorded as pnjk.In order for the predator to drive the stray fish back into the school, the predator needs to move towards the stray fish following an arcuate trajectory. To this end, we need to define the following velocity update function, forx,y∈ℝ3,x≠0,
(38)varcx,y,θ=vdo−oy−Ky,xsinθ+oxcosθ,wherevd>0 is a constant.In what follows, we letDp>0 denote the judgment condition for predator state switching, and let Dnp>0 denote the judgment condition for predator velocity updating. Moreover, for i∈Np¯, let δik denote the flag bit of the state of predator i. The space driven algorithm consists of two phases as follows.
(1)
InitializationSelect design parametersrd,θ,vd,Dp,Dnp.Letδi0=2,i∈Np¯.Set up upper step limitTmax>0.
(2)
Iteration: run Algorithm1 until k reaches Tmax or the task objective (31) is achievedAlgorithm 1: Predator space driven algorithm.
Input:p1k,⋯,pNk, q1k,⋯,qNpk,δik,⋯,δNpk.Output:u1k+1,⋯,uNpk+1,δik+1,⋯,δNpk+11:for (i=1, i≤Np, i=i+1)do2:ifδik=0&qik−Kqik−pdc,gck−pdc≤Dpthen3:δik=2.4:else ifδik=1&Θqik−gck,pdc−gck≤Θminδik=1&Θptik−gck,pdc−gck−Θqik−gck,pdc−gck>θtminthen5:δik=0.6:else ifδik=2&qik−Kqik−pdc,gck−pdc>Dpthen7:δik=1.8:ifδik=09:δik+1=010:uik+1=varcgck−qik,Hk−qik,θ.11:ifδik=1then12:δik+1=113:uik+1=varcgck−qik,ptik−qik,θ14:ifδik=2then15:δik+1=216:ifqik−pnik≤Dnpthen17:uik+1=0.18:else19:uik+1=opdc−gck.20:return resultThe explanation of Algorithm1 is as follows.The predator has three states, where each state corresponds to a special speed update strategy. In this paper, we useδik,i∈Np¯ as the status flag of the predator i at the kth step, and different values of δik correspond to different states of the predators. δik takes value in 0,1,2. At the starting moment, that is, when k=0, we set by default that δik=2.δik=2 means that the predator i is near the tail Hk of the fish school and chooses to follow the fish school while keeping a certain distance Dnp away from the fish school. In this way, the predator imposes repulsive force on the fish school to drive it to the destination area. In this state, predator i needs to first detect whether there is a fish deviating from the fish school that it is responsible for at the current moment. The detection is realized by comparing the distance of predator i to the line gck−pdc with a threshold Dp>0. If the distance of predator i to the line gck−pdc is greater than Dp, the predator i should change δik to 1. Otherwise, it maintains its current state. For example, as shown in Figure 5(a), the distance of predator j to the line gck−pdc is equal to Dp.Figure 5
Illustration ofDp, Θ and varc.
(a)
Illustration ofDp(b)
Illustration ofΘ(c)
Illustration ofvarcIfδik remains to be 2 after detection, predator i will update its motion as follows. Let pnik denote the distance between the predator i and the school of fish at the kth step. If pnik≤Dnp, in order to keep a certain distance away from the fish school, the predator i should stop moving, that is, set uik+1=0. Otherwise, it should drive the fish group to the destination while moving towards the fish group, that is, set uk+1=opdc−gck.δik=1 means that predator i is driving the stray fish back into the school. Before we update the velocity of the predator i, we need to determine whether the state of the predator i needs to be switched at the current moment. We judge the positional relationship between the predator and the fish school by the angle Θqik−gck,pdc−gck or the angle Θptik−gck,pdc−gck−Θqik−gck,pdc−gck. When the former is acute, it means that the predator i has moved to the front of the fish school. At this time, the predator i should set δik=0. When the latter is greater than the threshold θtmin>0, it means that the predator has moved to a position where it cannot drive the stray fish back to the school. In such circumstance, the predator i also need to set δik=0. If none of the above occurs, it maintains its current state. For example, as shown in Figure 5(b), Θ=Θqik−gck,pdc−gck is an acute angle. It is obvious that the predator qjk is in front of the fish group. θt is Θptik−gck,pdc−gck−Θqik−gck,pdc−gck, which can be used to measure the relative position of predator j with respect to the stray fish ptjk. Obviously, when Θ is too small or θt is too large, the predator’s repulsive force on the stray fish will keep it away from the school.Ifδik remains to be 1 after the above judgment, predator i updates its motion as follows. In order to drive the stray fish back into the school, we need to make the predator i move along a suitable trajectory so that the stray fish can move towards the school. To this end, we update the velocity of the predator i through the function varc, which is illustrated by Figure 3. As shown in Figure 5(c), predator j moves towards the target fish ptjk. To be able to approach the fish in an arcuate trajectory, at each moment the predator j needs to turn ujk=optjk−qik counterclockwise by θ, i.e., from ujk to uj∗k. Here, uj∗k denotes the actual velocity of the predator j calculated by varc, which can be calculated by the following equation
(39)uj∗k=varcgck−qjk,ujk,θ.δik=0 means that predator i should return to the tail Hk of the fish school. Like the other two states, we need to first decide whether δik needs to be changed. If the distance of predator i to the line gck−pdc is less than or equal to Dp, which means the predator i has returned to the tail of the fish school, the predator i should change δik to 2. Otherwise, it maintains its current state. If δik remains to 1 after the above judgment, predator i updates its motion as follows. In order not to collide with the fish and cause the fish to disperse when returning to the tail of the fish, the predator needs to move along a trajectory bypassing the fish. To do so, we update the velocity of the predator i by the function varc. We use uj∗k to denote the actual velocity of the predator j, which can be calculated by the following equation
(40)uj∗k=varcgck−qjk,Hk−qjk,θ.


## 5. Simulation Results and Analysis

In this section, we conduct comprehensive simulation experiments to verify the algorithm and analyze the effect of different parameters value on the simulation results. The parametersγ, Θmin, Np, and θtmin are taken into consideration. A total of 100 tests are performed for one set of parameters. Suppose M of 100 tests are successful, i.e., the predators push the fish to the target area within the time limit.
(i)
Success rate evaluation indicator is defined by(41)Ξ=M100.(ii)
Consider theM successful tests. Suppose the number of task completion steps for the ith test is kfi. Then, the average step evaluating indicator for control efficiency is defined by(42)Φ=∑i=1MkfiM.The algorithm parameters are given in Table1, which can be classified into model parameters and control algorithm parameters. First, the model parameters are determined in the way that the fish school shall exhibit typical swarm behaviors as in nature, which in our case is the vortex movement. Once the model parameters are obtained, we will determine the control algorithm parameters by trial and error. The control algorithm parameters are finally settled down by a weighted evaluation of both the indicators of success rate and control efficiency. A whole driving process under the proposed driven algorithm is shown by Figure 6, where the fish school has been driven to the target area by the predators successfully.Table 1
The value of parameters setting for simulation experiments.
ParameterSymbolUnitValuePrey numN—100Exclusion domainRrUnit length1Formation domainΔRoRo−RrUnit length3.6Attraction domainΔRaRa−RoUnit length35.6Visible areaαRad32πMaximum steering rateξRad/s29πSpeed of fishvUnit length/s2Speed of predatorvdUnit length/s25Turning angleθRadπ3Error angleσRad0.05Time incrementΔTs0.1Destination’s radiusrdUnit length30Repulsive force coefficientγ—0.1Predator numNp—2Minimum rotation angleθtminRadπ18Minimum return angleΘminRadπ4Figure 6
Three different moments showing the predators succeed in driving the fish to the target area.
(a)
TOTSTEP=1(b)
TOTSTEP=868(c)
TOTSTEP=1736In what follows, we will examine how the control parameters shall affect the performance of the algorithm. To this end, key parameters should be determined first which have significant impact on control performance. To do so, experiments are conducted in the way that for each time, and the tested control parameter varies in its allowable range with other control parameters being fixed. If the two indicators vary significantly with respect to the variation of the tested control parameter, then, the tested control parameter will be treated as a key control parameter. In this way, four key control parameters are determined by extensive experiment results in this paper, namely,γ, Θmin, Np, and θtmin.Figure7 shows the profiles of the two evaluation indicators Ξ, Φ changing with respect to γ, Θmin, Np, and θtmin, respectively. The parameter we change in Figures 7(a) and 7(b) is the repulsive force coefficient γ. When it is increased from 0.005 to 2, the success rate remains above 90%. While, when the value of the coefficient is around 0.1, there is a minimum value for the average step. On one hand, if the coefficient is too small, the fish is not sensitive to predators’ repulsion force, thus resulting in a longer time to complete the task. On the other hand, if the coefficient is too large, the predators’ repulsion will override the original expected velocity direction, causing some small fish to escape from the group.Figure 7
The changes ofΞ and Φ with respect to design parameters.
(a)
The changes ofΞ with respect to γ(b)
The changes ofΦ with respect to γ(c)
The changes ofΞ with respect to Θmin(d)
The changes ofΦ with respect to Θmin(e)
The changes ofΞ with respect to Np(f)
The changes ofΦ with respect to Np(g)
The changes ofΞ with respect to θtmin(h)
The changes ofΦ with respect to θtminAs shown in Figures7(c) and 7(d), we let the minimum return angle Θmin change from π/36 to π/2. The geometric meaning of Θ is shown in Figure 7(b). According to Figures 7(c) and 7(d), the success rate remains stable more than 98% regardless of the change of Θmin. But the change of Θmin will lead to the change of average step. The larger the minimum return angle, the quicker the predator can return to the tail of the fish group. Thus, there is less time for the predator’s repulsive force acting on the stray fish, making it difficult for the stray fish to return to the school, which in turn requires the predator to spend more time to drive the stray fish back to the fish school. The predator tends to force back the stray fish. However, when the angle exceeds Θmin, the predator is expected to return to the tail of the fish group, causing the predator to go back and forth. This movement will change the direction of the velocity of the fish group, which will also increase the average step. It will not end until the stray fish returns to the group. Because the area of attraction is wide enough, the stray fish may return to the group by the cohesion rule. That is why the algorithm can still have high success rates when Θmin gets larger.As shown in Figures7(e) and 7(f), we let predator num Np change from 1 to 5. Note that when the number of predators is changed from 1 to 2, the success rate can reach up to more than 90%, and yet the average step is greatly reduced. In comparison with the case of a single predator, multiple predators can effectively prevent individual fish from leaving the group. In the case of a hundred fish, a suitable value for the number of predators is two or three. Note that when the number of predators reaches four or five, the average time step increases and the success rate decreases. The reason is that as the number of predators increases, the repulsive force of the predators imposed on the fish increases. Thus, the fish are more likely to spread out, and the stable motion of the fish school is violated.As shown in Figures7(g) and 7(h), we let the minimum rotation angle θtmin change from π/36 to π/2. The geometric meaning of θt is shown in Figure 5(b). This parameter can greatly affect the efficiency of the algorithm. The purpose of this parameter is to make the relative position between the predator and the stray fish being appropriate. When θt>θtmin, it means that the predator’s repulsive force on the stray fish will drive the fish out of the group. Note that the success rate remains steady above 98% regardless of the change of θtmin. But as the value of rotation angle gets larger, the average step increases. The underlying reason is when θtmin becomes larger, there will be more undesirable points on the predator’s trajectory. When the predator is located at these undesirable points, the predator’s repulsive force will drive the stray fish out of the group, which results in predators spending more time driving stray fish back into the school.The proposed control algorithm is involved with many design parameters, and naturally, it is interesting to seek the best parameter combination so that the proposed control algorithm can achieve certain optimal control index. Here, we introduce a brief sketch to conduct parameter optimization. The allowable ranges for the parameters should be determined first. For each parameter, we take a few values from its allowable range, and all values of all the parameters together constitute the set of parameter combination candidates. Next, we conduct experiments with the parameters taken from this candidate set and select a few promising parameter combinations that perform well. Finally, by choosing certain parameter optimization algorithm, such as genetic algorithm or simulated annealing algorithm, we take the selected parameter combinations as the input of the parameter optimization algorithm and then get the final parameter combination that makes the best control index.


## 6. Conclusion

In this paper, we have studied how to drive a fish school to the destination area by the cooperation of multiple predators. First, a modified Couzin model is proposed for modeling the fish school, which, on top of the classic Couzin model, also takes into consideration the force imposed by the predators. A cooperative driven algorithm is proposed, which accomplishes the driving task through the cooperation among multiple predators. Predators first classify the fish intoNp groups, each of which is managed by a predator. Then, the predators determine their motion by detecting whether there are outliers in the school. When a stray fish is detected, the predator moves towards the fish following an arcuate trajectory. When the predator approaches some certain point, it is able to drive the stray fish back into the school. When there is no fish out of the group, the predator will move towards the destination at the tail of the fish school. Extensive simulations have been performed, which have verified the effectiveness of the algorithm. Moreover, a detailed analysis has been given discussing how the control parameters shall affect the performance of the algorithm. Since there are multiple predators, during the movement of the predators, they may impose overly large repulsion force on a small portion of the fish, which may accidentally make them deviate from the main body of the fish school to such an extent that it would be rather difficult, if possible, to drive them back to the fish school. The reason behind this phenomenon is of course complicated, involving swarm model validation, algorithm parameter selection, and algorithm mechanism design. We will further consider in our future work how to seek desired balancing between the effectiveness and efficiency of the driven algorithm.



---

*Source: 4708496-2022-10-03.xml*