版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、動(dòng)物集群運(yùn)動(dòng)行為模型摘 要自然界中很多種生物中都存在著復(fù)雜的群集行為,生物學(xué)家曾對(duì)此做了大量研究,也取得了很多重要的研究成果。群集行為在一定程度上是由群集智能所支配的,所謂群集智能指的是眾多簡(jiǎn)單個(gè)體組成群體,通過相互間的合作表現(xiàn)出智能行為的特性。自然界中動(dòng)物、昆蟲常以集體的力量進(jìn)行躲避天敵、覓食生存,單個(gè)個(gè)體所表現(xiàn)的行為是缺乏智能的,但由個(gè)體組成的群體則表現(xiàn)出了一種有效的復(fù)雜的智能行為。本文要做的主要工作是通過建立適當(dāng)?shù)臄?shù)學(xué)模型,利用計(jì)算語言進(jìn)行仿真,研究群體的集群運(yùn)動(dòng)。針對(duì)問題一,我們首先尋找其理論基礎(chǔ),國內(nèi)外專家研究群集行為時(shí)主要采用歐拉法和拉格朗日法。通過相關(guān)理論的比較發(fā)現(xiàn),解決本題所研
2、究的問題,采用拉格朗日法更佳。為方便研究,本文選取自然界的魚群作為對(duì)象,建立自由游動(dòng)模型、引入環(huán)境r-a模型、并在此基礎(chǔ)上建立避開靜態(tài)障礙物模型,賦予多agent感知、交互能力,通過對(duì)agent內(nèi)部狀態(tài)值的調(diào)節(jié)改變搜索參數(shù),達(dá)到內(nèi)部狀態(tài)控制行為選擇的目的,最后通過計(jì)算機(jī)仿真演示動(dòng)物的集群運(yùn)動(dòng)。針對(duì)問題二,在前面模型的基礎(chǔ)上,進(jìn)一步引進(jìn)當(dāng)agent遭遇捕食者時(shí)的集群運(yùn)動(dòng)模擬算法。基于人工魚群的自組織模型,確立相關(guān)的天敵因子,之后根據(jù)約束因子分配權(quán)重,進(jìn)行迭代計(jì)算,實(shí)現(xiàn)魚群逃逸模擬。針對(duì)問題三,分析其信息豐富者對(duì)于群運(yùn)動(dòng)的影響,以及群運(yùn)動(dòng)方向的決策,借鑒種群中的信息傳遞原理,簡(jiǎn)化種群內(nèi)通訊機(jī)制,并
3、賦予魚群一種彼此間可以互相傳遞信息的通訊方式,融合抽象的信息交互方式,建立動(dòng)物的群體覓食模型信息交互模型,實(shí)現(xiàn)信息對(duì)種群對(duì)決策運(yùn)動(dòng)方向的影響。關(guān)鍵詞:群集行為 群集智能 多agent 微分迭代 信息交互 群體覓食一、 問題的背景及重述1.1 問題的背景生態(tài)系統(tǒng)中,動(dòng)物個(gè)體行為比較簡(jiǎn)單,集群后卻表現(xiàn)出異常復(fù)雜的群體行為,魚群,鳥群在運(yùn)動(dòng)中表現(xiàn)出連貫一致的整體結(jié)構(gòu),使得他們能夠更好地躲避危險(xiǎn)以及提高獲得食物的機(jī)會(huì)。生物的這種集群運(yùn)動(dòng)引發(fā)人們對(duì)群集智能方面的探索。群集智能理論的研究從二十世紀(jì)八十年代出現(xiàn)以來,作為一個(gè)新興的領(lǐng)域,得到越來越多的科學(xué)家的關(guān)注,現(xiàn)在已經(jīng)成為經(jīng)濟(jì)、社會(huì)、生物等交叉學(xué)科的研究
4、熱點(diǎn)。群集智能主要是針對(duì)螞蟻、鳥群等群居生物體行為的觀察和研究,是在自然界生物群體表現(xiàn)出來的智能現(xiàn)象的啟發(fā)下提出的針對(duì)簡(jiǎn)單生物群體的智能涌現(xiàn)現(xiàn)象的具體模式研究。1.2問題的重述通過觀看視頻和在網(wǎng)上搜索相關(guān)資料,這些動(dòng)物群在運(yùn)動(dòng)過程中具有很明顯的特征:群中的個(gè)體聚集性很強(qiáng),運(yùn)動(dòng)方向、速度具有一致性。著重思考動(dòng)物集群運(yùn)動(dòng)的機(jī)理,建立數(shù)學(xué)模型刻畫動(dòng)物集群運(yùn)動(dòng);建立數(shù)學(xué)模型刻畫魚群躲避黑鰭礁鯊魚的運(yùn)動(dòng)行為;假定動(dòng)物中有掌握食物源位置信息、掌握遷徙路線信息的信息豐富者,進(jìn)一步分析該動(dòng)物群體中是如何達(dá)成群運(yùn)動(dòng)方向決策。二、模型假設(shè)2.1假設(shè)本文中所提到的生物種群是一個(gè)獨(dú)立的生態(tài)部落;2.2 假設(shè)自然魚的一
5、般游動(dòng)是隨機(jī)性的;2.3論文中提到的魚群數(shù)量在短期內(nèi)的是不發(fā)生變化的,即也不考慮魚的出生率、死亡率;2.4假設(shè)同種魚群個(gè)體之間是同質(zhì)的,只考慮平均水平,不考慮個(gè)體差異;2.5該魚種群不受環(huán)境變化影響(地震、海嘯等自然災(zāi)害);2.6假設(shè)環(huán)境當(dāng)中出現(xiàn)食物和障礙物是隨機(jī)分布的。三、符號(hào)說明 設(shè)單位時(shí)間單位面積內(nèi)在方向上粒子的遷移量 粒子濃度 擴(kuò)散率 粒子數(shù) 群體的平移 群體面對(duì)所處環(huán)境反應(yīng)作出的常規(guī)漂移量 群體中距離為的個(gè)體相互之間的吸引力 群體中距離為的個(gè)體相互之間的排斥力 個(gè)體的質(zhì)量 個(gè)體i的位置 作用在個(gè)體上的合力 個(gè)體的總數(shù)目 包括聚集或分散的力 下個(gè)周期agent的游動(dòng)方向 個(gè)體agent
6、靠近魚群游動(dòng)的方向(向心因子) 對(duì)齊魚群時(shí)游動(dòng)的方向(對(duì)齊因子) 避免碰撞時(shí)游動(dòng)的方向(躲避因子) 當(dāng)前t中該agent的游動(dòng)方向(慣性因子) 第因子的權(quán)重(=1,2,3,4,5,7) 個(gè)體的位置向量 每一步時(shí)間間隔 agent與agent的距離為 由向心性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì) 由對(duì)齊性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì) 由避免碰撞性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì)、 靜態(tài)障礙物邊界切線的方向向量 逃逸因子、 、與的夾角 agent運(yùn)動(dòng)的最大速度 agent運(yùn)動(dòng)的最小速度 捕食者的最大速度 最大偏轉(zhuǎn)角 時(shí)間 所消耗的食物量 消化率 自從上次進(jìn)食以來的時(shí)間 一個(gè)常數(shù),它表明魚的胃口大小 外部
7、刺激的影響 自從上次交配以來的時(shí)間 計(jì)算對(duì)潛在交配的感知影響 對(duì)所發(fā)現(xiàn)的捕食者的恐懼感 對(duì)所發(fā)現(xiàn)的捕食者距離 兩條魚之間的距離 遇到捕食者需要旋轉(zhuǎn)的角度 四、問題分析自然界存在著大量集結(jié)成群進(jìn)行移動(dòng)或者覓食的動(dòng)物,這些動(dòng)物群在運(yùn)動(dòng)過程中具有很明顯的特征:群中的個(gè)體聚集性很強(qiáng),運(yùn)動(dòng)方向、速度具有一致性。常以集體的力量進(jìn)行覓食生存,單個(gè)個(gè)體所表現(xiàn)的行為是缺乏智能的,但由個(gè)體組成的群體則表現(xiàn)出了一種有效的復(fù)雜的智能行為,也就是群集智能的體現(xiàn)。本文中研究的主要問題是建立模型模擬動(dòng)物的集群行為,首先尋找動(dòng)物集群的一些理論依據(jù),諸如歐拉法、拉格朗日法,深入分析其中影響集群的原因包括游動(dòng)原則、覓食原則、躲避
8、障礙物原則,再建立r-a模型,并利用計(jì)算機(jī)演示集群行為。在第二問中考慮其魚群躲避黑鰭礁鯊魚的運(yùn)動(dòng)行為,當(dāng)魚群遇到天敵時(shí)的逃逸,通過個(gè)體逃逸及過程中相互作用來表現(xiàn)群體逃逸行為。當(dāng)某個(gè)agent發(fā)現(xiàn)捕食者時(shí)將發(fā)送消息給其他的agent。假設(shè)agent接收到危險(xiǎn)信號(hào),將分析捕食者的位置、方向、自身的心理、生理作出相應(yīng)的逃逸選擇,在第一問模型的基礎(chǔ)上,引進(jìn)當(dāng)agent遭遇捕食者時(shí)的集群運(yùn)動(dòng)模擬算法?;谌斯~群的自組織模型,確立出相關(guān)的天敵因子,之后根據(jù)約束因子分配權(quán)重,迭代計(jì)算,實(shí)現(xiàn)魚群逃逸模擬。對(duì)于問題三當(dāng)中,對(duì)于所有的生物,無論是群居的還是散居的,因?yàn)樯娴男枰?,彼此之間總要發(fā)生聯(lián)系,為了研究信
9、息豐富者對(duì)于群集運(yùn)動(dòng)方向,分析動(dòng)物的信息交互,將其通訊機(jī)制進(jìn)行簡(jiǎn)化分析,針對(duì)魚的覓食行為,在前一問模型建立的基礎(chǔ)上,再分析信息豐富著是如何影響種群決策路徑的。五、模型的建立與求解5.1建立數(shù)學(xué)模型模擬動(dòng)物的集群運(yùn)動(dòng)。5.1.1理論基礎(chǔ)通過搜集相關(guān)書籍和資料可以知道,關(guān)于集群?jiǎn)栴}的建模和研究方法主要分為以下兩類:(1)歐拉法在歐拉法中,一個(gè)群集模型中的每個(gè)個(gè)體成員不作為單個(gè)實(shí)體來研究,而是通過密度概念將整個(gè)群體作為一個(gè)連續(xù)集描述。歐拉方法的理論基礎(chǔ)為費(fèi)克提出的經(jīng)典的擴(kuò)散理論,其模型方程表示為:方程中設(shè)單位時(shí)間單位面積內(nèi)在方向上粒子的遷移量記為,為粒子濃度,是擴(kuò)散率。及為群體通過垂直于x軸的平面的
10、通量,表示群體的平移。同時(shí)對(duì)流項(xiàng)不僅包含群體中心漂移的速度項(xiàng),還增加了群體成員間的相互作用,如:該式中,描述群體面對(duì)所處環(huán)境反應(yīng)作出的常規(guī)漂移量;、分別描述群體中距離為的個(gè)體相互之間的吸引和排斥作用力。其它一些基于歐拉法的研究工作都是在基于上述群集模型的基礎(chǔ)上做一些擴(kuò)充性的探討。方程中還可以添加的項(xiàng)有來自于同類或環(huán)境資源的吸引力或排斥力。(2)拉格朗日法拉格朗日法基本的描述就是每個(gè)個(gè)體各自的運(yùn)動(dòng)方程,這也是一種更加自然的建模和分析方法。舉例來說,在拉格朗日法中,牛頓運(yùn)動(dòng)方程是一個(gè)典型的個(gè)體運(yùn)動(dòng)方程:其中,是個(gè)體的質(zhì)量,是個(gè)體i的位置,是作用在個(gè)體上的合力,是個(gè)體的總數(shù)目。由組成,其中包括聚集或
11、分散的力(即描述個(gè)體之間的吸引力作用或排斥力作用)、與鄰近個(gè)體速度與方向相匹配的作用力、確定的環(huán)境影響力如萬有引力以及由環(huán)境或其它個(gè)體行為產(chǎn)生的隨機(jī)擾動(dòng)作用力。是這些作用力的總和。當(dāng)前,很多關(guān)于群集行為的研究工作也都是圍繞著這些作用力的形式而展開的。(3)理論模型的比較與結(jié)論歐拉法因?yàn)槠⒎址匠汤碚摪l(fā)展得較為完善,因此對(duì)由偏微分方程構(gòu)建的群集模型的理論分析將易于進(jìn)行,另一個(gè)優(yōu)點(diǎn)就是無需對(duì)群體所處環(huán)境作空間離散化處理,對(duì)于描述大規(guī)模密集而沒有明顯不連續(xù)分布的群集行為非常有效。但是,歐拉法也有一個(gè)明顯的缺點(diǎn),即忽略了個(gè)體的特性。因此,對(duì)于很多群體由有限數(shù)量的大體積或強(qiáng)調(diào)個(gè)體智能特性的個(gè)體成員組成的
12、情況下,將不太適合使用基于歐拉法的連續(xù)集模型,如魚群、鳥群等的群集行為。歐拉模型中對(duì)群體所處物理空間的連續(xù)性假設(shè)多適合于體型較小的生物群。當(dāng)分析由較大體型生物組成的群體如魚群、鳥群、獸群等時(shí),由此組成的群體所占據(jù)的物理空間也會(huì)因?yàn)槊總€(gè)個(gè)體體型的因素而變得相對(duì)大許多,這也使得歐拉法對(duì)于群體所處物理空間是連續(xù)集這一假設(shè)在現(xiàn)實(shí)中也變得難以滿足。故而本題采用基于拉格朗日法的agent模型模擬動(dòng)物集群運(yùn)動(dòng)。5.1.2模型建立原則為了較為準(zhǔn)確的建立數(shù)學(xué)模型模擬動(dòng)物的集群運(yùn)動(dòng),我們以自然魚為原型,建立人工智能魚群。通過視頻的觀看和相關(guān)書籍資料的查閱及學(xué)習(xí),我們提出人工智能魚群的運(yùn)動(dòng)原則如下:(1) 一般游動(dòng)
13、原則a.靠近原則,即盡量靠近鄰近魚群的中心;b.對(duì)齊原則,盡量與鄰近魚的運(yùn)動(dòng)方向一致;c.避免碰撞原則,盡量避免與鄰近魚碰撞。又由于每條魚的運(yùn)動(dòng)方向是隨機(jī)性的,這三條規(guī)則對(duì)改變魚下一時(shí)刻游動(dòng)方向只起到一定的影響作用,而魚的游動(dòng)方向不可能立刻改變,魚的原本速度還表現(xiàn)了慣性作用。故而自由游動(dòng)情況下,agent的下一時(shí)刻的運(yùn)動(dòng)速度方向主要由慣性速度,對(duì)齊速度,向心速度,躲避速度四個(gè)因素綜合作用決定,如下圖所示:(2)魚群覓食規(guī)則魚類在群體中比單獨(dú)行動(dòng)時(shí)能更多更快地找到食物。如果魚群中的一個(gè)成員找到了食物,其他成員也可以捕食。當(dāng)魚群中各成員之間的距離勉強(qiáng)保持在各自視線之內(nèi),則搜索面積最大,自然魚群集覓
14、食時(shí)遵循以下倆點(diǎn)規(guī)則:a.離心性:agent個(gè)體前往魚群外圍搜索到近距離的食物;b.追尾性:當(dāng)其他魚群聚集在食物所在地時(shí),agent會(huì)追尾上前捕獲食物。(3)agent躲避靜態(tài)障礙物原則當(dāng)agent感知到靜態(tài)障礙物時(shí),靜態(tài)障礙物只有位置信息,沒有運(yùn)動(dòng)信息。agent計(jì)算出在當(dāng)前速度下需要轉(zhuǎn)動(dòng)多大的角度可以避開距離障礙物的最近點(diǎn),經(jīng)多次試驗(yàn)驗(yàn)證,這個(gè)轉(zhuǎn)角通常在agent的單步運(yùn)動(dòng)能力范圍內(nèi),即以最小耗能和最近路線避開障礙物。5.1.3模型的建立(1)自由游動(dòng)模型的建立根據(jù)以上原則,考慮到各規(guī)則對(duì)魚的影響力不同,我們還需要對(duì)各個(gè)方向矢量加權(quán),采用層次分析法,以游動(dòng)原則的所涉及到的速度向量作為四個(gè)指
15、標(biāo),計(jì)算影響agent下一時(shí)刻運(yùn)動(dòng)方向的各個(gè)方向指標(biāo)的所占權(quán)重因子。自由游動(dòng)模型算法:建立公式如下:其中其中為下個(gè)周期agent的游動(dòng)方向,當(dāng)前t中該agent的游動(dòng)方向(慣性因子),為個(gè)體agent靠近魚群游動(dòng)的方向(向心因子),為對(duì)齊魚群時(shí)游動(dòng)的方向(對(duì)齊因子),為避免碰撞時(shí)游動(dòng)的方向(躲避因子)。分別表示的權(quán)重大小。采用層次法分析,得出判斷矩陣:指標(biāo)慣性因子向心性因子對(duì)齊性因子避免碰撞性因子慣性因子1424/3向心性因子1/411/21/3對(duì)齊性因子1/2212/3避免碰撞性因子3/433/21由層次分析法解得:主觀因素w1客觀因素w2權(quán)重0.33330.66671慣性因子2-0.50.
16、3333向心性因子-0.16670.33330.1667對(duì)齊性因子0.33330.50.2222避免碰撞性因子0.50.66670.2778因此,。,慣性因子對(duì)下一時(shí)刻魚的速度影響最大。(2)r-a環(huán)境模型的建立由于agent處于魚群之中,臨近魚對(duì)其影響比較復(fù)雜,為了進(jìn)一步量化指標(biāo),方便模擬集群運(yùn)動(dòng)的實(shí)現(xiàn),現(xiàn)簡(jiǎn)化agent的環(huán)境因素模型r-a模型如下所示:r-a模型將個(gè)體與個(gè)體之間的相互作用描述為3種作用。設(shè)agent與agent的距離為:1. 當(dāng)時(shí),表現(xiàn)為一種排斥作用,即躲避性的體現(xiàn),防止它們出現(xiàn)碰撞沖突;2. 當(dāng)時(shí),表現(xiàn)出一種吸引作用,即向心性的體現(xiàn),確保魚群成為一個(gè)整體;3. 當(dāng)時(shí),處于
17、一個(gè)相對(duì)平衡和穩(wěn)定的狀態(tài),與進(jìn)行速度匹配,避免打破這種平衡距離或出現(xiàn)潛在沖突,即對(duì)齊性的體現(xiàn),保證魚群朝著相同的方向前進(jìn)。有了r-a模型,我們即可對(duì)三條游動(dòng)規(guī)則的方向矢量作出如下定義:以各原則屬性所引起的期望運(yùn)動(dòng)趨勢(shì)作為相應(yīng)的影響因子。設(shè)群體中有n個(gè)agent (1、2、.n,),agent的位置向量為,運(yùn)動(dòng)向量為,每一步時(shí)間間隔為。1.由向心性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì)為:2.由對(duì)齊性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì)為:3.又避免碰撞性對(duì)agent引起的期望運(yùn)動(dòng)趨勢(shì)為:將以上影響因子代入(1)式中計(jì)算即可的agent下一時(shí)刻的運(yùn)動(dòng)方向。其中:,將相關(guān)算法利用計(jì)算機(jī)語言編程,時(shí)間微量化逐次迭
18、代就可以得到一般自由運(yùn)動(dòng)的魚群集群運(yùn)動(dòng)的模擬。 上邊兩幅二維圖中:左圖為紅色和藍(lán)色魚群的隨機(jī)分布圖,右圖為動(dòng)物在集群行為后的圖像,右圖中左側(cè)的魚群為藍(lán)色魚群,右側(cè)的魚群為紅色魚群,其中紅色種群和藍(lán)色種群各10個(gè)。(程序見附錄)(3)魚群繞開靜態(tài)障礙物的模型建立感知定義:基于感知問題的復(fù)雜性,在虛擬環(huán)境里作了簡(jiǎn)化,設(shè)定如下:a.agent感知食物,捕食者及障礙物的感知范圍為agent運(yùn)動(dòng)方向,半徑為或的半球,agent直接從數(shù)據(jù)庫讀取位置和運(yùn)動(dòng)數(shù)據(jù);b.agent在魚群中的相互感知,感知范圍為半徑的球體,通過agent之間的通信,傳遞位置和運(yùn)動(dòng)信息?;诙S平面的繞行算法:step1當(dāng)agent
19、感知到此刻速度方向上有障礙物,則以此刻位置為原點(diǎn)p作一簇射線。step2記錄射線集合中與障礙物邊界有且只有一個(gè)交點(diǎn)的射線的方向向量為、,記、與的夾角分別為、。step3當(dāng),則以作為障礙物繞行因子,反則反之。step4將繞行因子添加至約束條件中,再次根據(jù)約束因子分配權(quán)重。根據(jù)經(jīng)驗(yàn)算法得繞行因子權(quán)重與魚距離障礙物的距離反相關(guān),引入函數(shù)量化如下:step5計(jì)算下一刻速度速度,按時(shí)間步長法不斷迭代并執(zhí)行,直至運(yùn)動(dòng)方向上無障礙物則回歸自由游動(dòng)。算法流程圖如下:?;谌S空間的繞行算法:面向agent作出垂直于水平方向的空間障礙物投影,之后代入二維平面程序中進(jìn)行計(jì)算迭代即可。上圖為鳥群躲避靜態(tài)障礙物的截圖
20、。5.2.建立數(shù)學(xué)模型刻畫魚群躲避黑鰭礁鯊魚的運(yùn)動(dòng)行為5.2.1相關(guān)因素的引入定義1.最大速度:設(shè)agent運(yùn)動(dòng)的最大速度為,最小速度為,設(shè)捕食者的最大速度,二者比值設(shè)為:。定義2.最大偏轉(zhuǎn)角為,k為常量,v為直線速度。定義3.人工魚的行為函數(shù)是用來度量各行為的參數(shù)度量描述。比如:疲勞感、饑餓感、恐懼感屬于魚的內(nèi)部心理狀態(tài),用以下幾個(gè)公式進(jìn)行量化:其中其中,帶上劃線的部分表示人工魚的內(nèi)部沖動(dòng)部分,表示時(shí)間,是所消耗的食物量,按實(shí)物顆粒數(shù)或捕食魚的數(shù)目來衡量,是消化率,其中為常數(shù);是自從上次進(jìn)食以來的時(shí)間;是一個(gè)常數(shù),它表明魚的胃口大?。ù篝~具有較大的值);體現(xiàn)外部刺激的影響,如對(duì)鄰近食物的感知
21、;包含常數(shù)的呈性欲函數(shù);是自從上次交配以來的時(shí)間;計(jì)算對(duì)潛在交配的感知影響;是一常數(shù);和分別表示對(duì)所發(fā)現(xiàn)的捕食者的恐懼感和距離;,是標(biāo)稱值。5.2.2人工魚群自組織模型的建立在前面模型的基礎(chǔ)上,進(jìn)一步引進(jìn)當(dāng)agent遭遇捕食者時(shí)的集群運(yùn)動(dòng)模擬算法?;谌斯~群的自組織模型,確立相關(guān)的天敵因子,之后根據(jù)約束因子分配權(quán)重,代入迭代計(jì)算,實(shí)現(xiàn)魚群逃逸模擬。當(dāng)魚群遇到天敵時(shí)的逃逸,通過個(gè)體逃逸及過程中相互作用來表現(xiàn)群體逃逸行為。當(dāng)某各agent發(fā)現(xiàn)捕食者時(shí)將發(fā)送消息給其他的agent。假設(shè)agent接收到危險(xiǎn)信號(hào),將分析捕食者的位置、方向、自身的心理、生理作出相應(yīng)的逃逸選擇。下面將這個(gè)逃逸行為模擬為:
22、設(shè)agent的質(zhì)量為;某遇危險(xiǎn)時(shí)刻為;速度為逃逸時(shí)期望達(dá)到的速度為;其遇到捕食者需要旋轉(zhuǎn)的角度為;agent逃逸期間防止碰撞的排斥力為。則時(shí)間內(nèi)agent運(yùn)動(dòng)速度、位置的變化可用下式表示:同時(shí)定義人工魚逃逸期間避免碰撞的斥力為,其中、為常量;為兩條魚之間的距離。為有指向的法向量。其中遇到捕食者需要旋轉(zhuǎn)的角度為(的取值由agent的運(yùn)動(dòng)速度與捕食者的運(yùn)動(dòng)速度共同決定),如圖所示,其中虛線為調(diào)整后的速度。if then else if then else 式中的“-”表示背離捕食者的運(yùn)動(dòng)方向,即捕食者在agent左側(cè),則agent向右轉(zhuǎn),反之亦然。step1.當(dāng)agent感知到探知范圍內(nèi)有捕食者,
23、或收到其他魚傳的的危險(xiǎn)信息,迅速確定捕食者位置及其運(yùn)動(dòng)速度和方向step2.計(jì)算疲勞度,饑餓感,恐懼感和群體逃逸的排斥力step3.確定規(guī)避的偏轉(zhuǎn)角及逃逸速度,并作為逃逸因子代入約束條件step4.結(jié)合疲勞度,饑餓感,恐懼感和排斥力等確定約束因子的權(quán)重step5. 計(jì)算下一刻速度速度,按時(shí)間步長法不斷迭代并執(zhí)行,直至魚群整體探知內(nèi)無捕食者則回歸自由游動(dòng)。如上圖所示:綠色代表天敵,其他四種顏色代表小魚。在小魚感知到探知范圍內(nèi)有捕食者,或收到其他魚傳的的危險(xiǎn)信息,迅速確定捕食者位置及其運(yùn)動(dòng)速度和方向,然后聚群逃離,免受天敵捕食。5.3.群中信息豐富者對(duì)群體運(yùn)動(dòng)方向的影響的探究5.3.1覓食環(huán)境下的
24、信息交互動(dòng)物不像人們那樣說話,因?yàn)樯婧头毖艿男枰?,他們同樣能夠交流,?dòng)物是通過某種信號(hào)來喚起或影響其他個(gè)體行為的方式就是動(dòng)物間的通訊。他們的通訊方式很多,其中有視覺通訊、聽覺通訊、接觸通訊、電通訊和化學(xué)通訊等,在本題當(dāng)中融合了上述通訊方式的抽象的信息交互方式。當(dāng)一個(gè)agent在覓食環(huán)境中找到食物時(shí)則發(fā)出找到食物這樣的訊息,而其他未找到食物的agent如果感知到了這樣的訊息就會(huì)向發(fā)出訊息處聚集。此題中我們以魚群覓食為研究對(duì)象。5.3.2魚群覓食的中的信息傳遞機(jī)理為方便模型建立,將交互過程定義為agent之間的消息傳遞,我們把通信機(jī)制簡(jiǎn)化如下:1.agent通信范圍:以自身質(zhì)心為中心的,半徑為最
25、大吸引距離的球體;2.通信對(duì)象:位于的通信范圍內(nèi)的所有agent;3.通信過程:a)當(dāng)每一步運(yùn)動(dòng)結(jié)束位置坐標(biāo)發(fā)生變化后,更新成員庫;b)傳遞位置、運(yùn)動(dòng)信息給所有通信對(duì)象;c)所有通信對(duì)象將它們的位置、運(yùn)輸信息傳遞給 。4.通過與通信對(duì)象之間的通信,實(shí)現(xiàn)agent在群體中的局部交互。5.3.3群體信息交互模型的建立為了解信息豐富者在魚群集群運(yùn)動(dòng)中的影響,在前面一些模型建立的基礎(chǔ)上,我們主要從魚群的覓食行為模擬方面進(jìn)行研究:動(dòng)物通過與周圍同伴交互信息尋找食物的過程step1確立魚群中信息豐富者所占比例;step2計(jì)算魚群的饑餓度,疲勞度;step3對(duì)信息豐富者引入信息因子,對(duì)饑餓者結(jié)合自然魚的覓食
26、特性,即離心性和追尾性,引入離心因子和追尾因子,擴(kuò)充各自的約束條件并從新賦予相應(yīng)權(quán)重,迭代計(jì)算;step4調(diào)整信息豐富者比例,重復(fù)上述過程;step5研究結(jié)果,得出結(jié)論。六、模型評(píng)價(jià)歐拉法因?yàn)槠⒎址匠汤碚摪l(fā)展得較為完善,因此對(duì)由偏微分方程構(gòu)建的群集模型的理論分析將易于進(jìn)行,另一個(gè)優(yōu)點(diǎn)就是無需對(duì)群體所處環(huán)境作空間離散化處理,對(duì)于描述大規(guī)模密集而沒有明顯不連續(xù)分布的群集行為非常有效。但是,歐拉法也有一個(gè)明顯的缺點(diǎn),即忽略了個(gè)體的特性。因此,對(duì)于很多群體由有限數(shù)量的大體積或強(qiáng)調(diào)個(gè)體智能特性的個(gè)體成員組成的情況下,將不太適合使用基于歐拉法的連續(xù)集模型,如魚群、鳥群等的群集行為。在解問題一時(shí),繼上面所
27、述的兩種理論之后先考慮動(dòng)物群及運(yùn)動(dòng)的原則:一般游動(dòng)原則、魚群覓食原則、agent躲避障礙物原則,在此原則基礎(chǔ)上建立自由游動(dòng)模型、r-a模型、躲避障礙物模型。建立模型中有考慮各個(gè)因子的對(duì)魚的下一刻游動(dòng)的影響,采用層次法分析其權(quán)重比值,總體思路比較清晰,模型上下的銜接比較好,模型建立比較成功。問題二中在前面模型的基礎(chǔ)上,引進(jìn)當(dāng)agent遭遇捕食者時(shí)的集群運(yùn)動(dòng)模擬算法?;谌斯~群的自組織模型,確立相關(guān)的天敵因子,之后根據(jù)約束因子分配權(quán)重,進(jìn)行迭代計(jì)算,實(shí)現(xiàn)魚群逃逸模擬,而采用根據(jù)約束因子分配權(quán)重也有其局限性:1. 它在很大程度上都依賴于人們的經(jīng)驗(yàn),主觀因素的影響很大。它至多只能排除思維過程中的嚴(yán)重
28、非一致性,卻無法排除可能存在的片面性。2. 比較判斷過程較為粗糙,不能用于精度要求較高的決策問題。問題三同樣是先分析動(dòng)物信息傳遞方式以及信息傳遞機(jī)制建立群體信息交互模型,擴(kuò)充各自的約束條件并從新賦予相應(yīng)權(quán)重,迭代計(jì)算,得出結(jié)論。七、參考文獻(xiàn)1胡曉東,董辰輝,matlab從入門到精通,北京,人民郵電出版社,2010.6;2馬莉,matlab數(shù)學(xué)實(shí)驗(yàn)與建模,北京,清華大學(xué)出版社,2010.1;3江道平,尹怡欣,班曉娟,孟祥嵩,群體中 agent 基于內(nèi)部狀態(tài)的行為選擇,北京,北京科技大學(xué)信息工程學(xué)院;4陳世明,群集行為的建模與控制方法綜述,江西 南昌,華東交通大學(xué)電氣與電子工程學(xué)院;5余建平,周新
29、民, 陳 明,群體智能典型算法研究綜述,長沙湖南師范大學(xué),數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院;6趙建,曾建潮,魚群集群行為的建模與仿真,太原,太原科技大學(xué)系統(tǒng)仿真與計(jì)算機(jī)應(yīng)用研究所;7趙建,魚群群集行為的建模與仿真碩士學(xué)位論文,太原,太原科技大學(xué)。八、附錄8.1層次分析法程序a=1 1/22 1;x,y=eig(a);eigenvalue=diag(y);lamda=eigenvalue(1);cil=(lamda-2)/1;crl=cil/0;w1=x(:,1)/sum(x(:,1); b1=1,4,2,4/3;1/4,1,1/2,1/3;1/2,2,1,2/3;3/4,3,3/2,1;x,y=eig(b
30、1);eigenvalue=diag(y);lamda=eigenvalue(1);ci21=(lamda-4)/3;cr21=ci21/0.9;w21=x(:,1)/sum(x(:,1); b2=1,1/2,1/3,1/4;2,1,2/3,1/2;3,3/2,1,3/4;4,2,4/3,1;x,y=eig(b2);eigenvalue=diag(y);lamda=eigenvalue(1);ci22=(lamda-4)/3;cr22=ci21/0.9; w22=x(:,1)/sum(x(:,1); w_sum=w21,w22*w1; ci=ci21,ci22; cr=ci*w1/sum(0.
31、9*w1);8.2用matlab編寫的二維魚群聚模型8.2.1主函數(shù)clcclear allclose all boids_params.pop_size = 10;boids_params.num_rounds = 500;boids_params.dist_param = 100;boids_params.velocity_limit = 200;boids_params.rand_speed_param = 50;boids_params.bound_square_size = 700;boids_params.bound_speed_param =40;boids_params.ban
32、g_params.cycle = 80;boids_params.bang_params.duration = 0;boids_params.bang_params.power = 20; boids_pop_blue = boids_init(boids_params.pop_size);boids_pop_red = boids_init(boids_params.pop_size); mov = avifile(boids_3.2_hunter_hunted.avi)ticfor iround=1:boids_params.num_rounds boids_params.current_
33、round = iround; boids_pop = boids_pop_blue; boids_pop_red; f = boids_draw(boids_pop, boids_params); mov = addframe(mov,f); blue_center = boids_get_center(boids_pop_blue); red_center = boids_get_center(boids_pop_red); new_boids_pop_blue = boids_move_all_to_new_pos(boids_pop_blue, red_center, 1, boids
34、_params); new_boids_pop_red = boids_move_all_to_new_pos(boids_pop_red, blue_center, 2, boids_params); boids_pop_blue = new_boids_pop_blue; boids_pop_red = new_boids_pop_red; iroundendtocmov = close(mov);8.2避開天敵function v4 = boids_avoid_shark(boid, shark_pos, boids_params) % simple shark escape % if
35、(norm(boid.pos - shark_pos) 0.5*boids_params.bound_square_size) v4 = 0 0;else v4 = (boid.pos - shark_pos)*(1*0.5*boids_params.bound_square_size)/. (5*boids_params.bound_square_size - norm(boid.pos - shark_pos);end % advanced shark escape % boid_shark_vec = shark_pos - boid.pos;scalar_prod = boid_sha
36、rk_vec(1)*boid.v(1) + boid_shark_vec(2)*boid.v(2); if (scalar_prod 0) v4 = 0 0;end8.2.3子函數(shù)1. 畫圖函數(shù)function f = boids_draw(boids_pop,boids_params) x = ;y = ; square_size = boids_params.bound_square_size*2; boids_center_mass = 0 0; for iboid = 1:boids_params.pop_size boids_center_mass = boids_center_ma
37、ss + boids_pop(iboid).pos;end boids_center_mass = boids_center_mass/boids_params.pop_size;% plot(boids_center_mass(1), boids_center_mass(2), or);% hold on; if (rem(boids_params.current_round, boids_params.bang_params.cycle) boids_params.bang_params.duration) plot(boids_center_mass(1), boids_center_m
38、ass(2), or); hold on;end % shark_pos.x = 1.0*boids_params.bound_square_size*cos(2*boids_params.current_round*pi/180);% shark_pos.y = 0.4*boids_params.bound_square_size*sin(5*boids_params.current_round*pi/180);% plot(shark_pos.x, shark_pos.y, og);% hold on; for iboid = 1:size(boids_pop,1) %x = x; boi
39、ds_pop(iboid).pos(1); %y = y; boids_pop(iboid).pos(2); p0 = boids_pop(iboid).pos - boids_pop(iboid).v; p1 = boids_pop(iboid).pos; if (iboid boids_params.bound_square_size*0.9 & boid.v(1) 0 boid.v(1) = boid.v(1) - boids_params.bound_speed_param;endif boid.pos(1) -boids_params.bound_square_size*0.9 &
40、boid.v(1) boids_params.bound_square_size*0.9 & boid.v(2) 0 boid.v(2) = boid.v(2) - boids_params.bound_speed_param;endif boid.pos(2) -boids_params.bound_square_size*0.9 & boid.v(2) boids_params.velocity_limit boid.v = boid.v*0.5*boids_params.velocity_limit / norm(boid.v);end new_boid = boid;6. 位置實(shí)時(shí)更新
41、函數(shù)function new_boids_pop = boids_move_all_to_new_pos(boids_pop, hazard, hunter_hunted, boids_params); boids_pop_size = size(boids_pop,1);bang = 0;if (rem(boids_params.current_round, boids_params.bang_params.cycle) boids_params.bang_params.duration) bang = 1; end new_boids_pop = ; % shark_pos(1) = 0.
42、8*boids_params.bound_square_size*cos(2*boids_params.current_round*pi/180);% shark_pos(2) = 0.8*boids_params.bound_square_size*sin(2*boids_params.current_round*pi/180); for iboid = 1:boids_pop_size boid = boids_pop(iboid); v1 = boids_rule1(boids_pop, boids_pop(iboid),boids_params, bang ); v2 = boids_
43、rule2(boids_pop, boids_pop(iboid), boids_params.dist_param); v3 = boids_rule3(boids_pop, boids_pop(iboid); v4 = boids_avoid_shark(boid, hazard, boids_params); if (hunter_hunted = 2) v4 = -0.05*v4; else v4 = 1.5*v4; end boid = boids_limit_velocity(boid, boids_params); boid = boids_limit_position(boid
44、, boids_params); boid.v = boid.v + v1 + v2 + v3 + v4; boid.pos = boid.pos + boid.v ; new_boids_pop= new_boids_pop ; boid;end8.3visual c+編寫的三維群聚模型#include #include #include cflock.h#include cboid.h#include cbox.h#include vector.h/ static variable initialization/ visible friends list (work space reuse
45、d by each flock boid)cboid * cboid:visiblefriendslist = null;/ constructor and destructor methods/ constructor #1./ creates an individual boid with randomized position and velocity.cboid:cboid (short id_v)#ifdef boid_debug myprintf(ncboid constructor #1 called for boid %d.n,id_v);#endif m_id = id_v;
46、 m_perception_range = default_perception_range; / generate random position各代產(chǎn)生的隨機(jī)位置 m_pos.x = rand() * cbox:worldptr-getboxwidth()/3; m_pos.y = rand() * cbox:worldptr-getboxheight()/3; m_pos.z = rand() * cbox:worldptr-getboxlength()/3; / flip positions for greater randomness產(chǎn)生隨機(jī)速度 if (rand() 0.5f) m
47、_pos.x *= -1; if (rand() 0.5f) m_pos.y *= -1; if (rand() 0.5f) m_pos.z *= -1; / generate random velocity m_vel.x = rand(); m_vel.z = rand(); / flip velocities for greater randomness if (rand() 0.5f) m_vel.x *= -1; if (rand() 0.5f) m_vel.z *= -1;速度更新 / compute speed based on velocity m_speed = m_vel.length(); / zero out orientation初始方向 m_ang.x = m_ang.y = m_ang.z = 0; / other values m_num_flockmates_seen = 0; m_nearest_flockmate = null; m_dist_to_nearest_flockmate = infinity; m_num
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版機(jī)械行業(yè)科技創(chuàng)新合作合同書3篇
- 二零二五版藝術(shù)品字畫購銷與倉儲(chǔ)管理合同2篇
- 二零二五版農(nóng)業(yè)用地土壤環(huán)境質(zhì)量調(diào)查委托合同3篇
- 二零二五版LED顯示屏安全防護(hù)與應(yīng)急響應(yīng)合同3篇
- 美容院商鋪?zhàn)赓U合同(2025版):美容院美容美體設(shè)備租賃及售后服務(wù)協(xié)議2篇
- 二零二五年綠色建筑空調(diào)系統(tǒng)設(shè)計(jì)與施工合同3篇
- 二零二五版廢舊設(shè)備買賣及環(huán)保處理合同2篇
- 二零二五版房地產(chǎn)投資合作三方買賣合同3篇
- 二零二五版二手車鑒定評(píng)估及轉(zhuǎn)讓合同3篇
- 2025年度不銹鋼太陽能板安裝工程合同3篇
- GB/T 12914-2008紙和紙板抗張強(qiáng)度的測(cè)定
- GB/T 1185-2006光學(xué)零件表面疵病
- ps6000自動(dòng)化系統(tǒng)用戶操作及問題處理培訓(xùn)
- 家庭教養(yǎng)方式問卷(含評(píng)分標(biāo)準(zhǔn))
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計(jì)和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級(jí)語文下冊(cè)《蜘蛛開店》
- 鍋爐升降平臺(tái)管理
- 200m3╱h凈化水處理站設(shè)計(jì)方案
- 個(gè)體化健康教育記錄表格模板1
評(píng)論
0/150
提交評(píng)論