粒子群演算法(一)

2021-07-07 10:13:11 字數 2967 閱讀 3239

(一)背景介紹

1.1、人工生命

人工生命:研究具有某些生命基本特徵的人

工系統。包括兩方面的內容:

1、研究如何利用計算技術研究生物現象;

2、研究如何利用生物技術研究計算問題。

此處關注的是第二點。

已有很多源於生物現象的計算技巧,例如神

經網路和遺傳演算法。

現在討論另一種生物系統統---社會系統:由簡

單個體組成的群落和

環境及個體之間的相互

行為。

1.2、群智慧型

模擬系統利用區域性資訊從而可以產生不可**的群行為。

經常能夠看到成群的鳥、魚或者浮游生物。這些生物的聚集行為有利於它們覓食和逃避捕食者。它們的群落動輒以

十、百、千甚至萬計,並且經常不存在乙個統一的指揮者。它們是如何完成聚集、移動這些功能呢?

2023年,

millonas在開發人工生命演算法時,提出群體智慧型概念並提出五點原則:

1、接近性原則:群體應能夠實現簡單的時空計算;

2、優質性原則:群體能夠響應環境要素;

3、變化相應原則:群體不應把自己的活動限制在一狹

小範圍;

4、穩定性原則:群體不應每次隨環境改變自己的模式;

5、適應性原則:群體的模式應在計算代價值得的時候

改變。

1.3、模擬群

鳥群行為的模擬:reynolds、heppner和grenader提出鳥群行為的模擬。他們發現鳥群在行進中會突然同步的改變方向,散開或聚集等。那麼一定有某種潛在的能力或規則保證了這些同步的行為。這些科學家都認為上述行為是基於不可預知的鳥類社會行為中的群體動態學。在這些早期的模型中僅僅依賴個體間距的操作,也就是說,這種同步是鳥群中個體之間努力保持最優距離的結果。

魚群行為的研究:生物社會學家e.o.wilson對魚群進行了研究,提出:「至少在理論上,魚群的個體成員能夠受益於群體中其他個體在尋找食物過程中的發現和以前的經驗,這種受益超過了個體之間的競爭所帶來的利益消耗」。這說明,同種生物之間資訊的社會共享能夠帶來好處,這是pso的基礎。

(二)粒子群演算法的歷史

粒子群演算法源於複雜適應系統(complex adaptive system,cas)。cas理論於2023年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程「學習」或「積累經驗」改變自身結構與行為。整個系統的演變或進化包括:新層次的產生(小鳥的出生);分化和多樣性的出現(鳥群中的鳥分成許多小的群);新主題的出現(鳥尋找食物過程中,不斷發現新的食物)。所以cas系統中的主體具有4個基本特點(這些特點是粒子群演算法發展變化的依據):

粒子群演算法就是對乙個cas系統--鳥群社會系統的研究得出的。

粒子群演算法(particle swarm optimization, pso)最早是由eberhart和kennedy於2023年提出,它的基本概念源於對鳥群覓食行為的研究。設想這樣乙個場景:一群鳥在隨機搜尋食物,在這個區域裡只有一塊食物,所有的鳥都不知道食物在**,但是它們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢?最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。   

pso演算法就從這種生物種群行為特性中得到啟發並用於求解優化問題。在pso中,每個優化問題的潛在解都可以想象成d維搜尋空間上的乙個點,稱之為「粒子」(particle),所有粒子都有乙個被目標函式決定的適應值(fitness value ),每個粒子還有乙個速度決定他們飛翔的方向和距離,然後粒子們就追隨當前的最優粒子在解空間中搜尋。reynolds對鳥群飛行的研究發現。鳥僅是追蹤它有限數量的鄰居但最終的整體結果是整個鳥群好像在乙個中心的控制下.即複雜的全域性行為是由簡單規則的相互作用引起的。

(三)(四)粒子群演算法的具體描述

pso演算法就是模擬一群鳥尋找食物的過程,每個鳥就是pso中的粒子,也就是求解問題的可能解,這些鳥在尋找食物的過程中,不停改變自己在空中飛行的位置與速度。可以觀察一下,鳥群在尋找食物的過程中,開始鳥群比較分散,逐漸這些鳥就會聚成一群,這個群忽高忽低、忽左忽右,直到最後找到食物。這個過程可以轉化為乙個數學問題。尋找函式y=1-cos(3*x)*exp(-x)的在[0,4]最大值。該函式的圖形如下:

當x=0.9350-0.9450,達到最大值y=1.3706。為了得到該函式的最大值,在[0,4]之間隨機的灑一些點,為了演示,放置兩個點,並且計算這兩個點的函式值,同時給這兩個點設定在[0,4]之間的乙個速度。下面這些點就會按照一定的公式更改自己的位置,到達新位置後,再計算這兩個點的值,然後再按照一定的公式更新自己的位置。直到最後在y=1.3706這個點停止自己的更新。這個過程與粒子群演算法作為對照如下:

下面演示一下這個演算法執行一次的大概過程:

第一次初始化

第一次更新位置

第二次更新位置

第21次更新

最後的結果(30次迭代)

最後所有的點都集中在最大值的地方。

粒子群優化演算法 粒子群演算法

粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...

粒子群演算法

如前所述,pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。pso從這種模型中得到啟示並用於解決優化問題。ps...

粒子群演算法

一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程 學習 或 積累經驗...