人工魚群算法matlab_混和算法_ChinaUnix博客
本文關(guān)鍵詞:魚群算法,由筆耕文化傳播整理發(fā)布。
人工魚群算法 2012-11-13 21:23:41
分類:
人工魚群算法主要利用魚的三大基本行為:覓食、聚群和追尾行為,采用自上而下的尋優(yōu)模式從構(gòu)造個體的底層行為開始,,通過魚群中各個體的局部尋優(yōu),達(dá)到全局最優(yōu)值在群體中凸顯出來的目的。
(1) 覓食行為:這是魚趨向食物的一種活動,一般認(rèn)為它是通過視覺或味覺來感知水中的食物兩或食物濃度來選擇行動的方向。
(2) 聚群行為:大量或少量的魚聚集成群,進(jìn)行集體覓食和躲避敵害,這是它們在進(jìn)化過程中形成的一種生存方式。
(3) 追尾行為:當(dāng)某一條魚或幾條魚發(fā)現(xiàn)食物時,它們附近的魚會尾隨而來,導(dǎo)致更遠(yuǎn)處的魚也會尾隨過來。
覓食行為主要認(rèn)為是循著食物多的方向游動的一種行為,在尋優(yōu)中則是向較優(yōu)方向進(jìn)行的迭代方式。聚群行為能夠很好的跳出局部極值,并盡可能搜索到其它的極值,最終搜索到全局極值。追尾行為有助于快速的向某個極值方向前進(jìn),加快尋優(yōu)的速度,并防止人工魚在局部振蕩而停滯不前。魚群算法在對以上行為進(jìn)行評價后,自動選擇合適的行為,從而形成一種高效快速的尋優(yōu)策略。
人工魚群算法的行為描述:
覓食行為:設(shè)置人工魚當(dāng)前狀態(tài),并在其感知范圍內(nèi)隨機(jī)選擇另一個狀態(tài),如果得到的狀態(tài)的目標(biāo)函數(shù)大于當(dāng)前的狀態(tài),則向新選擇得到的狀態(tài)靠近一步,反之,重新選取新狀態(tài),判斷是否滿足條件,選擇次數(shù)達(dá)到一定數(shù)量后,如果仍然不滿足條件,則隨機(jī)移動一步。
聚群行為:人工魚探索當(dāng)前鄰居內(nèi)的伙伴數(shù)量,并計算伙伴的中心位置,然后把新得到的中心位置的目標(biāo)函數(shù)與當(dāng)前位置的目標(biāo)函數(shù)相比較,如果中心位置的目標(biāo)函數(shù)優(yōu)于當(dāng)前位置的目標(biāo)函數(shù)并且不是很擁擠,則當(dāng)前位置向中心位置移動一步,否則執(zhí)行覓食行為。
追尾行為:人工魚探索周圍鄰居魚的最優(yōu)位置,當(dāng)最優(yōu)位置的目標(biāo)函數(shù)值大于當(dāng)前位置的目標(biāo)函數(shù)值并且不是很擁擠,則當(dāng)前位置向最優(yōu)鄰居魚移動一步,否則執(zhí)行覓食。
根據(jù)所要解決的問題性質(zhì),對人工魚當(dāng)前所處的環(huán)境進(jìn)行評價,從而選擇一種行為。較常用的評估方法是:選擇各行為中使得向最優(yōu)方向前進(jìn)最大的方向,也就是各行為中使得人工魚的下一步狀態(tài)最優(yōu)的行為,如果沒有能使下一個狀態(tài)優(yōu)于當(dāng)前狀態(tài)的行為,則采用隨機(jī)行為。
人工魚群算法步驟:
Step3:計算每條魚的食物濃度函數(shù)(目標(biāo)函數(shù)),把最優(yōu)的值放入公告板中;
Step4:對于每條人工魚執(zhí)行以下操作
(1) 計算出追尾行為、聚群行為的值,采用行為選擇策略,選擇最優(yōu)的行為作為魚的移動方向,缺省行為是覓食行為。
(2) 計算出每條魚的食物濃度函數(shù)(目標(biāo)函數(shù)),其最優(yōu)值與公告板中的值進(jìn)行比較,最終公告板中始終保持最優(yōu)的值。
最終公告板中的值就是最優(yōu)值。
閱讀(3773) | 評論(0) | 轉(zhuǎn)發(fā)(0) |
0
上一篇:73種網(wǎng)頁常用js代碼
下一篇:多種仿生優(yōu)化算法的特點(diǎn)
相關(guān)熱門文章
給主人留下些什么吧!~~
評論熱議
請登錄后評論。
登錄 注冊
本文關(guān)鍵詞:魚群算法,由筆耕文化傳播整理發(fā)布。
本文編號:55080
本文鏈接:http://sikaile.net/wenshubaike/shangbiaozhuanli/55080.html