APP下载

基于Agent-based自组织算法的鱼群逃生模型

2018-12-06崔旭冉林涵轩刘云帆石朝宇

科技与创新 2018年22期
关键词:沙丁鱼游动鱼群

崔旭冉,林涵轩,刘云帆,石朝宇



基于Agent-based自组织算法的鱼群逃生模型

崔旭冉,林涵轩,刘云帆,石朝宇

(山东科技大学电气信息系,山东 济南 250000)

自然界生物以其特定的方式抵御伤害和袭击。硬骨鱼纲动物沙丁鱼以聚集成群、协作逃生的方式对抗捕食者的捕食和侵犯。基于Agent-based自组织算法建立关于鱼群逃生过程的数学模型,并加以改进。将逃生过程分为两部分进行模型的建立与求解。将鱼群遇到捕食者之前设为第一部分,使用Boids行为准则作为鱼群普通运动的规律要求,根据内聚、分散、对齐三大原则分别对沙丁鱼的运动规律进行约束,并使用Matlab仿真实现模型的可视化,从而证明鱼群普通运动状态近似成球形的推断。将鱼群突遇捕食者开始改变运动状态设为第二部分,使用基于Agent-baesd的自组织算法,定义每条沙丁鱼为一个AFishAgent,其行为模型为AFishBehModel[1]。在第一部分建立的普通运动规律模型的基础上和AFishAgent之间的局部连接准则,建立鱼群突遇捕食者时协作逃生运动模型。

Boids行为准则;Agent-based自组织算法;Matlab仿真;逃生模型

1 问题分析

在光线较暗的海洋环境中,沙丁鱼群在遇到捕食者捕食前后,其运动状态会发生显著变化。假设捕食者只能通过回声定位判断较远处鱼群的位置,第一部分将鱼群运动状态抽象成球形,并分析出鱼群的普通运动轨迹;第二部分以现有模型为基础,模拟鱼群在突遇袭击时整体的协作逃生规律,以实现对鱼群在遇捕食者前后的运动规律变化路线的近似模拟。

从捕食者使用回声定位时只能判断鱼群的整体位置,难以分辨个体为切入点,分析沙丁鱼群在没有受到外部威胁时的运动状态,将Boids行为准则作为鱼群在没有受到外部威胁时的运动准则,并给鱼群的各种变量赋予参数,建立出鱼群普通运动规律的模型。从捕食者接触鱼群时鱼群会改变运动状态,进行协同躲避为切入点,将沙丁鱼改变运动规律后捕食者不易在大鱼群中追踪一个目标为约束条件,建立沙丁鱼突遇捕食者时协作逃生的运动模型。

2 模型建立与求解

鱼群群体的相对同步游动是一种群体性行为,是基于每条鱼对周围环境的感知以及对其他邻近鱼的局部感知基础上的,所以在这个群体结构中并不存在一个集中控制者[2]。同时,尽管沙丁鱼群能够聚集构成一个群体,但鱼群结构中每个个体都可以相互影响相互协调,所以同样不存在维持整个群体协调有序的协调者。基于此,如果鱼群需要形成或保持一种特定的共同栖息活动的运动状态,则所有个体鱼必须遵循特定的行为原则[3]。Boids模型采用了3个主要行为原则,用以假设沙丁鱼群中每条鱼的运动形态:①内聚原则。目标沙丁鱼需要与邻近的其他沙丁鱼在一定范围内聚集在一起,即在一定范围内个体需要聚在一起,如图1所示,四面八方的沙丁鱼个体朝一个中心点汇集,成凝聚状。②分散原则。一定范围内,个体需要与周围临近的其他成员保持一定的距离,如图2所示,各沙丁鱼个体虽成凝聚状,但个体与个体间保持安全距离,避免发生碰撞,即避免与视野范围内个体的单位距离小于碰撞条件的排斥距离。③对齐原则。沙丁鱼个体的运动方向和速度需要与周围的其他沙丁鱼保持一致,即选择同一方向运动,不能出现相背而行或交叉运动的情况,具体如图3所示。

图1 内聚原则

图2 分散原则

图3 对齐原则

为探究捕食者捕食对沙丁鱼群造成的影响,需要对未发动攻击时沙丁鱼的运动状态建立模型,而此时沙丁鱼群的行为应与3个基本规则一致,满足内聚原则、分散原则、对齐原则,并且运动形状呈一个收敛的球形。此外,相对单一的沙丁鱼个体在没有集中控制的情况下,通过相互之间的影响与作用产生相对复杂的群体行为,当沙丁鱼群受刺激时,对外部条件的应激性导致沙丁鱼群脱离球形状态,但仍保持3个原则,运动方向和加速度有了一定改变,可以通过设定沙丁鱼群的方向和加速度来描述这种变化。

由于鱼群的对齐原则,沙丁鱼无论处于安全状态还是危险状态,都不会立刻返回游动,这将导致鱼群整体运动的混乱甚至崩溃[4]。因此沙丁鱼只能选择向前、上、下、左、右5个方向进行移动。在此可设定任意一条沙丁鱼的游动方向为,同时假定为任意游动方向的概率大小,所有值的和取值为1.即有=11+22+33+44+55(1+2+3+4+5=1),对数组(1,2,3,4,5)任意赋值后,则可以预测假定的任意一条沙丁鱼下一秒运动方向,由于沙丁鱼运动的对齐原则,因此可知沙丁鱼群的运动将随该条鱼的变化而变化。

确定需要遵循的3个原则后,即可对沙丁鱼的运动轨迹建立模型,以满足上述3个基本原则。

内聚原则:为模拟满足范围的沙丁鱼群在保持一定距离的情况下相互聚集的状态,可假定出如下公式:

为避免鱼群过度密集产生误差,在以1为半径的范围内设置收敛圆,此圆为任意一条鱼可以自由活动的最小半径,当在最接近1内出现其他单个沙丁鱼时将会对该沙丁鱼产生排斥作用[5]。因此给出相应公式:

通过排斥作用,可由距离得到反方向的变化过程。此时,设t为下一时刻的速度,为1内的相互排斥的其他沙丁鱼个数,为条鱼中的任意一条沙丁鱼。因此可将聚集的密度定义为2~3范围为沙丁鱼自由活动的最大距离,如果超过的距离则表示沙丁鱼之间相互吸引,吸引作用的公式为:

式(3)中:为2~3之内沙丁鱼的个数;为条沙丁鱼中的任意一条。利用沙丁鱼之间的吸引作用提高吸引方向上沙丁鱼的速度。

分散原则:为保证沙丁鱼在游动时不会相互碰撞干扰,在此给出小于安全距离时,可能出现在游动的沙丁鱼群中的其他单一沙丁鱼的角度公式为:

式(4)中:为在安全距离以内,附近沙丁鱼可能出现的任意角度;k为安全距离以内的沙丁鱼的角度;为安全距离以内沙丁鱼的数量。

通过Matlab编程实现结果的可视化分析,从而有效降低该情况出现的概率[6]。

对齐原则:为保证沙丁鱼各个体之间的一定自由空间,需要确保每两条沙丁鱼之间保持相对确定的距离。因此给出公式:

式(5)中:为总体的运动方向;i为附近每条沙丁鱼的运动方向;为附近的沙丁鱼总数。

沙丁鱼的运动公式为:

式(6)中:i为任意一条沙丁鱼在任意方向上的游动距离;0为该沙丁鱼在任一方向上(5个方向中的任意一个方向)的初始坐标;为沙丁鱼的速度,给定确定值为30 km/h。

通过使用Matlab进行建模后得到沙丁鱼群在正常情况下的运动规律结果,如图4所示。

图4 第一部分结果图

针对沙丁鱼突遇捕食者袭击时的情况,沙丁鱼群中的每条鱼可以看作是一个单独的agent,当某个agent发现捕食者时将发送消息给其他的agent,假设某一agent接收到邻近的危险信号,将分析捕食者的相对位置、方向以及自身的心理、生理从而做出最佳的逃生路线选择[7]。下面将这个逃生行为抽象并模拟,同时作出不同假设,假定时间内速度与位移的变化公式为:

式(7)中:沙丁鱼的质量=0.03 kg;沙丁鱼群的初始速度为=30 km/h;遇到捕食者的时间=5 s;沙丁鱼遇袭逃逸时的速度max=36 km/h;遇袭时为更换游动路线需要旋转的角度为;沙丁鱼在逃跑时需要克服相互排斥力的大小为;且速度随时间的变化为().

图5 第二部分结果图

3 模型的改进

至此,便可以利用时间与速度的关系求解下一时刻鱼的具体位置:

j=×+∆. (8)

式(8)中:j为下一时刻的位置;为时间段;∆为位置的改变量。

位置的改变量为:

式(9)中:为鱼群的总数量,为10 000条;为鱼的长度,为20 cm;i为附近鱼的具体位置;j是鱼的具体位置。

4 模型的评价与总结

本模型的建立是在Boids行为准则的基础上进行抽象分析和改进,构建出符合3个原则,同时可以应用于实际问题的数学模型,使问题更加简化,计算更加明确。同时综合运用与理论分析相结合,使得建立的模型更具有实用性,更易被推广[8]。

[1]班晓娟,宁淑荣,涂序彦.人工鱼群高级自组织行为研究[J].自动化学报,2008(10).

[2]李晓磊.组合应用问题中的人工鱼群算法运用[J].山东大学学报,2004,34(5):64-67.

[3]程代展,陈翰馥.从群聚到社会行为控制[J].科技导报(复杂性科学研究专题),2004(8):4-7.

[4]Okubo A.Diffusion and Ecological Problems:Mathematical Models[M].Heidelberg:Springer Verlag,1980.

[5]Breder C.M.Equations Descriptive of Fish Schools and Other Animal Aggregations[J].Ecology,1954,35(3):361-370.

[6]李建会.数字创世纪:人工生命的新科学[M].北京:科学出版社,2006.

[7]Reynolds CW.Flocks,Herds,and Schools:A Distributed Behavioral Mode[J].Computer Grephics,1987(21):25-33.

[8]姜启源.数学建模[M].第四版.北京:高等教育出版社,2011.

TP301.6

A

10.15913/j.cnki.kjycx.2018.22.058

崔旭冉(1998—),女,研究方向为信息管理与信息系统。林涵轩(1998—),男,研究方向为通信工程。

2095-6835(2018)22-0058-03

〔编辑:严丽琴〕

猜你喜欢

沙丁鱼游动鱼群
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
沙丁鱼
把手放进袋子里
轻视的代价
从燕麦片到沙丁鱼,这7种食物能让你更健康
金枪鱼
大鱼吃小鱼
鱼群漩涡
朱梦琪??《鱼群》
具功能反应食饵捕食模型动力学分析