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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科技与创新┃Science and Technology&Innovation ·58·2018年
第22期
文章编号:2095-6835(2018)22-0058-03
基于Agent-based自组织算法的鱼群逃生模型
崔旭冉,林涵轩,刘云帆,石朝宇
(山东科技大学电气信息系,山东济南250000)
摘要:自然界生物以其特定的方式抵御伤害和袭击。

硬骨鱼纲动物沙丁鱼以聚集成群、协作逃生的方式对抗捕食者的捕食和侵犯。

基于Agent-based自组织算法建立关于鱼群逃生过程的数学模型,并加以改进。

将逃生过程分为两部分进行模型的建立与求解。

将鱼群遇到捕食者之前设为第一部分,使用Boids行为准则作为鱼群普通运动的规律要求,根据内聚、分散、对齐三大原则分别对沙丁鱼的运动规律进行约束,并使用Matlab仿真实现模型的可视化,从而证明鱼群普通运动状态近似成球形的推断。

将鱼群突遇捕食者开始改变运动状态设为第二部分,使用基于Agent-baesd的自组织算法,定义每条沙丁鱼为一个AFishAgent,其行为模型为AFishBehModel[1]。

在第一部分建立的普通运动规律模型的基础上和AFishAgent之间的局部连接准则,建立鱼群突遇捕食者时协作逃生运动模型。

关键词:Boids行为准则;Agent-based自组织算法;Matlab仿真;逃生模型
中图分类号:TP301.6文献标识码:A DOI:10.15913/ki.kjycx.2018.22.058
1问题分析
在光线较暗的海洋环境中,沙丁鱼群在遇到捕食者捕食前后,其运动状态会发生显著变化。

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

从捕食者使用回声定位时只能判断鱼群的整体位置,难以分辨个体为切入点,分析沙丁鱼群在没有受到外部威胁时的运动状态,将Boids行为准则作为鱼群在没有受到外部威胁时的运动准则,并给鱼群的各种变量赋予参数,建立出鱼群普通运动规律的模型。

从捕食者接触鱼群时鱼群会改变运动状态,进行协同躲避为切入点,将沙丁鱼改变运动规律后捕食者不易在大鱼群中追踪一个目标为约束条件,建立沙丁鱼突遇捕食者时协作逃生的运动模型。

2模型建立与求解
鱼群群体的相对同步游动是一种群体性行为,是基于每条鱼对周围环境的感知以及对其他邻近鱼的局部感知基础上的,所以在这个群体结构中并不存在一个集中控制者[2]。

同时,尽管沙丁鱼群能够聚集构成一个群体,但鱼群结构中每个个体都可以相互影响相互协调,所以同样不存在维持整个群体协调有序的协调者。

基于此,如果鱼群需要形成或保持一种特定的共同栖息活动的运动状态,则所有个体鱼必须遵循特定的行为原则[3]。

Boids模型采用了3个主要行为原则,用以假设沙丁鱼群中每条鱼的运动形态:①内聚原则。

目标沙丁鱼需要与邻近的其他沙丁鱼在一定范围内聚集在一起,即在一定范围内个体需要聚在一起,如图1所示,四面八方的沙丁鱼个体朝一个中心点汇集,成凝聚状。

②分散原则。

一定范围内,个体需要与周围临近的其他成员保持一定的距离,如图2所示,各沙丁鱼个体虽成凝聚状,但个体与个体间保持安全距离,避免发生碰撞,即避免与视野范围内个体的单位距离小于碰撞条件的排斥距离。

③对齐原则。

沙丁鱼个体的运动方向和速度需要与周围的其他沙丁鱼保持一致,即选择同一方向运动,不能出现相背而行或交叉运动的情况,具体如图3所示。

图1内聚原则图2分散原则图3对齐原则. All Rights Reserved.
Science and Technology &Innovation ┃科技与创新
2018年第22期
·59·
为探究捕食者捕食对沙丁鱼群造成的影响,需要对未发动攻击时沙丁鱼的运动状态建立模型,而此时沙丁鱼群的行为应与3个基本规则一致,满足内聚原则、分散原则、对齐原则,并且运动形状呈一个收敛的球形。

此外,相对单一的沙丁鱼个体在没有集中控制的情况下,通过相互之间的影响与作用产生相对复杂的群体行为,当沙丁鱼群受刺激时,对外部条件的应激性导致沙丁鱼群脱离球形状态,但仍保持3个原则,运动方向和加速度有了一定改变,可以通过设定沙丁鱼群的方向和加速度来描述这种变化。

由于鱼群的对齐原则,沙丁鱼无论处于安全状态还是危险状态,都不会立刻返回游动,这将导致鱼群整体运动的混乱甚至崩溃[4]。

因此沙丁鱼只能选择向前、上、下、左、右5个方向进行移动。

在此可设定任意一条沙丁鱼的游动方向为y ,同时假定k 为任意游动方向的概率大小,所有k 值的和取值为1.即有y =k 1x 1+k 2x 2+k 3x 3+k 4x 4+k 5x 5(k 1+k 2+k 3+k 4+k 5=1),对数组(k 1,k 2,k 3,k 4,k 5)任意赋值后,则可以预测假定的任意一条沙丁鱼下一秒运动方向,由于沙丁鱼运动的对齐原则,因此可知沙丁鱼群的运动将随该条鱼的变化而变化。

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

内聚原则:为模拟满足范围的沙丁鱼群在保持一定距离的情况下相互聚集的状态,可假定出如下公式:
.
N i N
s s )
(≤=
∑i
(1).x x y y 0
i 0
i i arctan
--=θ(2)
式(1)(2)中:s 为当前沙丁鱼群的中心位置值,即沙丁鱼群以该点为核心进行分布;s i 为临近的中心位置s 的其他沙丁鱼;N 为以中心位置为核心分散在其附近的沙丁鱼总数;θi 为附近的任意一条沙丁鱼距离中心位置的角度;确定角度后,(x i ,y i )为附近的任意一条沙丁鱼的坐标,而(x 0,y 0)则为中心位置的坐标。

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

因此给出相应公式:
.
y y x x y y x x v m
j ∑
=-+--+--
=1
0i 0i 0i 0i t )()()
()(通过排斥作用,可由距离得到反方向的变化过程。

此时,设v t 为下一时刻的速度,m 为r 1内的相互排斥的其他沙丁鱼个数,j 为m 条鱼中的任意一条沙丁鱼。

因此可将聚集的密度定义为r 2~r 3范围为沙丁鱼自由活动的最大距离,如
果超过r2的距离则表示沙丁鱼之间相互吸引,吸引作用的公式为:
.
y y x x y y x x v n
a ∑=-+--+-=
1
i
i
0i 0i t )()()
()((3)
式(3)中:n 为r 2~r 3之内沙丁鱼的个数;a 为n 条沙丁鱼中的任意一条。

利用沙丁鱼之间的吸引作用提高吸引方向上沙丁鱼的速度。

分散原则:为保证沙丁鱼在游动时不会相互碰撞干扰,在此给出小于安全距离时,可能出现在游动的沙丁鱼群中的其他单一沙丁鱼的角度公式为:
.
M
∑=
k
θα(4)式(4)中:α为在安全距离以内,附近沙丁鱼可能出现的任意角度;θk 为安全距离以内的沙丁鱼的角度;M 为安全距离以内沙丁鱼的数量。

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

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

因此给出公式:
.
N
∑=
i
θ
θ(5)
式(5)中:θ为总体的运动方向;θi 为附近每条沙丁鱼的运动方向;N 为附近的沙丁鱼总数。

沙丁鱼的运动公式为:
.
y k v t l l ⎪⎪⎭

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

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

图4第一部分结果图
. All Rights Reserved.
科技与创新┃Science and Technology &Innovation
·60·
2018年第22期
针对沙丁鱼突遇捕食者袭击时的情况,沙丁鱼群中的每条鱼可以看作是一个单独的agent ,当某个agent 发现捕食者时将发送消息给其他的agent ,假设某一agent 接收到邻近的危险信号,将分析捕食者的相对位置、方向以及自身的心理、生理从而做出最佳的逃生路线选择[7]。

下面将这个逃生行为抽象并模拟,同时作出不同假设,假定时间内速度与位移的变化公式为:
,∑+-=⨯
F t
v v m dt dv
m Δmax β.
dt dr
t v =)((7)
式(7)中:沙丁鱼的质量m =0.03kg ;沙丁鱼群的初始速度为v =30km/h ;遇到捕食者的时间t =5s ;沙丁鱼遇袭逃逸时的速度v max =36km/h ;遇袭时为更换游动路线需要旋转的角度为β;沙丁鱼在逃跑时需要克服相互排斥力的大小为F ;且速度随时间的变化为v (t ).
通过深入思考模型与挖掘数据,参考并引用早期研究者
的结论:n B s s A F ]/Δexp[i i i i )(-=.其中,=
=),,(321n n n n
.s s s /Δj i ),(旋转角度β则由海豚的进攻角度、速度,鱼群前进的方向、速度共同决定,运算公式比对如下:1h -=⨯v v

则β=180(h v 为海豚的进攻方向),0h =⨯v v
,则β=0,
⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛⨯⨯--=v v v
v h h arcos 2
πβ.最后,可设定公式中的s i 为海豚的进攻方向,且速度h v =36km/h 。

第二部分问题通过Matlab 建模后,结果如图5所示。

图5第二部分结果图
3模型的改进
深入分析和探究后,可将第一部分问题的模型做出以下改进:假设同模型的案例与求解,设v 为j 鱼的起始速度,θ为下一时刻的速度v t 与初始速度v 的夹角,α为允许偏转的
最大角,如果θ﹤α,0ΔΔv v
v v
v v ⨯++=;如果θ﹥α,则有
0v v
v
v ⨯=
,其中,∆v 为起始速度到下一时刻速度速度的改变量,v 0为鱼群的固定速度。

至此,便可以利用时间与速度的关系求解下一时刻j 鱼
的具体位置:
s j =t ×v +∆s .
(8)
式(8)中:s j 为下一时刻的位置;t 为时间段;∆s 为位置的
改变量。

位置的改变量为:
().
s
s s
s s s L s v
i ∑=--⨯--=
1
j
i
j i j
i
Δ(9)
式(9)中:v 为鱼群的总数量,为10000条;L 为鱼的长度,为20cm ;s i 为附近鱼的具体位置;s j 是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.————————
作者简介:崔旭冉(1998—),女,研究方向为信息管理与信息系统。

林涵轩(1998—),男,研究方向为通信工程。

〔编辑:严丽琴〕
. All Rights Reserved.。

相关文档
最新文档