粒子群演算法和遺傳演算法的比較
粒子群演算法(PSO)和遺傳演算法(GA)都是優化演算法,都力圖在自然特性的基礎上模擬個體種群的適應性,它們都採用一定的變換規則通過搜尋空間求解。
PSO和GA的相同點:
(1)都屬於仿生演算法。PSO主要模擬鳥類覓食、人類認知等社會行為而提出;GA主要借用生物進化中“適者生存”的規律。
(2)都屬於全域性優化方法。兩種演算法都是在解空間隨機產生初始種群,因而演算法在全域性的解空間進行搜尋,且將搜尋重點集中在效能高的部分。
(3)都屬於隨機搜尋演算法。都是通過隨機優化方法更新種群和搜尋最優點。PSO中認知項和社會項前都加有隨機數;而GA的遺傳操作均屬隨機操作。 (4)都隱含並行性。搜尋過程是從問題解的一個集合開始的,而不是從單個個體開始,具有隱含並行搜尋特性,從而減小了陷入區域性極小的可能性。並且由於這種並行性,易在平行計算機上實現,以提高演算法效能和效率。
(5)根據個體的適配資訊進行搜尋,因此不受函式約束條件的限制,如連續性、可導性等。
(6)對高維複雜問題,往往會遇到早熟收斂和收斂效能差的缺點,都無法保證收斂到最優點。
PSO和GA不同點
(1)PSO有記憶,好的解的知識所有粒子都儲存,而GA沒有記憶,以前的知識隨著種群的改變被破壞。
(2)在GA演算法中,染色體之間相互共享資訊,所以整個種群的移動是比較均勻地向最優區域移動。PSO中的粒子僅僅通過當前搜尋到最優點進行共享資訊,所以很大程度上這是一種單項資訊共享機制,整個搜尋更新過程是跟隨當前最優解的過程。在大多數情況下,所有粒子可能比遺傳演算法中的進化個體以更快速度收斂於最優解。
(3)GA的編碼技術和遺傳操作比較簡單,而PSO相對於GA,不需要編碼,沒有交叉和變異操作,粒子只是通過內部速度進行更新,因此原理更簡單、引數更少、實現更容易。
(4)在收斂性方面,GA己經有了較成熟的收斂性分析方法,並且可對收斂速度進行估計;而PSO這方面的研究還比較薄弱。儘管已經有簡化確定性版本的收斂性分析,但將確定性向隨機性的轉化尚需進一步研究。
(5)在應用方面,PSO演算法主要應用於連續問題,包括神經網路訓練和函式優化等,而GA除了連續問題之外,還可應用於離散問題,比如TSP問題、貨郎擔問題、工作車間排程等。
相關文章
- 遺傳演算法演算法
- 遺傳演算法的基本框架演算法框架
- 遺傳演算法(一):Basic GA演算法
- python遺傳演算法(詳解)Python演算法
- 透過MATLAB分別對比二進位制編碼遺傳最佳化演算法和實數編碼遺傳最佳化演算法Matlab演算法
- 排序演算法效能比較排序演算法
- 演算法:比較含退格的字串演算法字串
- 如何學習python遺傳演算法?Python演算法
- 人工智慧 (13) 遺傳演算法人工智慧演算法
- 10分鐘搞懂遺傳演算法演算法
- 初練演算法,比較演算法之美演算法
- 常用的比較排序演算法總結排序演算法
- 遺傳演算法詳解與實驗演算法
- 遺傳演算法解決TSP問題演算法
- 遺傳演算法組卷使用心得演算法
- 遺傳演算法庫DEAP的示例程式碼的學習和分析演算法
- 共識演算法的比較:Casper vs Tendermint演算法
- 基於遺傳演算法的HFSS和C#聯合模擬(一)演算法C#
- Unity中利用遺傳演算法訓練MLPUnity演算法
- 遺傳演算法求解TSP問題(python版)演算法Python
- 用遺傳演算法進行特徵選擇演算法特徵
- 智慧優化演算法——python實現免疫遺傳演算法的影像擬合優化演算法Python
- 06聚類演算法-程式碼案例二-K-Means演算法和MiniBatchK-Means演算法比較聚類演算法BAT
- 三種高階比較排序演算法排序演算法
- 【智慧優化演算法】遺傳演算法的精英選擇策略、期望選擇策略優化演算法
- 遺傳演算法解決旅行商問題(TSP)演算法
- 利用遺傳學演算法求解工作分配問題演算法
- 利用遺傳演算法庫DEAP優化交易策略演算法優化
- 使用MPI並行化遺傳演算法框架GAFT並行演算法框架
- 【演算法】遺傳演算法GA中幾種交叉運算元小結演算法
- 【多目標優化演算法】非支配的精英策略遺傳演算法:NSGA-II優化演算法
- 元啟發式演算法庫 MEALPY 初體驗-遺傳演算法為例演算法
- 基於Python的遺傳演算法特徵約簡(附程式碼)Python演算法特徵
- Python-遺傳演算法君主交叉程式碼實現Python演算法
- 【演算法】GPLT - L1 - 比較大小(10分)演算法
- 集合差異比較演算法及效能測試演算法
- 遺傳演算法解決函式最佳化問題演算法函式
- 直播場景音訊降噪,傳統演算法 VS AI 演算法對比和實踐音訊演算法AI