1. 引言
出于生存、避险、觅食等原因,在广阔水域中,鱼类往往表现出较多的集群行为。例如,沙丁鱼是一种细长的银色小型鱼,它们常常以聚成大群的方式来对抗捕食者(例如海豚)。这种群体行动对捕食者的成功狩猎造成了极大的困难,而且有利于鱼群在自然界获取更多的生存资源 [1]。
鱼类的集群行为在当今的科学研究领域中具有广泛而深刻的研究价值,因为它可以指导复杂性科学中粒子的演化过程和系统动力学的模型建构 [2],进而推动从自然现象中获取灵感的群体智能算法进一步发展 [3]。我们熟知,群体智能算法正随人工智能的发展而不断进步,但对这一领域的基础理论研究却相对进展缓慢。在应用领域,群体智能算法已经被广泛地应用于机器学习 [4]、组合优化 [5] [6] 等多方面。例如,Tae Jong Choi, et al. [7] 利用群体智能开发了一个艺术生产框架用以制作艺术图像,其中使用了Boid模型与遗传算法。Hadjila Fethallah, et al. [6] 利用Boid模型和粒子群算法提出了一类优化组合式网络服务的方式。然而,群体智能算法背后的群体模型的发展却缓慢得多。以Boid模型 [8] 举例,它由Craing W. Reynolds建立,是一个模拟鸟类运动、聚集过程的基础粒子群模型,以广泛的适应性被应用于各类衍生模型中。该模型起初主要用于复杂性理论的研究,现在逐渐被智能演化、多主体建模等领域所重视。
但是经过多年的发展,最多的改进方向仍然以规则的增减 [9] 或实现形式的改变 [10] 为主,没有涉及到对被模拟现象更为根本性的改进。即使Tamon Oboshi, et al. [11] 以及Gao J. F., et al. [12] 的研究中对Boid模型均有切实的改进,但他们的研究都聚焦于鱼群被捕食者攻击时Boid模型的变化情况,而没有对鱼群在一般运动状态下的情况加以讨论。
鱼类的集群运动研究主要涉及复杂性科学中的团体动力学、集群行为学、演化等领域,因此还对研究多智能体仿真互动和协同行为具有重要的参考价值 [2] [3]。截止目前,围绕该方向的研究主要分为2大流派:一类是利用物理学理解鱼群集聚行为的内在机制 [13] [14] [15],而另一类是从鱼类的实际集群运动和鱼类具有的个体特征出发,通过建立统计学模型去探索鱼类实际集群运动中存在的规律 [1] [16] [17] [18]。还有1个有关的研究方向是对鱼群运动和聚集行为的可视化系统开发 [19],这也可以认为是对理论成果的应用。
介于此,我们在这篇文章中重点关注鱼群聚集过程中涉及的物理规律,以及这些规律是否对现实场景具有足够准确的模拟效果。
我们建立完整模型的基本思路是,先考虑松散状态下的群体运动状态,再考虑团簇状态下的群体聚集状态。与大多数文献 [13] [15] 的研究内容有所不同,我们并不是直接对群体中的个体进行偏好建模,而是将这一设定直接纳入我们对群体的建模中。这样做的好处时,我们不必关注过多的力学信息,而将演化的过程交给计算机自动处理。当然,我们所建立的模型将尽量避免模糊的演化规则,因此也并不将鱼群的聚集过程近似视为黑盒模型 [11] [12]。
现在,我们对文章的基本结构可以进行宏观性地解释。类似 [11] [12] [15],我们将首先使用粒子群模型刻画鱼群的运动,本文选用的是Boid模型,因为这一模型已经被认为是刻画粒子群运动的高效方案[8]。然而,由于Boid模型无法体现必要的个体偏好,因此在其基础上,我们提出了一种改进的模型。这种模型利用了视野域等 [1] [11] [12] 概念,但也具有更多创新性的内容,比如对速率的假定不再严格依赖于固定的统计分布。
使用改进的Boid模型可以模拟鱼群在聚集成团簇前的运动,但无法对形成团簇后的稳定状态进行刻画,其本质原因在于,Boid模型对稳定状态的刻画完全依赖于随机的演化结果。为尽可能对鱼群聚集的完整过程进行模拟,我们从原子结构中获取灵感,提出了粒子环绕模型。在这一模型下,鱼群将围绕球心作稳定的环绕运动,且仍然严格满足Boid模型的基本假设。
最后,为了验证我们建立的模型是有效的,我们为模型进行了仿真演化。在演化过程中,我们不关注于参数对鱼群运动轨迹的影响,因为这已经被研究地十分清楚 [13]。然而,我们感兴趣的是聚集过程能否被完整地呈现,也就是鱼群在以团簇结构巡游前,能否找到自己的同伴。值得一提的是,类似的研究是罕见的,这也是我们提出的模型所能体现出的重要意义。
2. 模型建立
我们试图简化一切不必要的环境与参数假设,简单而完备地建立鱼群的聚集过程模型。我们认为,鱼群从松散状态到聚集状态的全过程主要可以分为以寻找同伴和自适应调整个体运动速度为主的第1阶段和以组成稳定的团簇结构为主的第2阶段。
显而易见,前者是后者的预备过程。我们不妨将第1阶段称为“非稳态”过程,而将第2阶段称为“稳态”过程。
在下文中,我们将使用一类改进的Boid模型近似描述鱼群聚集的第1阶段。当鱼群在系统中的位置和速度已经近似稳定时,我们使用粒子环绕模型近似描述鱼群聚集的第2阶段。
为直观、准确地描述上述过程,我们借由鱼群的感知区域假说 [12] 在二维体系内建立模型。这样考虑的主要原因是,描述二维空间中的运动更加直观,而且针对本模型,维数的扩展几乎不改变系统内粒子的运动性质。这一结论将在模型的仿真结果中被证明。
为保证模拟时不同的空间彼此等价,我们将鱼群的运动视为粒子簇在边界条件“一定”的二维平面范围的运动。这里的“一定”主要受以下2方面的限制:
(i) 被边界包围的系统中粒子(即鱼群)的数量保持不变。当有粒子从边界某处离开时,会有同样速度的粒子从对称或同一位置进入该区域;
(ii) 延展边界。当粒子存在于边界时,它会受到边界在延展后的相邻的粒子的作用。
2.1. 鱼群聚集的非稳态过程
在Boid模型中,粒子仅能观察到固定范围内的其他临近粒子,同时,为逼近现实中鸟类的运动规律,Boid模型必须满足三条具体的演化规则:
(i) 近心原则:粒子具有一定的感知范围,具体而言,是以自己为中心、以某一距离为半径的圆形(球形)区。在这一感知范围下,粒子将会靠近与其临近的群体所组成的中心位置,如图1(a)所示;
(ii) 对齐原则:粒子的运动方向与周围个体运动方向尽量保持相同。如果方向有所偏离,它会调整自己的方向以满足对齐原则,如图1(b)所示;
(iii) 避免碰撞原则:在群体中,粒子之间的距离太近时,至少有一方将会主动避让,以避免发生碰撞,如图1(c)所示。
注意,在图1中,我们人为地将感知区域划分成了3个部分,按覆盖聚集的从小到大依次被称为排斥区域、一致区域和吸引区域。Boid模型认为,对于一个确定的粒子而言,三个区域中的其他粒子对其造成的影响是不同的。在排斥区域,演化规则(iii)起决定性的作用,而在一致区域和吸引区域,则分别是演化规则(ii)和(i)起决定性作用。基于此,我们可以简单地描述Boid模型。
(a)
(b)
(c)
Figure 1. An example of evolution rules for the body model
图1. Boid模型的演化规则示例
在Boid模型中,假设群体中有N个粒子存在,它们被位置矢量
和速度矢量
所确定,并且空间内按一定速率v运动。我们关心的是粒子在时刻t+1时的运动方向,因此可以设
表示粒子在t时刻的运动方向,并规定
(1)
(2)
(3)
其中
且t>0,并规定
。公式(1)~(3)分别描述粒子受排斥区域、一致区域与吸引区域内其他粒子的不同影响而在运动方向方面作出的反应,因此容易理解,公式内参数
分别表示排斥区域、一致区域与吸引区域内其他粒子的数目。
现在需要考虑利用(1)~(3)具体模拟系统内每个粒子的运动方向变化。实际上,为自身安全考虑,粒子将优先受排斥区域的影响,随后再受余下2个区域的影响。当
时,粒子的实际运动被认为几乎完全受排斥区域的影响,因此若设实际运动方向为
,则成立
(4)
而当排斥区域内不存在其他粒子时,其实际的运动方向同时受一致区域及吸引区域内其他粒子的影响,因此Boid模型将其定义为对以上2种方向的算术平均矢和,即
(5)
一种最特殊的情况是,在某一粒子所能探测的所有区域内均不存在其他粒子,即这一粒子本身是孤立于群体而存在的。在这种情况下,Boid模型假设其将延续t时刻的运动方向继续运动。
可以看出,Boid模型没有考虑粒子的视野,也对速率的变化不敏感。然而,在模拟鱼群的运动状态时,如何描述这些因素却是模型的关键所在。因此,我们基于Boid模型提出一种考虑粒子视野域和可变速率的新模型,来更好地近似鱼群的运动状态。
2.1.1. 视野域
视野域 [12] [13] 的概念已经不是第一次被提及了,因此我们只需要简单介绍。
我们已经指出,粒子和鱼的概念是等价的。在我们的改进模型中,鱼的初始位置在运动空间内随机分布,且其初始运动方向在
内随机分布。在现实中,鱼不可能拥有360°的全景感知,因此Boid模型中定义的感知区域实际是不严谨的。我们假设鱼群中所有鱼的视角均为
,则个体的感知区域将受其视角的影响而仅仅局限于一个扇形区域,如图2所示。我们将这样有所“缺损”的感知区域成为视野域。

Figure 2. Perceptual region considering visual field
图2. 考虑视野域的感知区域
当然,只有在视野域内的排斥区域、一致区域或吸引区域中存在其他的鱼,才会对位于区域中心的鱼有所影响。基于这种考虑,我们将公式(1)~(5)中的粒子数目进行修改,只需统计视野域中的粒子数目即可。为避免混淆,参数
在下文中均表示这一含义,且认为鱼的感知区域就是它的视野域。
2.1.2. 鱼群速率的差异化
Boid模型假设粒子具有相同的速率,但这种假设在实际情况中并不常见,而且会干扰模型仿真的结果。这是因为,当鱼感知到其周围的鱼群大多在进行无序的运动时,它很可能无法做出确定的运动决策。这时,若将所有鱼的速率视为相等,则会增加群体聚集的时间,甚至使聚集状态无法达到。
为避免这种情况,我们假设鱼的速率可以随时变化,且不同鱼的速率也不尽相等。具体而言,当感知区域中鱼群运动的无序程度比较大时,区域内的鱼应该降低自己的速率,以观察整体运动的潜在趋势;否则,鱼应该以较快的速率进行运动,以尽快完成聚集。
为实现上述规则,我们引入
作为度量感知区域内鱼群运动的“有序程度”因子:
(6)
其中
是个体i的感知区域内的鱼的数量。由(6)式可知,
的取值在0~1之间,该值越大,则感知区域内鱼群运动的无序程度越低。特别,当
时,感知区域内的鱼群运动是完全有序的。当然,在(6)式中,将
替换为N,则可以同样度量系统内的“有序程度”。
假设鱼所能达到的最大速率为
,则其速率范围在
内变化。我们定义鱼的速率满足以下规则:
(i) 当
时,鱼的速率达到最大的
;
(ii) 当
时,鱼的速率降低为0。
然后,我们假设速率关系与有序程度之间满足非线性关系。经过仿真测试,指数函数是一类相对有效且简单的定义形式,即
(7)
其中,
为调整参数。当
时,模型即退化为Boid模型。
结合上述分析,改进的Boid模型综合考虑了鱼的视野域和速率的变化。
鱼在t+1时刻的速度和位置满足
(8)
(9)
其中
表示个体运动受到噪声影响的程度,是服从均匀分布的随机变量。联立(1)~(9)式,即可描述鱼群聚集时的非稳态过程。
2.2. 鱼群聚集的稳态过程
当鱼群聚集的过程趋于稳定时,我们将鱼群的运动抽象为粒子绕圆心持续进行的环绕运动。现在,我们利用牛顿运动定律,
(10)
(11)
不失一般性,设
,
代表动力,是粒子由周围环境影响和在群体中位置产生的固有力,一般可以设定为常量 [20];
代表阻尼力;
代表临近粒子对其产生的作用力。需要注意的是,根据2.1.1节的设定,在t时刻,对粒子i能够产生影响的粒子j应满足定义
(12)
最后考虑(11)式中关于
的设定。相互作用力可以分解为
(13)
其中
和
分别表示有关位置、速度的相互作用力,且
仍与(1)式的规定相同,
同理。现在,我们重点考虑(13)式中关于函数g和h的设定。当相对位移较大时,g为正值,否则为负值,表示作用力
的短程互斥和长程吸引。同理,h为正值时表示作用力
使i粒子的速度趋近于j粒子的速度,为负值时则表示速度的偏离。
由以上分析可知,g和h的内涵基本一致。这样,我们只需要求解出其中一种函数即可。在粒子模型中,不妨设平面内共计N个粒子,以半径r绕圆心O点作持续的匀速转动,角速度为w,粒子等间距为d。在运动过程中,i粒子跟随第i+1个粒子,且相邻粒子相差的圆心角为
,如图3所示。

Figure 3. An example of particle surround model for equilibrium process
图3. 平衡过程的粒子环绕模型示例
由图3可知,若设相邻粒子的连线方向与切线方向的夹角为
,与圆心连线的夹角为
,则
且
。因此,由三角函数关系可知,
(14)
由(11)式的运动过程可知
(15)
(16)
将相互作用力分解为与圆相切的力
和向心力
,如图4所示。我们假设粒子绕圆心进行的是匀速运动,因此在切线方向不存在加速度,即满足平衡方程
(17)
再考虑向心力
。根据向心力的定义,
(18)
其中
表示单位径向矢量。注意到
,代入(17)式得
(19)
再利用三角函数关系可知
(20)
(21)
将(17)~(19)式代入(20)~(21)式得
(22)
(23)
(24)
利用(22)~(23)式,解得
(25)
(26)
再将(14)式代入(26)式,即可解得最终关于g的函数表达式
(27)
这表明,当且仅当给定的g或h满足(27)式所定义的形式时,粒子的匀速环绕模型才可成立。
最终,(10)~(13)式与(25)~(27)式给出了粒子进行匀速环绕时的运动模型。它近似等价于鱼群在聚集时的稳态过程模型。
3. 模型仿真
我们对以上模型进行仿真,验证模型对现实世界建模的准确性。基于本文建立的鱼群运动模型,我们使用Matlab R2018a软件编写代码,进行仿真实验。
3.1. 二维情形
首先,我们在二维空间内对模型进行仿真。我们设置鱼群内的个体数量为N,在35*40的矩形空间内随机初始化个体的位置,在合理给定集聚距离d、鱼群密度、匀速前进的速率及其他初始参数后运行算法。在算法运行中,个体将根据t时刻下的状态自动更新t+1时刻的速度和位置。
根据以上过程,我们取得了鱼群位置更新的动态过程。我们截取了其中的3幅典型图片,对模型的效果进行说明,如图5(a)~(c)所示。其中,(a)为鱼群初始化后不久形成的位置图;(b)为鱼群在聚集过程中的位置图;(c)为鱼群在聚集完毕后保持稳定状态的位置图。请注意,图5中的坐标单位为“单位1”,因为模型对随机系统的量纲标度无要求。在此情况下我们不妨将单位标度省略。
(a)
(b)
(c)
Figure 5. Fish aggregation process in 2-Dspace
图5. 二维情形的鱼群聚集过程
从图5(a)~(c)可以看出,鱼群的运动状态随时间的变化基本符合自然界中的对应规律。初始化后,鱼群将先进行小范围的聚集、排斥和游走,整体呈现复杂而混乱的状态;在聚集一段时间后,鱼群将逐渐组成统一的团簇结构,但内部仍具有不可忽略的排斥或碰撞;在聚集的最后时刻,鱼群组成的团簇结构将近似趋于稳定,即在内部保持混乱程度达到历史最低、在外部保持运动状态相互协调。这说明我们提出的模型在模拟自然界鱼群的运动、聚集方面是可靠的。
3.2. 三维情形
为更加符合实际情况,同时说明我们的模型在3维情形下仍然适用,我们将本文所述的模型直接迁移至三维空间进行仿真。此时,我们设定空间大小为30*30*30,其余参数的初始设置不变,同样取得了鱼群位置更新的动态过程。类似地,我们截取了其中的3幅典型图片,如图6(a)~(c)所示。其中,图(a)为鱼群初始化后不久形成的位置图;图(b)为鱼群在聚集过程中的位置图;图(c)为鱼群在聚集完毕后保持稳定状态的位置图。图6中的标度单位为“单位1”,不妨将其省略,下同。
在三维空间中,我们可以很清楚地看出,3.1节取得的基本结论仍然成立。这说明,我们的模型在三维空间中仍然是有效的。因此,我们不必研究三维空间中的复杂模型(这将导致参数的增加和模型复杂度的提升),而可以依赖于二维空间中的简单模型对鱼群的真实行为进行准确刻画。
值得一提的是,我们要特别关注于鱼群在稳定聚集状态下形成的团簇结构,因为这是大多数类似的模型在仿真中难以达到的。实际上,以Boid模型为例,在其最终的仿真结果中,团簇通常是松散的多边形或多面体结构,而不是近似于球形的结构。如图7(a)所示,这是图6(c)中取得的球形团簇结构,其与图7(b)所示的真实鱼群结构基本一致。这进一步说明了我们的模型相比于Boid模型等更加接近于实际情况。
(a)
(b)
(c)
Figure 6. Fish aggregation process in 3-Dspace
图6. 三维情形的鱼群聚集过程
(a)
(b)
Figure 7. Cluster structure of fish school
图7. 鱼群形成的团簇结构
4. 结论与评价
我们利用Boid模型,在二维空间中建立了完整的鱼群聚集模型,并通过对模型的仿真分析证明了模型的有效性。而且,更进一步的仿真结果表明,我们的模型可以直接运行于三维空间中,这证明了我们的模型具有向更高维空间进行拓展的能力。
尽管我们使用的分析手段局限于牛顿运动定律和基本的力学分析,但这并不影响模型对实际情况的近似效果。换而言之,群体的聚集通常被认为是复杂性科学中的演化过程,在大多数情况下的研究依赖于随机性试验(例如Boid模型和蒙特卡洛方法),但我们通过研究证明了随机性的背后蕴藏着确定性的理论。
如上所述,我们的研究不仅仅局限于探索鱼群的聚集过程本身,而是希望以物理学的观点看待复杂性科学中的各类演化模型。尽管这一思想已经出现在了某些研究中,然而,这些相关研究还没有形成完整的体系。就像我们对Boid模型可以进行更多的改进和解释一样,我们的研究将进一步完善复杂性演化论的物理学观点。
最后,如果对上述模型进行更进一步的改进,可以考虑纳入对抗者或环境演化等诸多不确定因素。例如,鱼群通常会被其天敌捕食,因此可以在鱼群聚集的过程中加入天敌捕食的因素。这种更加复杂的模型可以推广至有不确定威胁因素的粒子群演化过程,现有的相关研究 [12] [20] [21] [22] 可以为我们提供更多的灵感。总之,我们的模型可以被继续用于更复杂的演化过程研究,并且在通常情况下它的模拟效果相比于传统模型更好。