2022年动物集群运动行为模型- .pdf
1 动物集群运动行为模型摘要通过观看大量集结成群进行移动或者觅食的动物行为视频和探究动物集群运动的机理, 我们建立了鱼群模型模拟动物的集群运动,建立微分方程模型研究鱼群躲避黑鳍礁鲨鱼的运动行为,建立/AR模型分析动物群中有一部分信息丰富者对于群运动行为的影响,并且解释群运动方向决策如何形成。针对问题一,通过个体与个体之间以及个体与环境之间的相互作用来推导模拟整个鱼群的运动。个体鱼具有一定的感知能力以及遵循下列三个行为规则:(1)避免与相邻的鱼发生碰撞冲突;(2)尽量与自己周围的鱼在运动方向上保持协调和一致;( 3)向鱼自己周围的邻居的位置中心运动。建立出112341234tttttDDDDD从而通过 matlab 编程得出模拟动物的集群行为图。(见图1.1 )针对问题二, 通过对鱼群轨迹和鲨鱼轨迹的分析,在鲨鱼追踪鱼群的任何时刻都要朝向鱼群的运动, 我们建立微分方程模型来模拟鲨鱼的追踪和鱼群的躲避的运动过程。鱼群的位置121, +11,12PPjjikv tik鲨鱼的位置2,1,2,12,2,1,PPjjjjjjPPVtPP从而得出鲨鱼的追踪和鱼群躲避图(见图2.1 )针对问题三, 假设鱼群中有一部分领导者, 它们掌握着丰富信息, 根据掌握信息的多少, 我们将之分为领导者和次领导者。通过建立 A/R 模型分析发现, 次领导者的个数 , 和预测步长(领导者和次领导者间的距离)是影响集群信息传递的两大因素。 领导者将重要信息传递给次领导者,次领导者然后传递给鱼群中的跟随者。领导者和各个次领导者间的距离不宜过大,同时次领导者数量应维持在一定数目,过多的次领导者反而影响信息传递,成为多余。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 22 页 - - - - - - - - - 2 关键词 :鱼群模型集群运动/AR模型微分方程模型目录一、问题重述5 1.1 问题背景5 1.2 问题提出5 二、模型假设5 三、符号说明5 四、问题分析6 五、模型的建立与求解7 5.1 问题一7 5.1.1 鱼群模型的建立7 5.1.2 鱼群模型的求解8 5.2 问题二11 5.2.1 微分方程模型的建立11 5.2.2 微分方程模型的求解12 5.3 问题三13 5.3.1/AR模型的建立13 5.3.2/AR模型的求解14 六、模型的评价与推广19 6.1 模型的优缺点19 6.2 模型的推广19 参考文献21 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 22 页 - - - - - - - - - 3 附录22 一、问题重述1.1 问题背景在动物界,大量集结成群进行移动或者觅食的例子并不少见,这种现象在食草动物、鸟、鱼和昆虫中都存在。这些动物群在运动过程中具有很明显的特征:群中的个体聚集性很强, 运动方向、 速度具有一致性。 通过数学模型来模拟动物群的集群运动行为以及探索动物群中的信息传递机制一直是仿生学领域的一项重要内容。1.2 问题提出通过观察附件中给出的图片和视频资料和在网上搜索相关资料观察,思考动物集群运动的机理, 需要建立数学模型刻画动物集群运动、躲避威胁等行为; 从而明确了我们需要建立数学模型解决以下问题: (1) 建立数学模型模拟动物的集群运动, 即建立集群运动的正常运动的模型。(2) 建立数学模型刻画鱼群躲避黑鳍礁鲨鱼的运动行为,即建立鱼群应激反应的模型。(3) 假定动物群中有一部分个体是信息丰富者,建立数学模型分析它们对于集群运动行为的影响,并解释集群运动方向决策如何达成的。二、模型假设1. 集群中的每个个体都有形同的特性且健康正常。2. 每个个体都有向邻居中心靠拢的特性。3. 每个个体会和它的邻居朝同一个方向游动。4. 当个体和它的邻居靠的太近时(距离小于碰撞距离 )都自动避开。5. 鲨鱼追踪鱼群的任意时刻 , 鲨鱼始终朝向鱼群运动。6. 集群的领导者是信息丰富的个体。7. 模型开始运行时,环境中任意分布一定数量的个体, 每个个体具有自己的状态属性。三、符号说明1tD周期t 中个体的游动方向2tD周期t 个体到邻居平均位置的方向3tD个体的邻居的平均方向 ,4tD小于碰撞距离的邻居到当前个体方向的平均值Di个体各个邻居的方向iP个体各个邻居的位置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 22 页 - - - - - - - - - 4 ijd个体i和j的物理距离ptx次领导者的位置状态itx跟随者的位置状态PH次领导者的预测步数plN次领导者的个数pJ有预测机制的有领导者集群的群体性能指标vJ无预测机制的有领导者集群的群体性能指标1, jP鱼群在第j时刻的位置2, jP鲨鱼在第j时刻的位置R鲨鱼的感知范围r鱼群的感知范围1惯性系数2应激系数d鲨鱼与鱼群的距离四、问题分析针对问题一, 以鱼群为研究对象, 采用鱼群集群运动模型, 先从个体鱼出发研究其运动的一般特点, 再通过个体与个体之间以及个体与环境之间的相互作用推导来模拟整个鱼群的运动。 个体鱼具有一定的感知能力以及遵循下列三个行为规则:(1)避免与相邻的鱼发生碰撞冲突。(2)尽量与自己周围的鱼在运动方向上保持协调和一致。(3)尽量试图向自己所认为的群体中靠近。针对问题二, 通过对鱼群轨迹和鲨鱼轨迹的分析,在鲨鱼追踪鱼群的任何时刻都要朝向鱼群的运动, 当鲨鱼运动轨迹和鱼群运动轨迹相交时,即鲨鱼捕食成功。要求二者运动轨迹,建立微分方程模型,根据给定的条件,对该模型求解,运用 MATLAB 软件求出解。针对问题三,动物群中有一部分个体是信息丰富者, 因此把经验丰富的个体名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 22 页 - - - - - - - - - 5 视为领导者,把经验较为丰富的个体视为次领导者,其他的个体视为跟随者。为了更清楚的说明集群同步预测机制的优势, 我们将对加入预测机制的有领者集群进行统计仿真同时分析和比较无预测机制的有领导者集群和有预测机制的有领导者集群的群体性能指标vJ和pJ。五、模型的建立与求解5.1 问题一5.1.1 鱼群模型的建立每个个体鱼运动要遵循以下三个行为规则:避免碰撞指向邻居中心邻居方向个体的游动方向图 1.1 鱼游动方向(1)每个个体鱼有向邻居中心靠近:邻居中心为在观察范围内每个个体鱼所位置的平均值:iPiNNP020arctantyyxxDP x y( , ) 为邻居平均值,000(,)P xy为当前位置,iP为当前各个邻居的位置,2tD为当前个体到 P的方向。(2)与邻近鱼保持方向上一致:Di为各个邻居的方向 , N 为邻居的个数 , 3Dt为邻居的平均方向。(3)避免与相邻的鱼发生碰撞:040arctanitiyyMiMxxD3itDiNND名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 22 页 - - - - - - - - - 6 4Dt为小于碰撞距离的邻居到当前个体方向的平均值,M 为邻居中小于碰撞距离的邻居个数。另外鱼在运动的过程中, 要想改变方向, 还需考虑在前一时刻运动方向上的惯性作用。 综合考虑四个因素的影响, 且每个因素影响的程度不一样,设各个影响因素的权重为1、2、3、4。112341234tttttDDDDD且12341。5.1.2 鱼群模型的求解鱼游动方向的确定:112341234tttttDDDDD需要对1、2、3、4的大小进行在 matlab 程序调试中改进,从而得出了模拟动物的集群行为图。 (程序见附录 1)图 1.1 动物的集群行为图(5张)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 22 页 - - - - - - - - - 7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 22 页 - - - - - - - - - 8 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 22 页 - - - - - - - - - 9 5.2 问题二5.2.1 微分方程模型的建立模型模拟是鲨鱼追踪鱼群的过程。鲨鱼以速度 V向鱼群追来, 鲨鱼始终以朝向鱼群的方向运动,即沿着鲨鱼与鱼群的连线方向,其运动的单位方向向量为:2,1,2,1,PPjjjjPkP然而鱼群当感知到鲨鱼的追踪时,也会调节其运动方向, 但鱼群的运动方向要受到多方面徳影响:鱼群本身的运动方向、鲨鱼的追踪方向、水流的方向、以及其他因素造成徳影响。在这里我们主要考虑两方面的影响:(1)鱼群自身的运动方向,其方向向量的初值为:1,1,11,1,1PPPPjjjji(2)鲨鱼的追踪方向,其方向向量即为k。考虑到这两方面因素对鱼群运动徳影响重要性不一样, 我们对这两个因素设置权重系数:惯性系数1,应激系数2。则鱼群运动方向单位向量为:1212ikcik名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 22 页 - - - - - - - - - 10 运动时间 T 离散化: 由于鱼群与鲨鱼的运动是随着时间随时发生变化的,因此我们将他们运动的时间离散化。即将时间 t 等分为为 n 份,其中一份时间长度定为t。运动规律分析:表示鱼群在第j时刻的位置,2,2,2,(,)jjjPxy表示鲨鱼在第j时刻的位置;则在+1j时刻鱼群的位置向量坐标表示为:121, +11,12PPjjikv tik+1j时刻鲨鱼的位置向量坐标表示为2,1,2,12,2,1,PPjjjjjjPPV tPP5.2.2 微分方程模型的求解 (程序见附录 2)在前面问题的分析中, 我们给鱼群的运动方向设置两个影响的参数:惯性参数1和应激参数2。二者满足:121我们在研究其运动时考虑鱼群运动主要是运动方向的两方面参数:初始运动方向以及两个参数1、2。在研究他们作用时,我们分别取不同的值来观察鲨鱼的追踪效果图,如下图所示:图 2.1 鲨鱼的追踪和鱼群躲避效果图122,0,0.8,0.2r;122,0,0.5,0.5r名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 22 页 - - - - - - - - - 11 122,0,0.2,0.8r;1252,0.2,0.86r(1) 由图知当鱼群受到鲨鱼攻击时,惯性系数1基本不发生作用,起决定性作用的是应激系数2。(2) 由后两个图可知,当鱼群受到攻击时,不论其初始时刻运动方向如何,当鱼群发现受攻击时会逐渐沿着追击方向远离。5.3 问题三5.3.1/AR模型的建立为了更清楚的说明集群同步预测机制的优势, 我们将对加入预测机制的有领者集群进行统计仿真同时分析和比较无预测机制的有领导者集群和有预测机制的有领导者集群的群体性能指标vJ和pJ。首先,我们引入 A/R模型对有领导者集群进行仿真,我们用L表示领导者, P表示次领导者, F表示跟随者。其中 A/R函数为expijijijdg ddabc, ,a b c 为三个自由常量,ijd 表示个体i和j的物理距离。则次领导者的位置状态ptx由如下方程确定:,pjPppLpjjLrtgtgtdxddH式中PpLgtdH代表了次领导者与领导者的长边,,pjpjjLrgtdd表示周围邻居对次领导者的作用。跟随者的位置状态itx由如下方程确定:,ijijjtrgtdd名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 22 页 - - - - - - - - - 12 PpLtdH是此领导者与领导者未来PH步时位置之间的距离。5.3.2/AR模型的求解我们考虑一个有 M=50 个节点的网络,PH表示次领导者的预测步数,PH=10,p-leader 表示次领导者,plN表示次领导者个数,2plN,A/R 函数参数为a =1, b = 2.2 , c = 0.2 。 领导者的轨迹函数yx , 领导者的速度0.02xkv,0.0210.02xkkky,k表示采样时间。其中 表示领导者,表示次领导者, 表示跟随者,蓝线为领导者的轨迹。图 3.3 有领导者集群的初始状态在经过 65步后。当0PH时,未加入预测机制的集群的运动状态如图3.4所示,可以看出群体的个体形成一个环,由于次领导者无法预测领导者未来的状态,群体的个体慢慢地掉队,偏离领导者轨迹。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 22 页 - - - - - - - - - 13 图3.4 无预测机制的集群的稳定状态另一方面我们对有预测机制的集群进行仿真, 图3.5 为 Hp=10时有预测机制的群体经过 65 步后的运动状态可以看出群体的个体形成一个环,由于两个次领导者的加入群体的个体能更紧密地跟随领导者,提高了群体的同步性和群体的整体稳定性。图3.5 有预测机制的集群的稳定状态(Hp=10)图3.6 为有过多预测步数的群体经过65 步后的运动状态,其中Hp=70。可以看到次领导者预测过多的领导者步数后群体的同步性并没有得到提高反而变差。这是因为如果次领导者预测领导者未来步数太多,次领导者会以一个相当快的速度脱离群体,最终失去了对跟随者的影响作用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 22 页 - - - - - - - - - 14 图3.6 有预测机制的集群的稳定状态(Hp=70)接着我们对无预测机制的集群和有预测机制的集群的群体性能指标之一速度J进行仿真并比较结果。11NvileaderiJvvNv其中iv 为每个个体的速度 , i=1,.,N 。每个个体速度的大小不变始终为iv ,leaderv为领导者速度vJ 代表着群体中个体的相对速度,vJ 越小,群体间相对速度越小。当0vJ时群体间相对速度为 0则群体编队性越好。 首先,我们观察对于不同的预测步数pH 时的vJ变化。从图 3.7 我们可以看出随着pH 的增大vJ 能达到的最小值越小,同时我们发现在固定的预测步数pH 条件下plN和vJ 的关系,随着plN 增大vJ 先减小在达到一个最小值后缓慢上升, 最后趋于稳定。并不是次领导者越多越好, 而是有最优次领导者个数。 这也意味着加入一些次领导者能将一个强局限化的网络拓扑结构变成一个小世界网络拓扑结构,从而很大程度上提高群体性能。 然而当次领导者个数达到最优次领导者个数后,群体编队特性开始变差过多的次领导者变的多余。之后,我们对在不同的预测步数pH 下vJ 进行仿真。 从图3.8 中可以看出, 随着plN的增大vJ 能达到的最小值越小。 同时我们发现在固定的次领导者个数plN条件下pH 和vJ 的关系,随着pH 增大vJ先减小在达到一个最小值后缓慢上升,最后趋于稳定。 换句话说, 在次领导者个数一定的情况下, 并不是预测范围越大越好, 而是有最优预测范围。 这也意味着适当的预测能力能显著提高群体编队性能。但是对于未来的过多预测会降低群体名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 22 页 - - - - - - - - - 15 编队特性。图3 . 7 不同的预测步数pH时plN与vJ的关系图3 . 8 不同次领导者个数pH下plN与vJ的关系同时, 我们也对无预测机制的集群和有预测机制的集群的群体性能指标之一位置误差指数pJ 分析其仿真结果。N11pileaderiJxxN其中ix 为每个个体的当前位置,1.iN。leaderx为领导者的当前位置。pJ 代表着群体中个体的相对位置,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 22 页 - - - - - - - - - 16 pJ 越小,群体间相对位置越小,则群体聚集性能越好。如图3.9 所示,随着pH的增大pJ 值越小,同时在固定的预测步数pH 下plN 与pJ 成反比。也就是说,在预测范围一定的情况下, 次领导者越多pJ 值越小,群体的跟随性和收敛性越好。同时我们研究了pH 与pJ 的关系。从图3.10 可知在固定的次领导者个数plN条件下pH 和pJ 的关系,随着pH 增大pJ 先减小,在达到一个最小值后缓慢上升,最后趋于稳定。 这也说明了适当的预测能力能显著提高群体聚集特性。但是对于未来的过多预测会降低群体聚集特性。图 3 . 9 不同的预测步数pH时plN与pJ的关系名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 22 页 - - - - - - - - - 17 图3 . 1 0 不同次领导者个数plN下pH与pJ的关系图3.7 与图3.9 最大的区别是后者是单调的且没有最小值。换句话说plN的增加始终改善PJ。一个特殊的例子解释了这种现象, 如果所有的跟随者都作为次领导者 , 则他们会聚集在领导者周围。然而, 当plN超过某个值后 ,PJ改进作用非常慢 , 几乎没有实质的改善。因此适当的对未来的预测及适中的次领导者个数能起到改善群体的最好效果。通过以上仿真结果及数据分析我们可以看出预测机制对有领导者集群同步性,( 包括速度同步和位置同步 ) 、粘连特性和群体的整体稳定性的改善。同时长边的个数 , 即次领导者的个数 , 和预测步长是影响集群预测能力的两大因素。长边的个数与预测步长之间存在博弈关系。当长边个数不够时, 可以增加预测步长来补偿。当网络预测能力不够时, 可以增加长边个数来补偿六、模型的评价与推广6.1 模型的优缺点(1)采用鱼群模型拟合鱼群的运动较为简单易行,解决过程清晰,通过Matlab 编程模拟出来的动态效果较好。(2)问题二中影响鱼群逃避鲨鱼的方向的因素考虑的可能不够完善。(3)三个问题采用的都是单一模型求解的,单一模型得到的结果可能存在较大误差,结果无法比较。6.2 模型的推广名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 22 页 - - - - - - - - - 18 鱼群模型对于智能系统, 如多机器人系统、 多无人飞行等实际系统工程具有一定的推广价值,例如可用于无人机群作战控制以及逃避导弹的追踪等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 22 页 - - - - - - - - - 19 参考文献1 赵静 但琦, 数学建模与数学实验 ,北京:高等教育出版社,2006。2 郑阿奇 曹弋, matlab 实用教程,北京:电子工业出版社,2012。3 陈超, matlab 应用实例精讲,北京:电子工业出版社,2010。4 李小雪 , 生命集群动态行为的预测机制研究:23-28 ,2008。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 22 页 - - - - - - - - - 20 附录附录 1 function boid1(n,eta)%generates boids in a fieldrange = 0.2;speed =0.03;TIME = 500;density = 0.5;RUNS = 1;fieldsize = sqrt(n/density);pos = fieldsize*rand(n,2);heading = 2*pi*rand(n,1);relposX = zeros(n);relposY = zeros(n);neighbours = zeros(n);RelHead = zeros(n,1);B = zeros(n,1);newHeading = zeros(n,1);newPos = zeros(n,2);meanHeading = zeros(TIME,1);deviationMean = zeros(n,TIME);for run=1:RUNSfor time=1:TIMEfor i=1:nfor j=1:nrelposX(i,j) = abs(pos(i,1) - pos(j,1);relposY(i,j) = abs(pos(i,2) - pos(j,2);if(sqrt(relposX(i,j)2 + relposY(i,j)2) = range)neighbours(i,j)=1;endendendfor i=1:nfor j=1:nif(neighbours(i,j)=1)relheading(i,j) = heading(j,1)-heading(i,1);endendendRelHead = sum(relheading,2);for i=1:nwhile RelHead(i,1) piRelHead(i,1) = RelHead(i,1) - pi;endendnoise = (rand(n,1)*eta) -eta/2;newHeading(:,1) = heading(:,1) + RelHead(:,1)./sum(neighbours,2) + noise(:,1);newPos(:,1) = pos(:,1) + cos(newHeading(:,1)*speed;newPos(:,2) = pos(:,2) + sin(newHeading(:,1)*speed;for k=1:nwhile newPos(k,1) = fieldsizenewPos(k,1) = newPos(k,1) - fieldsize;endwhile newPos(k,2) = fieldsizenewPos(k,2) = newPos(k,2) - fieldsize;endendheading = newHeading;pos = newPos;meanHeading(time,1) = mean(heading,1);deviationMean(time,1) = mean(abs(meanHeading(time,1)-heading(:,1);scatter(pos(:,1),pos(:,2), xr); legend( ? )axis(0 fieldsize 0 fieldsize); xlabel(time );M(time) = getframe;endrunDev(:,run) = deviationMean(:,1);end%plot(runDev)movie2avi(M,boidtest.avi, quality,100); 附录 2 function fish2(r,theta,k)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 22 页 - - - - - - - - - 22 dt=0.1;v1=1;v2=1.4;pos=0 r; 0 0;for j=1:20 newpos(j,:)=pos(1,:); vel2=pos(1,:)-pos(2,:); ve2=norm(vel2); vel2=vel2./ve2; pos(2,:)=pos(2,:)+dt*v2*vel2;if j=1 vel0=cos(theta),sin(theta);else j=1 vel0=pos(1,:)-newpos(j-1,:); ve0=norm(vel0); vel0=vel0./ve0;end vel1=vel2.*k+vel0.*(1-k); ve1=norm(vel1); vel1=vel1./ve1; pos(1,:)=pos(1,:)+dt*v1*vel1; plot(pos(1,1),pos(1,2),gp,pos(2,1),pos(2,2),rh); hold on ; axis equal pause(0.5*1e0);end hold off名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 22 页 - - - - - - - - -