1. 程式人生 > >叢集智慧-蟻群優化演算法

叢集智慧-蟻群優化演算法

群體智慧
 1.叢集智慧
    眾多無智慧的個體,通過相互之間的簡單合作所表現出來的智慧行為
2.博弈
   具備一定智慧的理性個體,按照某種機制行動,在群體層面體現出的智慧
3.眾包
   設計合適的機制,激勵個體參與,從而實現單個個體不具備的社會智慧


叢集智慧是分散式、 自組織的(自然/人造)系統表現出的一種群體智慧
 

叢集智慧系統一般由一群簡單的智慧體構成,智慧體按照簡單的規則彼此進行區域性互動,智慧體也可以環境互動,靈感通常來自生物系統
 

叢集智慧
 特點
 分散式:無中心控制
 隨機性:非確定性
 自適應:個體根據環境進行策略調整
 正反饋:好的嘗試會對個體產生正反饋
 自發湧現:會在群體層面湧現出一種智慧

 

代表性方法
 蟻群優化演算法
 粒子群優化演算法
 

蟻群優化演算法

     旅行商問題的蟻群優化求解

 

⑴初始化 隨機放置螞蟻
⑵迭代過程
iter =1
while iter =< ItCount do (執行迭代)
for i = 1 to m do (對m只螞蟻迴圈)
for j = 1 to n - 1 do (對n個城市迴圈)
根據式(1),採用輪盤賭方法在視窗外選擇下一個城市j;
將j置入禁忌表,螞蟻轉移到j;
end for
end for
計算每隻螞蟻經過的路徑長度;
根據式(2)更新所有螞蟻路徑上的資訊量;
iter = iter + 1;
end while
⑶輸出結果,結束演算法


蟻群大小
 一般情況下,蟻群中的螞蟻個數不超過TSP圖中節點的
個數
 終止條件
 設定迭代輪數
 設定最優解連續保持不變的迭代輪數

 

思想
 區域性隨機搜尋+正反饋(自增強)
 個體通過釋放資訊素改變環境,個體能夠感知環境
的實時變化,個體間通過環境實現間接通訊
 
 缺點

 收斂速度慢
 對於解空間為連續的優化問題不適用