1. 程式人生 > >粒子群演算法4——粒子群演算法與蟻群演算法的異同點

粒子群演算法4——粒子群演算法與蟻群演算法的異同點

群體智慧演算法家族的兩個重要成員就是粒子群演算法與蟻群演算法。基本思想都是模擬自然界生物群體行為來構造隨機優化演算法的,不同的是粒子群演算法模擬鳥類群體行為,而蟻群演算法模擬螞蟻覓食原理。
1.相同點
(1)都是一類不確定演算法。不確定性體現了自然界生物的生物機制,並且在求解某些特定問題方面優於確定性演算法。仿生優化演算法的不確定性是伴隨其隨機性而來的,其主要步驟含有隨機因素,從而在演算法的迭代過程中,事件發生與否有很大的不確定性。
(2)都是一類概率型的全域性優化演算法。非確定演算法的優點在於演算法能有更多機會求解全域性最優解。
(3)都不依賴於優化問題本身的嚴格數學性質。在優化過程中都不依賴於優化問題本身嚴格數學性質(如連續性,可導性)以及目標函式和約束條件精確的數學描述。
(4)都是一種基於多個智慧體的仿生優化演算法。仿生優化演算法中的各個智慧體之間通過相互協作來更好的適應環境,表現出與環境互動的能力。
(5)都具有本質並行性。仿生優化演算法的本質並行性表現在兩個方面:仿生優化計算的內在並行性(inherent parallelism )和內含並行性(implicit parallelism ),這使得仿生優化演算法能以較少的計算獲得較大的收益。
(6)都具有突出性。仿生優化演算法總目標的完成是在多個智慧體個體行為的運動過程中突現出來的。
(7)都具有自組織和進化性。具有記憶功能,所有粒子都儲存優解的相關知識。在不確定的複雜時代環境中,仿生優化演算法可以通過自學習不斷提高演算法中個體的適應性。
(8)都具有穩健性。仿生優化演算法的穩健性是指在不同條件和環境下演算法的實用性和有效性。由於仿生優化演算法不依賴於優化問題本身嚴格數學性質和所求問題本身的結構特徵,因此用仿生優化演算法求解不同問題時,只需要設計相應的評價函式(代價函式),而基本上無需修改演算法的其他部分。但是對高維問題複雜問題,往往會遇到早熟收斂和收斂效能差的缺點,都無法保證收斂到最優點。
~~~~~~~~~~~~~~~~~
這是一條奇怪的分割線~~~~~~~~~~~~~~~~~~~~~~~~
進入正題~~區別!!!!!
2.不同點
(1)粒子群演算法。粒子群演算法是一種原理相當簡單的啟發式演算法,與其他仿生演算法相比,它所需的程式碼和引數較少。
粒子群演算法通過當前搜尋到的最優點進行共享資訊,很大程度上這是一種單項資訊共享機制。
粒子群演算法受所求問題維數的影響較小。
粒子群演算法的數學基礎相對較為薄弱,目前還缺乏深刻且具有普遍意義的理論分析。在對收斂性分析方面研究還需進一步將確定性向隨機性轉化。
(2)蟻群演算法。蟻群演算法採用了正反饋機制,這是不同於其他仿生演算法最為顯著的一個特點。
蟻群演算法中那個個體只能感知區域性資訊,不能直接利用全域性資訊。
基本蟻群演算法一般需要較長的搜尋時間,且容易出現停滯現象。
蟻群演算法的收斂效能對初始化引數的設定較為敏感。
蟻群演算法已經有了較成熟的收斂性分析方法,並且可對收斂速度進行估計。

相關推薦

粒子演算法4——粒子演算法演算法異同

群體智慧演算法家族的兩個重要成員就是粒子群演算法與蟻群演算法。基本思想都是模擬自然界生物群體行為來構造隨機優化演算法的,不同的是粒子群演算法模擬鳥類群體行為,而蟻群演算法模擬螞蟻覓食原理。 1.相同點 (1)都是一類不確定演算法。不確定性體現了自然界生物的生物機制,並且在求解某些特定問題方面優於確定性演算法。

CentOS7.5搭建Solr7.4.0單機版

resources ren 設置 ima -s and tar json 嘗試 一.Solr安裝環境 1.官方參考文檔 Solr教程參考指南:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.html 2.So

演算法4-6:KMP字串模式匹配演算法實現 (c語言)

[提交] [統計] [提問] 題目描述 KMP演算法是字串模式匹配演算法中較為高效的演算法之一,其在某次子串匹配母串失敗時並未回溯母串的指標而是將子串的指標移動到相應的位置。嚴蔚敏老師的書中詳細描述了KMP演算法,同時前面的例子中也描述了子串移動位置的陣列實現的演算法。前面你已經實現

ThinkPHP5ThinkPHP3的一些異同

官方說過了,不要用3的思維去用5。這樣說吧算是官方出的倆個產品,並非版本迭代的關係。目錄結構不一樣,有些函式名不一樣。如果是傳統的mvc網站,用tp3.2。如果是做介面,就用tp5。前後主要差別應該就是對於view的處理。 模型例項化 TP5取消了自動例項化模型的M方

【尋優演算法粒子演算法(PSO) 引數尋優的python實現

【尋優演算法】粒子群演算法(PSO) 引數尋優的python實現 一、演算法原理 1、粒子群演算法的名詞解釋 2、粒子更新 二、PSO演算法引數尋優的python實現 參考資料 粒子群優化演算法(Particle

【智慧演算法粒子演算法(Particle Swarm Optimization)超詳細解析+入門程式碼例項講解

喜歡的話可以掃碼關注我們的公眾號哦,更多精彩盡在微信公眾號【程式猿聲】 01 演算法起源 粒子群優化演算法(PSO)是一種進化計算技術(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源於對鳥群捕食的行為研究 。該演算法最初是受到飛鳥叢集

進化演算法粒子(PSO)

概述: 正如其他的那些進化演算法一樣,粒子群演算法的靈感同樣來自於大自然。它由Eberhart和Kennedy共同提出的,其基本思想來自於他們早期對許多鳥類的群體行為進行建模模擬研究結果的啟發。 假設在一塊廣袤無垠的棲息地上有一群自由自在的鳥兒和一堆豐盛的食

[Algorithm] 群體智慧優化演算法粒子優化演算法

%% 該檔案演示基於TSP-PSO演算法 clc;clear %% 載入資料 data=load('eil51.txt') cityCoor=[data(:,2) data(:,3)];%城市座標矩陣 figure plot(cityCoor(:,1),cityCoor(:,2),'m

遺傳演算法粒子演算法演算法對比

遺傳演算法適合求解離散問題,具備數學理論支援,但是存在著漢明懸崖等問題.粒子群演算法適合求解實數問題,演算法簡單,計算方便,求解速度快,但是存在著陷入區域性最優等問題.蟻群演算法適合在圖上搜索路徑問題,計算開銷會大.要將三種演算法進行混合,就要針對特定問題,然後融合其中的優勢

遺傳演算法 差分進化演算法 粒子優化演算法區別

一 遺傳演算法 遺傳演算法(GA)作為一種經典的進化演算法,自 Holland提出之後在國際上已經形成了一個比較活躍的研究領域. 人們對 GA 進行了大量的研究,提出了各種改進演算法用於提高演算法的收斂速度和精確性. 遺傳演算法採用選擇,交叉,變異操作,在問題空間搜尋最優解.

2018-4-8演算法---包子陽《智慧優化演算法以及Matlab實現》第五章

資料來源:《智慧優化演算法以及matlab實現》包子陽  餘繼周 編著第五章-----蟻群演算法是一種元啟發式優化演算法(自己理解:就是作為群體的單位個體也就是元,在裡面充當著隨機的選擇搜尋的方向,有助於全域性勘探)啟發:自然界的螞蟻有能力在沒有然和提示的情況下找到從巢穴矩離

TSP問題及演算法理解實現

/** * Created by coco on 17-10-20. */ import java.io.*; import java.util.logging.Logger; import static java.util.logging.Logger.getLogger; public class

演算法學習

** 蟻群演算法的基本原理(簡單概括): ** 剛開始螞蟻按照同等概率選擇各條路徑。 螞蟻在經過的路徑下留下資訊素。 短的路徑螞蟻會率先找到食物源,因此資訊素濃度偏大。 由於資訊素的揮發,較長路徑上的資訊素逐漸消失 特點:正反饋;不容易陷入區域

C++:演算法解決TSP(C++多執行緒版)

TSP問題:旅行商問題,最短迴路。 這裡採用att48資料,鄰接矩陣全部取整數,原資料放在文後。 解決程式碼如下: //#define TEST_INPUT //#define TEST_T //#define TEST_ANT //#define TEST_VALUE #

【Java】 大話資料結構(17) 排序演算法(4) (歸併排序) 資料結構演算法合集 資料結構演算法合集

本文根據《大話資料結構》一書,實現了Java版的堆排序。 更多:資料結構與演算法合集 基本概念   歸併排序:將n個記錄的序列看出n個有序的子序列,每個子序列長度為1,然後不斷兩兩排序歸併,直到得到長度為n的有序序列為止。   歸併方法:每次在兩個子序列中找到較小的那一個賦值給合併序列(通過指標進行操

叢集智慧-優化演算法

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

Chapter 1. 龐加萊、單粒子態和時間空間反演

1. 前言 本部分參考了Weinberg的量子場論第一卷第二章的內容。如果具備一些關於群表示論的知識,閱讀Weinberg 的量子場論無疑是一種享受。雖然其它場論教科書的語言通俗易懂(尤其是Shwartz的場論,但Schwartz的書在數學上也十分嚴謹),可以幫助讀者較快地理解物理影象,但是不準確的表達也十

【機器學習筆記35】演算法

【參考資料】 【1】《蟻群演算法原理及其應用》 【2】測試資料: https://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/tsp/att48.tsp.gz 演算法原理(以TSP問題為例) (1)引數初始化。令時間t=0和迴圈次數

演算法matlab

(一)蟻群演算法的由來 蟻群演算法最早是由Marco Dorigo等人在1991年提出,他們在研究新型演算法的過程中,發現蟻群在尋找食物時,通過分泌一種稱為資訊素的生物激素交流覓食資訊從而能快速的找到目標,據此提出了基於資訊正反饋原理的蟻群演算法。 蟻群演算法的基本思想來源於自然界螞

noip資料結構演算法 之 基礎小演算法 4 二維差值維護

noip資料結構與演算法 之 基礎小演算法 4 二維差值維護 二維差值維護問題實際上是對一維差值維護問題的擴充套件,相信來看二維差值維護的各位都已經對一維差值維護問題有足夠的認識了。下面先看一下二維差值維護的問題。  問題描述: 已知一個n*n的矩陣a,有m次操作,每次