進化演算法和遺傳演算法
㈠ Evolutionary Algorithms,Genetic Algorithm 進化演算法和遺傳演算法二者有啥區別
Evolutionary Algorithms:進化演算法;
Genetic Algorithm:遺傳演算法;
進化演算法包括遺傳演算法、進化程內序設計、進化規劃和進化策略。容
基於對生物進化機制的模仿,共產生進化演算法的四種典型模型:
①遺傳演算法 Genetic Algorithm,GA
②進化規劃 Evolutionary Programming,EP
③遺傳規劃 Genetic Programming,GP
④進化策略 Evolution Strategy, ES
雖然這些概念的內涵有一定的差別,它們有各自不同的側重點,各自有不同的生物進化背景,各自強調了生物進化過程中的不同特性,但本質上都基於進化思想的,都能產生魯棒性較強的計算機演算法,適應面較廣,因此又稱它們為進化演算法或進化計算。
㈡ 量子遺傳演算法與遺傳演算法有什麼區別
遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(indivial)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。由於仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並藉助於自然遺傳學的遺傳運算元(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化一樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。
量子遺傳演算法是量子計算與遺傳演算法相結合的產物。目前,這一領域的研究主要集中在兩類模型上:一類是基於量子多宇宙特徵的多宇宙量子衍生遺傳演算法(Quantum Inspired Genetic Algorithm),另一類是基於量子比特和量子態登加特性的遺傳量子演算法(Genetic Quantum Algorithm,GQA)。
量 子遺傳演算法(Quantum GeneticA lgorithm,QGA)。QGA採用多狀態基因量子比特編碼方式和通用的量子旋轉門操作。引入動態調整旋轉角機制和量子交叉,比文獻[2]的方法更具有通用性,且效率更高。但該方法仍是一個群體獨自演化沒有利用盈子信息的多宇宙和宇宙間的糾纏特性效率有待進一步提高。文獻[3]提出一種多宇宙並行量子遺傳演算法(Multiuniverse Parallel Quantum Genetic Algorithm,MPQGA),演算法中將所有的個體按照一定的拓撲結構分成一個個獨立的子群體,稱為宇宙;採用多狀態基因量子比特編碼方式來表達宇宙中的個體;採用通用的量子旋轉門策略和動態調整旋轉角機制對個體進行演化;各宇宙獨立演化,這樣可擴大搜索空間,宇宙之間採用最佳移民、量子交叉和量子變異操作來交換信息使演算法的適應性更強,效率更高。
㈢ 蟻群演算法、遺傳演算法、蜂群演算法、粒子群演算法和差分進化演算法,這五種群智能對比分析
粒子群演算法(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問題、貨郎擔問題、工作車間調度等。
㈣ 網上經常所說的遺傳演算法與基因演算法是一回事嗎有什麼不同各自的用途用在什麼地方
遺傳演算法
GA是一種基於自然群體遺傳演化機制的高效探索演算法,它是美國學者Holland於1975年首先提出來的。
它摒棄了傳統的搜索方式,模擬自然界生物進化過程,採用人工進化的方式對目標空間進行隨機化搜索。它將問題域中的可能解看作是群體的一個個體或染色體,並將每一個體編碼成符號串形式,模擬達爾文的遺傳選擇和自然淘汰的生物進化過程,對群體反復進行基於遺傳學的操作(遺傳,交叉和變異),根據預定的目標適應度函數對每個個體進行評價,依據適者生存,優勝劣汰的進化規則,不斷得到更優的群體,同時以全局並行搜索方式來搜索優化群體中的最優個體,求得滿足要求的最優解。
Holland創建的遺傳演算法是一種概率搜索演算法,它是利用某種編碼技術作用於稱為染色體的數串,其基本思想是模擬由這些組成的進化過程。跗演算法通過有組織地然而是隨機地信息交換重新組合那些適應性好的串,在每一代中,利用上一代串結構中適應好的位和段來生成一個新的串的群體;作為額外增添,偶爾也要在串結構中嘗試用新的位和段來替代原來的部分。
遺傳演算法是一類隨機化演算法,但是它不是簡單的隨機走動,它可以有效地利用已經有的信息處理來搜索那些有希望改善解質量的串,類似於自然進化,遺傳演算法通過作用於染色體上的基因,尋找好的染色體來求解問題。與自然界相似,遺傳演算法對待求解問題本身一無所知,它所需要的僅是對演算法所產生的每個染色體進行評價,並基於適應度值來造反染色體,使適用性好的染色體比適應性差的染色體有更多的繁殖機會。
基因:組成染色體的單元,可以表示為一個二進制位,一個整數或一個字元等。
染色體或個體:表示待求解問題的一個可能解,由若干基因組成,是GA操作的基本對象。
群體:一定數量的個體組成了群體,表示GA的遺傳搜索空間。
適應度或適度:代表一個個體所對應解的優劣,通常由某一適應度函數表示。
選擇:GA的基本操作之一,即根據個體的適應度,在群體中按照一定的概論選擇可以作為父本的個體,選擇依據是適應度大的個體被選中的概率高。選擇操作體現了適者生存,優勝劣汰的進化規則。
交叉:GA的基本操作之一,即將父本個體按照一定的概率隨機地交換基因形成新的個體。
變異:GA的基本操作之一,即即按一定概率隨機改變某個體的基因值。
基因演算法是一種生物進化的演算法,實際上是一種多目標的探索法.能夠用於計劃與排程.它是非常新的技術,目前,還沒有在商業中實際運用.
採用生物基因技術高級演算法,處理日益復雜的現實世界,也是人工智慧上,高級約束演算法上的挑戰. 基因演算法是一種搜索技術,它的目標是尋找最好的解決方案。這種搜索技術是一種優化組合,它以模仿生物進化過程為基礎。基因演算法的基本思想是,進化就是選擇了最優種類。基因演算法將應用APS上,以獲得「最優」的解決方案。
㈤ 遺傳演算法的優缺點
遺傳演算法與傳統的優化方法(枚舉,啟發式等)相比較,以生物進化為原版型,具有很好權的收斂性,在計算精度要求時,計算時間少,魯棒性高等都是它的優點。
在現在的工作中,遺傳演算法(1972年提出)已經不能很好的解決大規模計算量問題,它很容易陷入「早熟」。常用混合遺傳演算法,合作型協同進化演算法等來替代,這些演算法都是GA的衍生演算法。
㈥ 各種進化演算法有什麼異同
(差異進化算復法DE)是一種用於優化問題制的啟發式演算法。本質上說,它是一種基於實數編碼的具有保優思想的貪婪遺傳演算法[1] 。同遺傳演算法一樣,差異進化演算法包含變異和交叉操作,但同時相較於遺傳演算法的選擇操作,差異進化演算法採用一對一的淘汰機制來更新種群。由於差異進化演算法在連續域優化問題的優勢已獲得廣泛應用,並引發進化演算法研究領域的熱潮。 差異進化演算法由Storn 以及Price [2]提出,演算法的原理採用對個體進行方向擾動,以達到對個體的函數值進行下降的目的,同其他進化演算法一樣,差異進化演算法不利用函數的梯度信息,因此對函數的可導性甚至連續性沒有要求,適用性很強。
㈦ 遺傳演算法的優缺點
優點:
1、遺傳演算法是以決策變數的編碼作為運算對象,可以直接對集合、序列、矩陣、樹、圖等結構對象進行操作。這樣的方式一方面有助於模擬生物的基因、染色體和遺傳進化的過程,方便遺傳操作運算元的運用。
另一方面也使得遺傳演算法具有廣泛的應用領域,如函數優化、生產調度、自動控制、圖像處理、機器學習、數據挖掘等領域。
2、遺傳演算法直接以目標函數值作為搜索信息。它僅僅使用適應度函數值來度量個體的優良程度,不涉及目標函數值求導求微分的過程。因為在現實中很多目標函數是很難求導的,甚至是不存在導數的,所以這一點也使得遺傳演算法顯示出高度的優越性。
3、遺傳演算法具有群體搜索的特性。它的搜索過程是從一個具有多個個體的初始群體P(0)開始的,一方面可以有效地避免搜索一些不必搜索的點。
另一方面由於傳統的單點搜索方法在對多峰分布的搜索空間進行搜索時很容易陷入局部某個單峰的極值點,而遺傳演算法的群體搜索特性卻可以避免這樣的問題,因而可以體現出遺傳演算法的並行化和較好的全局搜索性。
4、遺傳演算法基於概率規則,而不是確定性規則。這使得搜索更為靈活,參數對其搜索效果的影響也盡可能的小。
5、遺傳演算法具有可擴展性,易於與其他技術混合使用。以上幾點便是遺傳演算法作為優化演算法所具備的優點。
缺點:
1、遺傳演算法在進行編碼時容易出現不規范不準確的問題。
2、由於單一的遺傳演算法編碼不能全面將優化問題的約束表示出來,因此需要考慮對不可行解採用閾值,進而增加了工作量和求解時間。
3、遺傳演算法效率通常低於其他傳統的優化方法。
4、遺傳演算法容易出現過早收斂的問題。
(7)進化演算法和遺傳演算法擴展閱讀
遺傳演算法的機理相對復雜,在Matlab中已經由封裝好的工具箱命令,通過調用就能夠十分方便的使用遺傳演算法。
函數ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最優解,fval是最優值,@fitnessness是目標函數,nvars是自變數個數,options是其他屬性設置。系統默認求最小值,所以在求最大值時應在寫函數文檔時加負號。
為了設置options,需要用到下面這個函數:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通過這個函數就能夠實現對部分遺傳演算法的參數的設置。
㈧ 差分進化演算法和遺傳演算法有甚麼區分
遺傳:生物親代與子代之間、子代體之間類似現象.
父母基因特點傳給子女進化:專指生物由簡單復雜、由低級高級發展變化又稱作演變作演算法而言也與之類似根據限制條件使部份特性滿足者繼續遺傳特性便成進化因此遺傳進化基礎遺傳包括於進化遺傳進化必要條件