原文
粒子群演算法簡介
一、粒子群演算法的歷史
粒子群演算法源於複雜適應系統(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演算法。
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次迭代)
最後所有的點都集中在最大值的地方。
呵呵,現在粒子群演算法的大概思想就說到這裡。下節介紹標準的粒子群演算法。
粒子群演算法 1 粒子群演算法簡介
粒子群演算法簡介 一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程 ...
粒子群優化演算法 粒子群演算法
粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...
粒子群演算法簡介
通俗的解釋 pso演算法。pso演算法就是模擬一群鳥尋找食物的過程,每個鳥就是 pso中的粒子,也就是我們需要求解問題的可能解,這些鳥在尋找食物的過程中,不停改變自己在空中飛行的位置與速度。大家也可以觀察一下,鳥群在尋找食物的過程中,開始鳥群比較分散,逐漸這些鳥就會聚成一群,這個群忽高忽低 忽左忽右...