閆 潔,韓惠麗,2,周春梅
(1.寧夏師范學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,寧夏 固原 756099;2.寧夏大學(xué) 數(shù)學(xué)統(tǒng)計(jì)學(xué)院,寧夏 銀川 750021)
在海洋中,很多生物因生存、覓食、避險(xiǎn)或繁殖等原因集群運(yùn)動(dòng)[1],存在豐富的食物鏈和食物網(wǎng),通過層層捕食,來維持海洋生態(tài)圈的穩(wěn)定.海豚與沙丁魚之間也存在非常精彩的博弈,數(shù)百萬的沙丁魚以聚成大群的方式來對抗海豚的捕食,在沒有外部威脅或障礙物時(shí),沙丁魚群聚成接近球形的形態(tài),是典型的自組織復(fù)雜運(yùn)動(dòng)[2]過程,個(gè)體間通過某種規(guī)則聚集在一起,當(dāng)海豚接近并沖進(jìn)沙丁魚群時(shí),魚群躲避并繼續(xù)聚成一團(tuán).使沙丁魚群體表現(xiàn)出協(xié)調(diào)性和智能性[3],大大降低被捕食的概率.同時(shí)海豚會(huì)配合行動(dòng),以提高捕食沙丁魚的效率.本文模擬將海豚捕食沙丁魚群的運(yùn)動(dòng)行為模型分為海豚回聲定位模型、未接近沙丁魚群的海豚運(yùn)動(dòng)模型、無領(lǐng)導(dǎo)者的沙丁魚群慣性運(yùn)動(dòng)模型、有領(lǐng)導(dǎo)者的沙丁魚群非慣性運(yùn)動(dòng)模型、沙丁魚集群運(yùn)動(dòng)模型、海豚捕食沙丁魚群模型和沙丁魚逃逸模型.
由于水下光線很暗,海豚通過回聲定位來判斷魚群的整體位置,如圖1所示,海豚在覓食的時(shí)候產(chǎn)生回聲定位信號(hào),信號(hào)具有短脈沖、高強(qiáng)度和高指向性,用來探測目標(biāo)的距離、方位和體積.依靠發(fā)射和接收回聲定位信號(hào)的時(shí)間差估計(jì)目標(biāo)的距離方位,通常有三種方式,有指向性的發(fā)射和有指向性的接收,有指向性的發(fā)射和無指向性的接收,無指向性的發(fā)射和有向性的接收.
圖1 海豚回聲定位原理圖
如圖2所示,在中遠(yuǎn)場時(shí),假設(shè)聲波以平面波方式傳播[4],根據(jù)二元測向原理,目標(biāo)方位可由下式近似估計(jì)
圖2 遠(yuǎn)場時(shí)的二元測向模型 圖3三元定位模型
如圖3所示,在近場時(shí),假設(shè)目標(biāo)是點(diǎn)源,則聲波按球面波方式傳播[3],假設(shè)1,2,3分別為三個(gè)子陣的聲中心,目標(biāo)方位角θ是線陣聲中心處法線與r2的夾角,c為聲速,r1,r2,r3為目標(biāo)到線陣中心的距離,目標(biāo)的聲信號(hào)到達(dá)各個(gè)陣元的時(shí)延差
根據(jù)以上的三個(gè)等式可推導(dǎo)出目標(biāo)方位的精確表達(dá)式
因此可以發(fā)現(xiàn),在距離較遠(yuǎn)時(shí),根據(jù)二元側(cè)向模型,海豚的回聲定位只能判斷大體積魚群的位置,對個(gè)體單位的定位效果較差.在距離較近時(shí),根據(jù)三元定位模型,海豚的回聲定位能精確到定位到個(gè)體.
對于單個(gè)海豚,將其質(zhì)點(diǎn)化,海豚的位置可表示為
pB(t)=[xB(t),yB(t),zB(t)].
海豚的速度為vB(t),則海豚的狀態(tài)為
ΩB={[pB(t),vB(t)]}.
海豚利用聲波定位十幾公里外的魚群,在接近魚群時(shí)海豚本身的感知域可視為覆蓋全魚群.海豚的定位系統(tǒng)[5]能判斷整個(gè)沙丁魚群,但是難以分辨每個(gè)沙丁魚個(gè)體.因此,海豚的運(yùn)動(dòng)速度可表示為
海豚的實(shí)際運(yùn)動(dòng)能力
vBmin≤vB(t)≤vBmax,?t.
因此,海豚的位置可表示為
(1)
海豚確定目標(biāo)肩并肩前行,可將 (1) 式看作二維平面的函數(shù),多只海豚是以 (1) 式為平面,向z軸延伸的一柱面圖形上運(yùn)動(dòng).
如圖4所示,無領(lǐng)導(dǎo)者沙丁魚集群行為的影響作用分為內(nèi)部作用和外部作用,沙丁魚集群運(yùn)動(dòng)中,所有個(gè)體向同一方向運(yùn)動(dòng)是重要的集體規(guī)則狀態(tài)特征,即為群體的一致性原則[6].沙丁魚集群運(yùn)動(dòng)按照距離的不同,群體內(nèi)部作用分為吸引和排斥.
圖4 無領(lǐng)導(dǎo)者沙丁魚集群運(yùn)動(dòng)的作用
沙丁魚集群運(yùn)動(dòng)中,對于外界有益或有害于群體的事物,造成群體趨向或背向于事物運(yùn)動(dòng)的趨勢分為誘惑和危險(xiǎn).
作用力可以改變物體的運(yùn)動(dòng)狀態(tài),因此假設(shè)對群體的各種影響抽象為作用力,將內(nèi)部作用的影響分為吸引力、排斥力和一致力,將外部作用分為誘惑力和危險(xiǎn)力.
慣性運(yùn)動(dòng)指沙丁魚群體中任意個(gè)體在某一時(shí)刻的速度V(k)受各種作用產(chǎn)生的加速度A(k)和上一時(shí)刻的速度V(k-1)共同影響,矢量表達(dá)式為V(k)=V(k-1)+A(k).個(gè)體的空間位置為X(k),運(yùn)動(dòng)速度為V(k),加速度為A(k).
個(gè)體由排斥力產(chǎn)生的加速度Ar(k)為
其中,Rand()為0~1之間平均分布的隨機(jī)數(shù),提高算法的魯棒性[4].
個(gè)體由吸引力產(chǎn)生的加速度Aa(k)為
個(gè)體由一致力產(chǎn)生的加速度Ao(k)為
誘惑源的位置為Xt,被誘惑產(chǎn)生的加速度At(k)為
At(k)=Rand()·(Xt-Xi).
危險(xiǎn)源的位置為Xf,被危險(xiǎn)產(chǎn)生的加速度Af(k)為
Af(k)=-Rand()·(Xf-Xi).
因此,總加速度A(k)為
A(k)=Aa(k)+Ar(k)+Ao(k)+At(k)+Af(k).
設(shè)吸引力、排斥力、一致力、誘惑力和危險(xiǎn)力的作用對個(gè)體的權(quán)重因子分別為ωa,ωr,ωo,ωt和ωf,則總加速度A(k)改寫為
A(k)=ωaAa(k)+ωrAr(k)+ωoAo(k)+ωtAt(k)+ωfAf(k),
其中ωa,ωr,ωo,ωt,ωf∈[0,1],且ωa+ωr+ωo+ωt+ωf=1.
因此,個(gè)體的速度計(jì)算為
V(k)=V(k-1)+A(k).
個(gè)體的位置由初始位置和速度共同確定
X(k+1)=X(k)+V(k).
當(dāng)ωa=0.2,ωr=0.2,ωo=0.1,ωt=0.5,ωf=0,誘惑源為(80,80),恐懼源為(20,20)時(shí),如圖5所示,利用平面直角坐標(biāo)系描述無領(lǐng)導(dǎo)者的沙丁魚慣性運(yùn)動(dòng)情況.
圖5 無領(lǐng)導(dǎo)者的沙丁魚慣性運(yùn)動(dòng)二維圖
當(dāng)ωa=0.2,ωr=0.2,ωo=0.1,ωt=0.5,ωf=0,誘惑源為(80,80,80),恐懼源為(20,20,80)時(shí),如圖6所示,利用空間直角坐標(biāo)系描述無領(lǐng)導(dǎo)者的沙丁魚慣性運(yùn)動(dòng)情況.
圖6 無領(lǐng)導(dǎo)者的沙丁魚慣性運(yùn)動(dòng)三維圖
如圖7所示,有領(lǐng)導(dǎo)者集群運(yùn)動(dòng)行為[7]的領(lǐng)導(dǎo)在運(yùn)動(dòng)過程中影響其他個(gè)體.外部環(huán)境作用領(lǐng)導(dǎo)者引導(dǎo)跟隨者達(dá)到預(yù)期的目標(biāo),內(nèi)部作用跟隨者,因此對領(lǐng)導(dǎo)者和跟隨者分別討論.
圖7 有領(lǐng)導(dǎo)者情況下對集群運(yùn)動(dòng)的影響作用
對于領(lǐng)導(dǎo)者設(shè)領(lǐng)導(dǎo)者在空間中的位置為X1=(x1,x2,…,xn).迭代k步,領(lǐng)導(dǎo)者的空間位置為X1(k),速度大小為V1,速度方向?yàn)镈1(k).假設(shè)在領(lǐng)導(dǎo)者的排斥區(qū)、一致區(qū)、吸引區(qū)分別有m1、m2、m3個(gè)個(gè)體,則吸引力產(chǎn)生的速度方向?yàn)?/p>
排斥力產(chǎn)生的速度方向?yàn)?/p>
一致力產(chǎn)生的速度方向?yàn)?/p>
誘惑力產(chǎn)生的速度方向?yàn)?/p>
危險(xiǎn)力產(chǎn)生的速度方向?yàn)?/p>
則總速度方向?yàn)?/p>
D1(k)=λa1Da1(k)+λr1Dr1(k)+λo1Do1(k)+λt1Dt1(k)+λf1Df1(k),
其中λa1,λr1,λo1,λt1,λf1∈[0,1],且λa1+λr1+λo1+λt1+λf1=1.
個(gè)體的速度為
V1(k)=V1·D1(k),
個(gè)體的新位置由當(dāng)前位置和速度共同確定
X1(k+1)=X1(k)+V1(k).
對于跟隨者設(shè)跟隨者在空間中的位置為X2=(x1,x2,…,xn).迭代k步,跟隨者的空間位置為X2(k),速度大小為V2,速度方向?yàn)镈2(k).假設(shè)在跟隨者的排斥區(qū)、一致區(qū)、吸引區(qū)分別有n1、n2、n3個(gè)個(gè)體,則排斥力產(chǎn)生的速度方向?yàn)?/p>
吸引力產(chǎn)生的速度方向?yàn)?/p>
一致力產(chǎn)生的速度方向?yàn)?/p>
則總速度方向?yàn)?/p>
D2(k)=λa2Da2(k)+λr2Dr2(k)+λo2Do2(k).
其中λa2,λr2,λo2∈[0,1],且λa2+λr2+λo2=1.
領(lǐng)導(dǎo)者對跟隨者的吸引作用遠(yuǎn)大于跟隨者對跟隨者的吸引作用,跟隨者由吸引力產(chǎn)生的速度方向?yàn)?/p>
Da2(k)=λa12Da12(k)+λa22Da22(k),
其中,Da12(k)為領(lǐng)導(dǎo)者對跟隨者吸引作用產(chǎn)生的速度方向,Da22(k)為跟隨者對跟隨者吸引作用產(chǎn)生的速度方向,λa12和λa22為相應(yīng)的權(quán)重因子,并λa12,λa22∈[0,1],λa12+λa22=1.
帶入總加速度A2(k)可得
D2(k)=λr2Dr2(k)+λa2λa12Da12(k)+λa2λa22Da22(k)+λo2Do2(k).
個(gè)體的速度為
V2(k)=V2·D2(k).
個(gè)體的新位置由當(dāng)前位置和速度共同確定
X2(k+1)=X2(k)+V2(k).
當(dāng)誘惑源為(80,80)恐懼源為(20,20)時(shí),如圖8所示,利用二維坐標(biāo)描述有一個(gè)領(lǐng)導(dǎo)者的非慣性運(yùn)動(dòng)情況.
圖8 有一個(gè)領(lǐng)導(dǎo)者的沙丁魚非慣性二維圖
當(dāng)誘惑源為(80,80)恐懼源為(20,20)時(shí),如圖9所示,利用二維坐標(biāo)描述有兩個(gè)領(lǐng)導(dǎo)者的非慣性運(yùn)動(dòng)情況.
圖9 有兩個(gè)領(lǐng)導(dǎo)者的沙丁魚非慣性二維圖
在二維平面中,定義變量pi=(xi,yi,vi)來描述運(yùn)動(dòng)的個(gè)體,其中xi為個(gè)體i在坐標(biāo)系中的橫坐標(biāo),yi表示個(gè)體i在坐標(biāo)系的縱坐標(biāo),vi表示個(gè)體i的運(yùn)動(dòng)的方向.如圖10所示,運(yùn)動(dòng)的個(gè)體投影到地面[8],把個(gè)體的運(yùn)動(dòng)看作點(diǎn)的運(yùn)動(dòng).
圖10 個(gè)體投影在地面的圖
討論有n個(gè)個(gè)體的沙丁魚群運(yùn)動(dòng),建立n個(gè)個(gè)體的t時(shí)刻狀態(tài)矩陣S(t)
其中vi為個(gè)體i的速度,根據(jù)狀態(tài)條件建立狀態(tài)方程.
距離條件為
位置中心一致性條件為
速度一致性
其中rmin為沙丁魚個(gè)體之間的最小距離,RL為沙丁魚個(gè)體之間的最大距離,m為個(gè)體i相鄰個(gè)體的數(shù)量,vi為個(gè)體i的運(yùn)動(dòng)速度,vk為個(gè)體k的運(yùn)動(dòng)速度,μx為x方向的位置變動(dòng)因子,μy為y方向的位置變動(dòng)因子,δmax為運(yùn)動(dòng)速度最大誤差.t+1時(shí)刻與t時(shí)刻有相同形式的狀態(tài)矩陣,因此只需求得個(gè)體i的速度變化即可求得t+1時(shí)刻的狀態(tài)矩陣
Pi,t+1(xi,yi)=Pi,t(xi,yi)+viΔt.
速度大小滿足
vi(t+1)=vi(t)±Δvi,Δvi=ε1(vmax-vi(t)),ε1∈(0,1).
加速度滿足
其中取逆時(shí)針方向?yàn)檎较?,Δt為時(shí)間間隔,vmax為個(gè)體的最大速度,Δvi為個(gè)體i速度大小的變化量,Δθi為個(gè)體i速度方向的變化量,ε1為速度大小狀態(tài)因子,ε2為速度方向狀態(tài)因子,ε1,ε2均為(0,1)范圍內(nèi)任意的隨機(jī)數(shù),取ε1=0.6,ε2=0.1.假設(shè)集群是一個(gè)整體,海豚靠近過程中速度方向的變化省略不計(jì),只考慮速度大小的變化,沙丁魚躲避危險(xiǎn)過程中速度大小和方向均有較大的變化,構(gòu)建狀態(tài)方程,方程迭代可得任意狀態(tài)的方程矩陣,進(jìn)而得到集群的運(yùn)動(dòng)情況如圖11所示.
圖11 沙丁魚集群運(yùn)動(dòng)
當(dāng)海豚發(fā)現(xiàn)沙丁魚群時(shí),形成一個(gè)緊密的包圍圈如圖12所示,由一只海豚充當(dāng)“轟趕者”[9],將獵物向包圍圈中驅(qū)趕,沙丁魚群慢慢集中,海豚包圍圈的不斷收縮,此時(shí)海豚自動(dòng)分組(圓圈上相對的兩個(gè)點(diǎn),比如說時(shí)鐘上,12點(diǎn)和6點(diǎn)這兩個(gè)點(diǎn)上的海豚為一組),以順時(shí)針方向依次入圈進(jìn)食如圖13所示,進(jìn)食持續(xù)5分鐘左右,海豚集體整齊浮出海面(仍然保持圓圈的陣形),呼吸一次,又集體潛游下去,開始新一輪的進(jìn)食.
圖12 對魚群包圍 圖13 分開進(jìn)食
現(xiàn)以沙丁魚群為球心,5-10米為半徑,建立球體模型[10],以球心為坐標(biāo)原點(diǎn)的球坐標(biāo)與直角坐標(biāo)的轉(zhuǎn)化.
其中θ為球面上一點(diǎn)與球心連線與z軸的夾角,φ為連線投影到xy平面的直線與x軸的夾角.因此,球體模型的參數(shù)方程為
海豚的運(yùn)動(dòng)模型可類似于沙丁魚群的集群模型,比魚群集群模型的半徑大,且為一個(gè)空心球體.則根據(jù)沙丁魚群集群模型可得,海豚的運(yùn)動(dòng)模型的距離條件為
位置中心一致性條件為
(2)
速度一致性為
其中rmin為海豚捕到沙丁魚的最小距離,視為固定值,RL為海豚對沙丁魚群形成包圍的最大距離,RL會(huì)隨著海豚數(shù)量的增大而增大,m為海豚i感知范圍內(nèi)相鄰個(gè)體的數(shù)量,vi為個(gè)體i的運(yùn)動(dòng)速度,vk為個(gè)體k的運(yùn)動(dòng)速度,μx為x方向的位置變動(dòng)因子,μy為y方向的位置變動(dòng)因子,δmax為運(yùn)動(dòng)速度最大誤差.t+1時(shí)刻與t時(shí)刻位置變換表示為
Pi,t+1(xi,yi)=Pi,t(xi,yi)+viΔt.
速度大小滿足
vi(t+1)=vi(t)±Δvi,Δvi=ε1(vmax-vi(t)),ε1∈(0,1).
加速度滿足
其中取逆時(shí)針改變方向?yàn)檎较?,Δt為t時(shí)刻與t+1時(shí)刻的時(shí)間間隔,vmax為個(gè)體的最大速度,Δvi為個(gè)體i速度大小的變化量,Δθi為個(gè)體i速度方向的變化量,ε1為速度大小狀態(tài)因子,ε2為速度方向狀態(tài)因子.
海豚對沙丁魚群的包圍簡化為其距離d從大到小變化的過程.海豚自動(dòng)分組[11](圓圈上比如時(shí)鐘上12點(diǎn)和6點(diǎn)方向這兩只海豚為一組),海豚以順時(shí)針的順序依次入圈進(jìn)食.該過程是 (2) 式基礎(chǔ)上變動(dòng)的過程,當(dāng)海豚形成 (2) 式的球體時(shí),會(huì)以對球體直徑所在方向進(jìn)行組隊(duì),然后沿順時(shí)針方向依次進(jìn)食,如圖14所示.假設(shè)以A為起始位置,則AE兩只海豚先向O點(diǎn)靠攏,捕食,依次BF、CG、DH,再回到原來的位置繼續(xù)形成包圍,集體直線上升到海面呼吸空氣,再下潛到水中實(shí)施第二次包圍,進(jìn)食,如此循環(huán).
在二維平面中,設(shè)k時(shí)刻海豚i位于S點(diǎn),位置坐標(biāo)為(xs(k),ys(k)),沙丁魚群中心位于C點(diǎn),坐標(biāo)為(xc,yc),假設(shè)海豚單位時(shí)間的步長為ls,則海豚與魚群中心的距離為
海豚運(yùn)動(dòng)的向量單位化為
可得k+1時(shí)刻海豚的位置為
k時(shí)刻沙丁魚i位于Nk點(diǎn),位置坐標(biāo)為(xn(k),yn(k)),根據(jù)安全距離最大化原則,沙丁魚應(yīng)在與其他沙丁魚連線上遠(yuǎn)離海豚的方向.考慮安全角度最大化原則,沙丁魚應(yīng)沿著垂直于與其他沙丁魚連線的中垂線方向遠(yuǎn)離海豚.綜合逃逸原則[12],沙丁魚的逃逸方向與自身和海豚連線成θ角.如圖15所示.
0GFEDCBAH運(yùn)動(dòng)方向魚j逃逸方向NkNkNk+1ciθ圖14 方向示意圖圖15 相等步長的沙丁魚逃逸圖
沙丁魚與海豚的距離為
其中Nk+1的坐標(biāo)為
通過不斷迭代時(shí)間k得到海豚和沙丁魚i的即時(shí)位置,并得到六只沙丁魚對海豚的躲避運(yùn)動(dòng)軌跡如圖16所示,沙丁魚和海豚的步長相等.θ=60°時(shí)隨著海豚的運(yùn)動(dòng),沙丁魚呈弧形躲避到了海豚的后方.如圖17所示,增大沙丁魚步長,進(jìn)一步觀察沙丁魚的躲避運(yùn)動(dòng)軌跡,在速度允許的情況下沙丁魚最終繞到海豚的正后方,找到最安全位置.
圖16 相等步長的沙丁魚逃逸圖 圖17 增大步長的沙丁魚逃逸圖
本文利用數(shù)學(xué)語言描述海豚和沙丁魚的位置變化情況,用速度與坐標(biāo)來描述運(yùn)動(dòng),將復(fù)雜系統(tǒng)的自組織過程轉(zhuǎn)化為坐標(biāo)系內(nèi)質(zhì)點(diǎn)的運(yùn)動(dòng)方向和坐標(biāo)不斷變化的數(shù)學(xué)問題;將魚群逃逸數(shù)學(xué)化、向量化,語言準(zhǔn)確科學(xué),有效的追蹤動(dòng)物的運(yùn)動(dòng)狀態(tài),使得問題簡單明了,易于解決.