集群动物运动的研究和模拟仿真摘 要在自然界里,我们经常能够看到某些动物的集群运动行为,比如鱼群的觅食、躲避危险,鸟群的迁徙等这些高度一致性的行为。
这些群体当中的个体的行为都是相对比较简单的,但是每个个体只需要遵循某种规则后,整个群体就涌现出高度的群体智能行为。
本文主要为了探讨其中的运动机理与规则建立了相应的模型。
对于模拟动物集群运动,我们先抛开具体的物种和运动形式,并把连续运动进行离散化,构造了某时刻群体的状态矩阵用来表示所有个体的位置和速度。
1112221113S(t)n n n n nn n x y v x y v x y v x y v ---⨯⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦, 通过建立个体的距离约束方程、速度约束方程、位置约束方程和状态转换条件进而求出任意时刻的群体状态矩阵。
根据状态矩阵就可得到群体的运动规律。
鲨鱼捕食鱼群,是一个无领导者的模型。
在模拟鲨鱼捕食一问中,经过对视频的分析,我们将问题归结为小鱼选择最佳的躲避速度(大小和方向),引用最优化思想建立目标函数(1)(1)min cos (1),(1)(1)()()i d i i P t D t v t v t P t D t ββ⎧⎫+-+⎪⎪<++>+-⎨⎬-⎪⎪⎩⎭从而确定躲避速度。
再根据鲨鱼和小鱼的初始状态以及速度确定了鲨鱼和鱼群的运动规律。
根据该规律进行Matlab 编程模拟,我们模拟出了“鲨鱼被包围”的情形。
在群体中含有信息丰富者情况下,可以将信息丰富者看做群体的领导者,建立了leader-follower 模型,根据条件:1Q wt t wa v v Q =∑= ,1N Q ii ia v v N Q-=∑=-,(1)wn wa ia v v v ωω=+- cos ,wa ia v v ω=<> 确定了leader 的运动,进而确定整个群体的运动。
最后我们通过编写相关的程序来仿真群体的运动,从而检验模型的正确性。
关键词:离散化 状态矩阵 最优化 leader-follower 模型1.问题重述在动物界,大量集结成群进行移动或者觅食的例子并不少见,这种现象在食草动物、鸟、鱼和昆虫中都存在。
这些动物群在运动过程中具有很明显的特征:群中的个体聚集性很强,运动方向、速度具有一致性。
通过数学模型来模拟动物群的集群运动行为以及探索动物群中的信息传递机制一直是仿生学领域的一项重要内容。
1. 建立数学模型模拟动物的集群运动。
2. 建立数学模型刻画鱼群躲避黑鳍礁鲨鱼的运动行为。
3. 假定动物群中有一部分个体是信息丰富者(如掌握食物源位置信息,掌握迁徙路线信息),请建模分析它们对于群运动行为的影响,解释群运动方向决策如何达成。
2.模型假设(1)假设每个个体的感知范围极限是相同的。
(2)部信息的强度与传播的距离成反比。
(3)在短时间内个体的运动是匀速直线的。
(4)每个个体接受到信息到做出相应的动作的时间是相等的。
(5)每个个体的最大移动速度是相等的。
(6)在时间不长t ∆内黑鳍礁鲨鱼的速度基本上是不变的。
3.符号说明及意义(,,)i i i i P x y v =——表示个体i ,其中i x 表示横坐标,i y 表示纵坐标,i v 表示速度k v ——表示个体i 感知范围内个体k 的速度minr ——表示个体之间能够容忍的最小距离 L R ——表示个体能够感知的极限距离x μ——表示x 方向的位置变动因子y μ——表示y 方向的位置变动因子maxδ——表示运动速度最大偏差因子v——表示个体的最大移动速度maxv——表示危险源的速度(比如黑鳍礁鲨鱼)dε——表示速度大小状态因子1ε——表示速度方向状态因子2v——个体t的自主速度wtv——表示核心群体下一步速度wnω——表示wav与ia v的方向相近程度4.问题分析及模型的建立4.1模型一的建立4.1.1问题分析动物的集群运动会因为不同的物种、种群和环境而存在不同点,但是从本质上集群运动是有共同点的。
不考虑具体的哪种动物和具体的集群运动,从整体上分析,动物的集群运动可以分为三种:(1)觅食运动(2)躲避捕食运动(3)随机运动(没有明确目的的集群运动)群中的每个个体在综合外部信息和内部信息后自己决定如何进行反应动作。
外部信息是让他们产生集群运动转变的因素,比如食物位置、捕食者出现和运动规律等;内部信息是群体中各个个体之间进行传递交流的信息,包含信息发出者的位置、运动状态、发出的声音、气味和特殊物质等。
在集群运动中,每个个体都遵循相同的动作反应规律。
因为个体的感知范围有限,为了保持群体运动的整体性,个体的运动还要遵循下三个约束条件:(1)与邻近的个体之间保持必要的距离。
距离太近影响个体的运动,距离太远导致个体容易脱离群体;(2)感知范围内的个体运动速度具有一致性。
(3)感知范围内的个体位置具有中心一致性。
4.1.2集群运动的离散化处理集群运动在时间和空间上是连续的。
为了简化描述集群运动,从时间的角度把该运动进行离散化,每一时刻,该群都有一种状态,把状态按照时间的顺序排列就可以近似描述集群的运动。
在每一时刻,群中的个体必然要满足上面的三个约束条件,所以我们也把上面两个条件成为状态条件,根据状态条件可以建立描述集群运动的状态方程。
我们首先只靠虑集群在二维平面的运动,在此我们定义了(,,)i i i i P x y v =这样一个变量来描述运动的个体,其中i x 表示个体i 的在世界坐标系中的横坐标,i y 表示个体i 在世界坐标系的纵坐标,i v 表示个体i 的运动的方向。
进一步简化问题,我们将运动的个体投影到地面就可以把个体看作是点的运动,为此我们模拟地面上点的运动进而可以推测出个体的运动。
个体投影到地面的表示如下图:现在讨论有n 个个体的集群的运动情况,于是我们建立了一个由n 个个体的t 时刻状态组成的状态矩阵S (t );1112221113S(t)n n n n nn n x y v x y v x y v x y v ---⨯⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ 矩阵中i v 表示i 个体的速度依据状态条件建立状态方程:距离条件 ()()1/222min i k i k L r d x x y y R ⎡⎤≤=-+-≤⎣⎦ 12m k =、、3位置中心一致性 11(1)(1)m k k i x m k k i y x x m y y m μμ==∑∑⎧⎪=±⎪⎨⎪⎪=±⎩ 12m k =、、3速度一致性 ()11mk k i v v m δ=∑=± max 0δδ≤≤其中min r 表示个体之间能够容忍的最小距离,L R 表示个体能够感知的极限距离,m 表示i 个体感知范围内相邻个体的数量,i v 表示i 个体运动速度,k v 表示个体k 的运动速度,x μ表示x 方向的位置变动因子,y μ表示y 方向的位置变动因子,max δ表示运动速度最大偏差因子。
t+1时刻的状态矩阵与t 时刻具有相同的形式,为此我们只需要知道i 个体的速度变化就可以求解t+1时刻的状态矩阵。
位置变换表达式:速度大小更新式:,1,(,)(,)i i t i i i t i i P x y P x y v t +=+∆(1)()i i i v t v t v +=±∆1max (())i i v v v t ε∆=- 1(0,1)ε∈加速取正(+)速度方向更新式:(1)()i i i t t θθθ+=±∆ 22i πθε∆= 2(0,1)ε∈逆时针改变方向取正(+) 上式中t ∆是t 时刻与t+1时刻的间隔时间,max v 表示个体的最大移动速度,i v ∆表示个体i 速度大小的变化值,i θ∆表示个体i 速度方向的变化值,1ε表示速度大小状态因子,2ε表示速度方向状态因子。
在随机运动过程的中,1ε、2ε都是(0,1)范围内的一个随机数;在觅食过程中个体的速度方向改变不大,主要是速度大小的改变,于是我们取10.6ε=、20.1ε=;在躲避危险的过程中速度大小、方向均有较大的改变,1ε、2ε的取值满足使其到达最安全的地方。
,我们发现不管外界的环境如何,某一状态下集群总是一个整体,所以我们根据这个规律建立任意一状态的方程,并推导出了t 状态和t+1状态之间的关系,依此就可以像滚雪球一样得到所有状态的矩阵,进而就可得到集群的运动情况。
模拟仿真结果如下(程序代码见附录程序一):初始位置分布情况 10个步长后的分布情况50个步长后的分布情况100个步长后的分布情况500个步长后的分布情况4.2模型二的建立4.2.1问题分析关于鱼群躲避黑鳍礁鲨鱼,从视频中可以看出:在水表面,鲨鱼进入鱼群时,最先感觉到捕食者迫近的小鱼(靠外层鲨鱼前方)向两边分散游开,速度很快;距离鲨鱼稍远的鱼则反应一般,只是跟随旁边一侧的鱼游动,速度一般;鲨鱼两侧的鱼在向鲨鱼的后方游去,速度一般;鲨鱼身后的鱼已经重新聚群,鲨鱼身后的空隙由前方游回来的鱼填充。
看起来是鲨鱼在鱼群里游动,鱼群采取分散向后转移的方式躲避鲨鱼的捕食,鲨鱼好像被鱼群包围。
如下图1:图1 鲨鱼被包围示意包围圈周围的鱼的运动是我们研究的主要内容。
为了研究这个运动,我们需要的条件有:(1)鲨鱼和鱼群中的小鱼耳的初始位置;(2)鲨鱼的运动包含速度大小和方向,;(3)小鱼的速度变化规律,包含大小和方向,这可以帮助确定小鱼某时刻的位置;(4)小鱼的感知和交流方式,这可以帮助我们确定小鱼如何根据捕食者的运动进行反应;鲨鱼和鱼群运动之间的影响关系如下图2图2 鲨鱼的运动和小鱼的运动之间的影响关系说明:(1)鲨鱼速度大小决定外部信息信号的强弱,而鲨鱼和小鱼的距离决定小鱼所接收到的信号的强度,小鱼根据接收到的信号强度决定躲避快慢;(2)鲨鱼的运动方向和鲨鱼与小鱼之间的位置关系共同决定了小鱼的躲避方向,即如“鲨鱼被包围示意图”中表示的小鱼向左或向右跑和前进的方向;(3)鲨鱼的位置由上一时刻的位置和速度决定,小鱼同理。
4.2.2模型建立根据上述说明我们建立平面直角坐标系xoy 来表示,图3 平面坐标系中鲨鱼和小鱼个体的运动关系问题最终归结为为小鱼找到一个合适的躲避速度,到达一个新的位置,使自己最为安全,满足以下两个条件(目标函数)即可:躲避方向 min cos (1),(1)d i v t v t <++>下一时刻位置 max (1)(1)i P t D t +-+这是双目标问题,为此我们采用加权系数化为单目标问题求解{}min cos (1),(1)(1)(1)(1)d i i v t v t P t D t ββ<++>+-+-+β为权重系数其中认为在短时间t ∆内,(1)()D D v t v t +≈在t ∆时间之后小鱼的位置 '11111(,)(,)P x y P x y V t →=+⋅∆鲨鱼的位置 '0(,)(,)D x y D x y V t →=+⋅∆小鱼的速度变为'1V →,鲨鱼的速度变为'0V →。