人工魚群算法


人工魚群算法

文章插圖
人工魚群算法:
在一片水域中,魚往往能自行或尾隨其他魚找到營養物質多的地方,因而魚生存數目最多的地方一般就是本水域中營養物質最多的地方,人工魚群算法就是根據這一特點,通過構造人工魚來模仿魚群的覓食、聚群及追尾行為,從而實現尋優,以下是魚的幾種典型行為:
(1)覓食行為:一般情況下魚在水中隨機地自由游動,當發現食物時,則會向食物逐漸增多的方向快速游去 。
(2)聚群行為:魚在游動過程中為了保證自身的生存和躲避危害會自然地聚集成群,魚聚群時所遵守的規則有三條:分隔規則:盡量避免與臨近伙伴過于擁擠對準規則:盡量與臨近伙伴的平均方向一致內聚規則:盡量朝臨近伙伴的中心移動 。
(3)追尾行為:當魚群中的一條或幾條魚發現食物時,其臨近的伙伴會尾隨其快速到達食物點 。
(4)隨機行為:單獨的魚在水中通常都是隨機游動的,這是為了更大范圍地尋找食物點或身邊的伙伴 。
人工魚群算法及其應用研究的研究方法是智能優化算法 。智能優化算法作為新興的搜索算法,一般是指利用自然界的生物系統與優化過程的某些相似性而逐步發展起來的優化算法,如遺傳算法、粒子群算法、蟻群算法等,它們通過對搜索空間中的一組解按概率規則操作得到下一組解而人工魚群算法及其應用研究的研究方法包括在智能優化算法內,所以人工魚群算法及其應用研究的研究方法是智能優化算法 。
人工魚群算法和粒子群算法的區別一個就是算法本身的設計,第二個就是算法的優劣性 。
1、第一個方面的算法設計是取決的設計人對社會、自然的一些觀察得到的算法思想,人工魚群算法屬于生物學范疇 。
2、粒子群算法、螢火蟲和蟻群算法屬于自然科學范疇 。
【人工魚群算法】3、粒子群算法的收斂性不好,容易陷入局部最優,而蟻群算法可以避免這個缺點 。

    推薦閱讀