《鱼群集群行为的的建模与仿真数模论文.doc》由会员分享,可在线阅读,更多相关《鱼群集群行为的的建模与仿真数模论文.doc(21页珍藏版)》请在金锄头文库上搜索。
1、鱼群集群行为的的建模与仿真鱼群集群行为的的建模与仿真摘要本文利用人工生命技术的特点,把每条鱼看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。然后采用自底向上的建模方法,根据鱼群游动的规律建立了一种基于群体中每个个体运动方程的数学模型, 并通过matlab算法设计各种运算, 从而完成整个鱼群游动的模拟。对于问题一,首先我们确定鱼群游动的三个规则:凝聚性(向心性),同向性,排斥性;然后根据这三个规则,建立了群体中每个个体的运动方程,最后通过matlab实现对鱼群集群运动的模拟。对于问题二,首先我们将刻画鱼群躲避黑鳍礁鲨鱼的运动行为一般化,将其作为刻画
2、鱼群躲避捕食者的运动行为来研究。然后我们将捕食者看成是鱼群中的特殊鱼(对所有其它鱼只有排斥力而没有吸引力,所有其它鱼对其只有吸引力而没有排斥力),然后再运用问题一所建立的模型进行模拟刻画。对于问题三,首先我们将鱼群中的鱼分为普通鱼与信息鱼(信息丰富者),并假设在运动过程中普通鱼会向信息鱼靠拢。然后通过问题一中的模型进行仿真,并研究了当信息鱼的比例为不同值时的情况,从而分析了信息鱼对于群运动行为的影响及解释群运动方向决策是如何达成的。关键词: 集群运动 人工生命 仿真 Matlab编程1 问题重述在生态系统中,动物个体的行为相对简单,集群后却能表现出复杂的群体行为。这些动物群在运动过程中具有很明
3、显的特征:群中的个体聚集性很强,运动方向、速度具有一致性。请查阅相关资料,思考动物集群运动的机理,建立数学模型刻画动物集群运动、躲避威胁等行为,例如,可以考虑以下问题的分析建模: (1) 建立数学模型模拟动物的集群运动。 (2) 建立数学模型刻画鱼群躲避黑鳍礁鲨鱼的运动行为。 (3) 假定动物群中有一部分个体是信息丰富者(如掌握食物源位置信息,掌握迁徙路线信息),请建模分析它们对于群运动行为的影响,解释群运动方向决策如何达成。2 模型的假设与符号的约定2.1模型的假设与说明 (1)所有的鱼生活在一个宽为width、长length的二维世界。 (2)把群体中每个个体看成是一个能够自主决策的Age
4、nt,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。 (3)将每个个体看成虚拟世界的一个点,而不考虑动物个体的大小以及形态。 (4)当捕食者出现在一个鱼所感知的范围内时,鱼就沿着自己与捕食者连线的反方向逃离。 (5)在运动过程中普通鱼会向信息鱼靠拢。 (6)当个体未受到外界干扰(投入食物或遇到天敌)时,速度的大小不变。2.2 符号的约定与说明Dt+1 .下个时刻Agent的运动方向;D1t.时刻t中该Agent的运动方向;D2t.时刻t当前个体到邻居平均位置的方向;D3t .邻居的平均运动方向;D4t.小于碰撞距离的邻居到当前个体方向的平均值;i(i=18).影响动物运动方向的各
5、个因素的权重;vxi(t).第i个个体t时刻x方向的运动速度;vyi(t).第i个个体t时刻y方向的运动速度;vi(t).第i个个体t时刻的运动速度;Di(t).第i个个体t时刻的运动方向;xi(t).t时刻第i个个体的x坐标;yi(t).ti时刻第i个个体的y坐标;n.,.动物群体的数量;a.动物个体的加速度;Revdist.个体间碰撞的最小距离;maxspeed.个体的最大速度;bouncespeed.反弹速度;v0.个体的初始速度;r.视觉范围半径;R.,感知范围半径(还有一些具体的参数变量在各模型中进行具体说明)3 问题分析3.1 总体分析 群体是由个体组合而成的,群体的运动是每个个体
6、运动的整体表现。根据人工生命专家的观点任何现象都是有其规律的, 可以利用个体的特性, 然后个体群集从而产生复杂的社会现象。因此模拟鱼群的群体运动可以采用自底向上的建模方法,对个体鱼进行建模,这些个体具有有限的感知能力以及遵循简单的行为规则,通过个体之间以及个体和环境之间相互作用,最终涌现出复杂的群体行为。 鱼群群体运动的仿真模型应由三部分组成: 环境、个体和行为规则。环境是个体的生存空间,个体在环境中活动,收集环境中的资源(如食物) ,个体的总和构成了研究的群体对象;群体的演化过程由其行为规则来控制,行为规则决定了个体与个体之间、个体与环境之间相互作用的方式。3.2 问题一 首先我们确定鱼群游
7、动的四个规则: 规则一:凝聚性(向心性):每个个体都有向邻居中心靠拢的特性,邻居中心为感知范围内各个体所在位置的平均值。(邻居为感知范围内的其他个体) 规则二:同向性:个体会和它的邻居朝同一个方向游动。 规则三:排斥性:当个体和它的邻居靠的太近时(距离小于碰撞距离) , 会自动避开。 然后根据这三个规则,建立了群体中每个个体的运动方程,最后通过matlab实现对鱼群集群运动的模拟。3.3 问题二 首先我们将刻画鱼群躲避黑鳍礁鲨鱼的运动行为一般化,将其作为刻画鱼群躲避捕食者的运动行为来研究。然后我们将捕食者看成是鱼群中的特殊鱼(对所有其它鱼只有排斥力而没有吸引力,所有其它鱼对其只有吸引力而没有排
8、斥力),然后在通过问题一所建立的模型进行模拟刻画。3.4 问题三首先我们将鱼群中的鱼分为普通鱼与信息鱼(信息丰富者),并假设在运动过程中普通鱼会向信息鱼靠拢。然后通过问题一中的模型进行仿真,并研究了当信息鱼的比例为不同值时的情况,从而分析了信息鱼对于群运动行为的影响及解释群运动方向决策是如何达成的。4 模型的建立与求解4.1 问题一4.1.1 环境的模拟 我们把具体的环境描述为一个宽为width、长length的二维世界(见图1) 。我们通过计算机仿真把现实中的鱼映射到虚拟环境中来,所有个体在该区域内游动、觅食。这个二维平面区域以及计算机时钟的运行共同构成了鱼群所处的虚拟环境。4.1.2 个体
9、的模拟把每条鱼看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。个体之间的交互是由其视觉范围的大小决定的。个体的视觉范围是半径为r、角度为300度的一个扇形。在真实的情况中鱼类视觉很有限,还需要其它的感知器官(主要是嗅觉)协同作用,所以我们还应定义一个觅食的感知范围,半径为R (R r)的圆面。个体具有以下属性:位置:个体位置由一组坐标( x, y) 表示。感知范围:个体所能感知的范围。个体的感知范围取决于所定义邻域半径R的大小,感知范围越大,表明该个体与环境和其它个体的作用越强。碰撞距离:个体之间的最短距离。当个体间的距离小于该值时,个体将朝着远
10、离的方向游动。初速度:仿真开始时,赋予每个个体的速度值,大小相等,方向不同。最大速度:为了使得仿真形象,规定的个体速度最大值。当个体速度大于最大速度时调整为最大速度 加速度:个体受到外界干扰(如出现捕食者或食物)时,对个体行为的改变,表现为速度的改变。反弹速度:个体到边界时反弹回来的速度。4.1.3规则描述每个鱼群个体都要遵守三条规则(尽量靠近邻居的中心,尽量与邻居的方向一致,尽量避免碰撞),这三条规则对改变鱼下一时刻游动方向起作用,动物个体的运动方向不可能立刻改变,还表现了某种惯性的作用。根据这四个方向的平均方向作为动物个体下一时刻运动的方向。我们将动物运动的方向用与x轴正方向的夹角来描述,
11、因此仅仅需要对这四个方向与x轴正方向的夹角进行平均,即为下一时刻该动物个体的运动方向。用公式表示为:, 其中为下个时刻Agent的运动方向, 为t时刻中该Agent的运动方向, 为t时刻当前个体到邻居平均位置的方向, 为邻居的平均方向, 为小于碰撞距离的邻居到当前个体方向的平均值(见图2)。 图2鱼的游动方向考虑到各规则对动物个体的影响力不同,我们还需要对各个方向加权,取加权平均值, 权重的大小可以根据偏好确定。即: 其中 。(1)靠近规则的实现 每个个体都有向邻居中心靠拢的特性,邻居中心为观察范围内各个体所在位置的平均值。公式表示为: , 为邻居的平均值, 为当前个体的位置, 为当前各个邻居的位置) , D2t 为当前个体到的方向(见图3 ( a) ) 。(2)对齐规则的实现 个体会和它的邻居朝同一个方向游动。公式表示为:为各个邻居的方向, N 为邻居的个数, D3 t 为邻居的平均方向(见图3 ( b) ) 。(3)避免碰撞规则的实现当个体和它的邻居靠的太近时(距离小于碰撞距离)