劉培 宮子涵
【摘 要】本文首先為了分析了沙丁魚集群的運動模式,引入了 Boid 模型。通過個體間的距離劃分出了排斥區(qū)域、一致區(qū)域和吸引區(qū)域。當(dāng)相鄰個體處于排斥區(qū)域則保持足夠的距離,盡量避免碰撞,當(dāng)處于一致區(qū)域內(nèi)時,則盡量控制他們速度的大小和方向相同,當(dāng)處于吸引區(qū)域內(nèi)時,則要調(diào)整個體之間的距離,盡量縮小彼此之間的間距,以免落單。從而可以確定每個個體下一步的速度方向和速度大小,進而確定它們下一步的位置,應(yīng)用 MATLAB,進行迭代、模擬,最終在隨機給定初始位置和初始速度方向的基礎(chǔ)上,得到通過一定時間內(nèi),沙丁魚集群運動行為的模型。其次,為了更好地說明在遭遇天敵之后沙丁魚集群的運動行為,我們引入了吸引-排斥模型。在第一步已有方程的基礎(chǔ)上,我們加入外界條件,即通過天敵與集群間的排斥吸引關(guān)系對函數(shù)的相應(yīng)條件進行修改,最終建立了沙丁魚魚群躲避海豚的運動方程,通過 MATLAB 進行仿真,繪制動圖,直觀的感受沙丁魚魚群在遭遇天敵海豚之后的移動方式。
【關(guān)鍵詞】Boid 模型;MATLAB;仿真
一、問題的提出與分析
海洋中不同的物種有著各自獨特的生存方式,比如沙丁魚就采取聚成大群的方式來面對天敵海豚的捕食。而魚群的行動是有協(xié)調(diào)性的,在沒有外部威脅或障礙物時,沙丁魚常常采取聚成接近球形的方式。當(dāng)遭遇海豚的攻擊時,魚群會進行協(xié)同的躲避。首先,我們只需要考慮動物集群的基本運動模型,而不用加入覓食、追逐等行為的考量,主要是通過 Boid 模型進行魚群集群運動的模擬。其次,我們需要考慮沙丁魚集群躲避捕食者的運動,所以在前一步的基礎(chǔ)上,要考慮沙丁魚集群協(xié)同躲避的行為,給出對這種逃逸模式的模擬結(jié)果。
二、基本假設(shè)
1.假設(shè)模擬沙丁魚集群以及海豚運動時忽略它們個體大小。
2.假設(shè)沙丁魚群感受到海豚捕食危險時無時間延遲立刻躲避。
3.假設(shè)沙丁魚魚群運動速度相同且同步。
4.假設(shè)只考慮沙丁魚和海豚兩個種群,不考慮其他種群的影響。
三、模型的建立與求解
(一)沙丁魚集群運動行為模型
1.Boid 模型規(guī)則
Boid 模型是建立在一個三維體系中的集群運動模型。為了滿足聚集,排斥和速度匹配的基本原則,Couzin 將個體周圍的空間分為了三個區(qū)域,從里到外分別是:排斥區(qū)、適應(yīng)區(qū)和吸引區(qū)。
對于個體來說,處于不同位置的鄰居對個體的影響不同,對于個體,不同區(qū)域鄰居對它的影響建立如下方程:
其中 ,■表示個體空間中的位置;■是鄰居j的速度方向;n?琢是非視野盲區(qū)中吸引區(qū)鄰居數(shù);n0是非視野盲區(qū)中適應(yīng)區(qū)鄰居數(shù);nr是非視野盲區(qū)中排斥區(qū)鄰居數(shù);個體i在t時刻的期望速度方向為■(t+?子)。
將?子作為模型更新的時間步長,那么集群運動中每個個體的位置更新策略為:■(t+?子)=■(t)+■(t)*?子
2.Boid模型結(jié)果
計算開始時,N 個個體被隨機分配在一個三維空間中(C?子),并且隨機的給與每個個體一個初始運動方向■(運動速度大小一定)。經(jīng)過對不同參數(shù)的系統(tǒng)迭代運算。當(dāng)時間達到 176s 時,集群已初步達到集群運動方向性的穩(wěn)定狀態(tài)。
(二)沙丁魚受到海豚威脅產(chǎn)生的逃逸行為運動模型
首先根據(jù)沙丁魚與海豚之間的距離將沙丁魚群進行分組,與海豚距離超過臨界值的沙丁魚為魚群一,而距離小于臨界值的沙丁魚為魚群二。對于魚群一,它們的行為與第一步中的完全一樣。魚群二中的個體逃跑行為遵守吸引原則、一致原則、排斥原則且正在執(zhí)行逃跑行為。
1.吸引原則的實現(xiàn):每個個體都有想伙伴中心靠攏的行為,伙伴中心為觀察范圍內(nèi)各個體所在位置的平均值:
p=■(i∈N)
其運動方向為
D2t=?琢r?琢ct?琢n■
其中p為伙伴的平均值,p0為當(dāng)前個體的位置,D2t為當(dāng)前個體到p的方向。
2.一致原則的實現(xiàn):個體與它的伙伴朝同一個方向游去:
D3t=■(i∈N)
其中Di為各個伙伴的方向,nf為伙伴的個數(shù),D3t為伙伴的平均方向。
3.排斥原則的實現(xiàn):當(dāng)個體和它的伙伴靠的太近時會自動避開:
D4t=■(i∈N)
D4t為小于安全距離的伙伴到當(dāng)前個體方向的平均值,M為伙伴中小于安全距離的伙伴個數(shù)。
在此基礎(chǔ)上魚下一時刻的游動方向受到四個方向的共同作用:
Dt+1=?姿1D1t+?姿2D2t+?姿3D3t+?姿4D4t
其中D1t為現(xiàn)階段該個體的游動方向,Dt+1為下一時刻個體的游動方向。而下一時刻的方向受到多方面的影響,故需要進行加權(quán)處理。
通過MATLAB,對沙丁魚集群的運動行為進行模擬,魚群個體與捕食者有一定的安全距離,從而進行逃避。
參考文獻:
[1]鄒游.集群運動同步與恐慌人群疏散研究[D].中國科學(xué)技術(shù)大學(xué),2016.
[2]余亞東.動物種群運動與擴散的數(shù)學(xué)模型分析[D].安徽工業(yè)大學(xué),2015.
[3]趙建.魚群集群行為的建模與仿真[D].太原科技大學(xué),2008.