當前位置:首頁 » 遺傳因素 » dna遺傳演算法

dna遺傳演算法

發布時間: 2021-03-24 03:02:06

『壹』 網上經常所說的遺傳演算法與基因演算法是一回事嗎有什麼不同各自的用途用在什麼地方

遺傳演算法
GA是一種基於自然群體遺傳演化機制的高效探索演算法,它是美國學者Holland於1975年首先提出來的。

它摒棄了傳統的搜索方式,模擬自然界生物進化過程,採用人工進化的方式對目標空間進行隨機化搜索。它將問題域中的可能解看作是群體的一個個體或染色體,並將每一個體編碼成符號串形式,模擬達爾文的遺傳選擇和自然淘汰的生物進化過程,對群體反復進行基於遺傳學的操作(遺傳,交叉和變異),根據預定的目標適應度函數對每個個體進行評價,依據適者生存,優勝劣汰的進化規則,不斷得到更優的群體,同時以全局並行搜索方式來搜索優化群體中的最優個體,求得滿足要求的最優解。

Holland創建的遺傳演算法是一種概率搜索演算法,它是利用某種編碼技術作用於稱為染色體的數串,其基本思想是模擬由這些組成的進化過程。跗演算法通過有組織地然而是隨機地信息交換重新組合那些適應性好的串,在每一代中,利用上一代串結構中適應好的位和段來生成一個新的串的群體;作為額外增添,偶爾也要在串結構中嘗試用新的位和段來替代原來的部分。

遺傳演算法是一類隨機化演算法,但是它不是簡單的隨機走動,它可以有效地利用已經有的信息處理來搜索那些有希望改善解質量的串,類似於自然進化,遺傳演算法通過作用於染色體上的基因,尋找好的染色體來求解問題。與自然界相似,遺傳演算法對待求解問題本身一無所知,它所需要的僅是對演算法所產生的每個染色體進行評價,並基於適應度值來造反染色體,使適用性好的染色體比適應性差的染色體有更多的繁殖機會。

基因:組成染色體的單元,可以表示為一個二進制位,一個整數或一個字元等。

染色體或個體:表示待求解問題的一個可能解,由若干基因組成,是GA操作的基本對象。

群體:一定數量的個體組成了群體,表示GA的遺傳搜索空間。

適應度或適度:代表一個個體所對應解的優劣,通常由某一適應度函數表示。

選擇:GA的基本操作之一,即根據個體的適應度,在群體中按照一定的概論選擇可以作為父本的個體,選擇依據是適應度大的個體被選中的概率高。選擇操作體現了適者生存,優勝劣汰的進化規則。

交叉:GA的基本操作之一,即將父本個體按照一定的概率隨機地交換基因形成新的個體。

變異:GA的基本操作之一,即即按一定概率隨機改變某個體的基因值。

基因演算法是一種生物進化的演算法,實際上是一種多目標的探索法.能夠用於計劃與排程.它是非常新的技術,目前,還沒有在商業中實際運用.
採用生物基因技術高級演算法,處理日益復雜的現實世界,也是人工智慧上,高級約束演算法上的挑戰. 基因演算法是一種搜索技術,它的目標是尋找最好的解決方案。這種搜索技術是一種優化組合,它以模仿生物進化過程為基礎。基因演算法的基本思想是,進化就是選擇了最優種類。基因演算法將應用APS上,以獲得「最優」的解決方案。

『貳』 基因遺傳演算法的主流是什麼

基因遺傳演算法是一種靈感源於達爾文自然進化理論的啟發式搜索演算法 該演算法反映了自然選擇的過程 即最適者被選定繁殖 並產生下一代
自然選擇的過程從選擇群體中最適應環境的個體開始 後代繼承了父母的特性 並且這些特性將添加到下一代中 如果父母具有更好的適應性 那麼它們的後代將更易於存活 迭代地進行該自然選擇的過程 最終 我們將得到由最適應環境的個體組成的一代
這一概念可以被應用於搜索問題中 我們考濾一個問題的諸多解決方案 並從中搜尋出最佳方案
遺傳演算法含以下五步
1.初始化
2.個體評價(計算適應度函數)
3.選擇運算
4.交叉運算
5.變異運算
初始化
該過程從種群的一組個體開始 且每一個體都是待解決問題的一個候選解
個體以一組參數(變數)為特徵 這些特徵被稱為基因 串聯這些基因就可以組成染色體(問題的解)
在遺傳演算法中 單個個體的基因組以字元串的方式呈現 通常我們可以使用二進制(1和0的字元串)編碼 即一個二進制串代表一條染色體串 因此可以說我們將基因串或候選解的特徵編碼在染色體中
個體評價利用適應度函數評估了該個體對環境的適應度(與其它個體徑爭的能力)每一個體都有適應評分 個體被選中進行繁殖的可能性取決於其適應度評分 適應度函數是遺傳演算法進化的驅動力 也是進行自然選擇的唯一標准 它的設計應結合求解問題本身的要求而定
選擇運算的目的是選出適應性最好的個體 並使它們將基因傳到下一代中 基於其適應度評分 我們選擇多對較優個體(父母)適應度高的個體更易被選中繁殖 即將較優父母的基因傳遞到下一代
交叉運算是遺傳演算法中最重要的階段 對每一對配對的父母 基因都存在隨機選中的交叉點
變異運算
在某些形成的新後代中 它們的某些基因可能受到低概率變異因子的作用 這意味著二進制位串中的某些位可能會翻轉
變異運算前後
變異運算可用於保持群內的多樣性 並防止過早收斂
終止
在群體收斂的情況下(群體內不產生與前一代差異較大的後代)該演算法終止 也就是說遺傳演算法提供了一組問題的解

『叄』 ] 基因遺傳演算法的組成部分包括什麼

基因遺傳演算法的組成部分包括什麼?這可是醫學上的一大靜謐

『肆』 基因遺傳演算法主流

基因遺傳演算法是一種靈感源於達爾文自然進化理論的啟發式搜索演算法 該演算法反映了自然選擇的過程 即最適者被選定繁殖 並產生下一代
自然選擇的過程從選擇群體中最適應環境的個體開始 後代繼承了父母的特性 並且這些特性將添加到下一代中 如果父母具有更好的適應性 那麼它們的後代將更易於存活 迭代地進行該自然選擇的過程 最終 我們將得到由最適應環境的個體組成的一代
這一概念可以被應用於搜索問題中 我們考濾一個問題的諸多解決方案 並從中搜尋出最佳方案
遺傳演算法含以下五步
1.初始化
2.個體評價(計算適應度函數)
3.選擇運算
4.交叉運算
5.變異運算
初始化
該過程從種群的一組個體開始 且每一個體都是待解決問題的一個候選解
個體以一組參數(變數)為特徵 這些特徵被稱為基因 串聯這些基因就可以組成染色體(問題的解)
在遺傳演算法中 單個個體的基因組以字元串的方式呈現 通常我們可以使用二進制(1和0的字元串)編碼 即一個二進制串代表一條染色體串 因此可以說我們將基因串或候選解的特徵編碼在染色體中
個體評價利用適應度函數評估了該個體對環境的適應度(與其它個體徑爭的能力)每一個體都有適應評分 個體被選中進行繁殖的可能性取決於其適應度評分 適應度函數是遺傳演算法進化的驅動力 也是進行自然選擇的唯一標准 它的設計應結合求解問題本身的要求而定
選擇運算的目的是選出適應性最好的個體 並使它們將基因傳到下一代中 基於其適應度評分 我們選擇多對較優個體(父母)適應度高的個體更易被選中繁殖 即將較優父母的基因傳遞到下一代
交叉運算是遺傳演算法中最重要的階段 對每一對配對的父母 基因都存在隨機選中的交叉點
變異運算
在某些形成的新後代中 它們的某些基因可能受到低概率變異因子的作用 這意味著二進制位串中的某些位可能會翻轉
變異運算前後
變異運算可用於保持群內的多樣性 並防止過早收斂
終止
在群體收斂的情況下(群體內不產生與前一代差異較大的後代)該演算法終止 也就是說遺傳演算法提供了一組問題的解

『伍』 關於遺傳演算法

遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法,它最初由美國Michigan大學J.Holland教授於1975年首先提出來的,並出版了頗有影響的專著《Adaptation in Natural and Artificial Systems》,GA這個名稱才逐漸為人所知,J.Holland教授所提出的GA通常為簡單遺傳演算法(SGA)。
遺傳演算法定義
遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(indivial)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。由於仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並藉助於自然遺傳學的遺傳運算元(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化一樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。
[編輯本段]遺傳演算法特點
遺傳演算法是解決搜索問題的一種通用演算法,對於各種通用問題都可以使用。搜索演算法的共同特徵為:
① 首先組成一組候選解;
② 依據某些適應性條件測算這些候選解的適應度;
③ 根據適應度保留某些候選解,放棄其他候選解;
④ 對保留的候選解進行某些操作,生成新的候選解。
在遺傳演算法中,上述幾個特徵以一種特殊的方式組合在一起:基於染色體群的並行搜索,帶有猜測性質的選擇操作、交換操作和突變操作。這種特殊的組合方式將遺傳演算法與其它搜索演算法區別開來。
遺傳演算法還具有以下幾方面的特點:
(1)遺傳演算法從問題解的串集開始嫂索,而不是從單個解開始。這是遺傳演算法與傳統優化演算法的極大區別。傳統優化演算法是從單個初始值迭代求最優解的;容易誤入局部最優解。遺傳演算法從串集開始搜索,覆蓋面大,利於全局擇優。
(2)許多傳統搜索演算法都是單點搜索演算法,容易陷入局部的最優解。遺傳演算法同時處理群體中的多個個體,即對搜索空間中的多個解進行評估,減少了陷入局部最優解的風險,同時演算法本身易於實現並行化。
(3)遺傳演算法基本上不用搜索空間的知識或其它輔助信息,而僅用適應度函數值來評估個體,在此基礎上進行遺傳操作。適應度函數不僅不受連續可微的約束,而且其定義域可以任意設定。這一特點使得遺傳演算法的應用范圍大大擴展。
(4)遺傳演算法不是採用確定性規則,而是採用概率的變遷規則來指導他的搜索方向。
(5)具有自組織、自適應和自學習性。遺傳演算法利用進化過程獲得的信息自行組織搜索時,硬度大的個體具有較高的生存概率,並獲得更適應環境的基因結構。
[編輯本段]遺傳演算法的應用
由於遺傳演算法的整體搜索策略和優化搜索方法在計算是不依賴於梯度信息或其它輔助知識,而只需要影響搜索方向的目標函數和相應的適應度函數,所以遺傳演算法提供了一種求解復雜系統問題的通用框架,它不依賴於問題的具體領域,對問題的種類有很強的魯棒性,所以廣泛應用於許多科學,下面我們將介紹遺傳演算法的一些主要應用領域:
1、 函數優化。
函數優化是遺傳演算法的經典應用領域,也是遺傳演算法進行性能評價的常用算例,許多人構造出了各種各樣復雜形式的測試函數:連續函數和離散函數、凸函數和凹函數、低維函數和高維函數、單峰函數和多峰函數等。對於一些非線性、多模型、多目標的函數優化問題,用其它優化方法較難求解,而遺傳演算法可以方便的得到較好的結果。
2、 組合優化
隨著問題規模的增大,組合優化問題的搜索空間也急劇增大,有時在目前的計算上用枚舉法很難求出最優解。對這類復雜的問題,人們已經意識到應把主要精力放在尋求滿意解上,而遺傳演算法是尋求這種滿意解的最佳工具之一。實踐證明,遺傳演算法對於組合優化中的NP問題非常有效。例如遺傳演算法已經在求解旅行商問題、 背包問題、裝箱問題、圖形劃分問題等方面得到成功的應用。
此外,GA也在生產調度問題、自動控制、機器人學、圖象處理、人工生命、遺傳編碼和機器學習等方面獲得了廣泛的運用。
[編輯本段]遺傳演算法的現狀
進入90年代,遺傳演算法迎來了興盛發展時期,無論是理論研究還是應用研究都成了十分熱門的課題。尤其是遺傳演算法的應用研究顯得格外活躍,不但它的應用領域擴大,而且利用遺傳演算法進行優化和規則學習的能力也顯著提高,同時產業應用方面的研究也在摸索之中。此外一些新的理論和方法在應用研究中亦得到了迅速的發展,這些無疑均給遺傳演算法增添了新的活力。遺傳演算法的應用研究已從初期的組合優化求解擴展到了許多更新、更工程化的應用方面。
隨著應用領域的擴展,遺傳演算法的研究出現了幾個引人注目的新動向:一是基於遺傳演算法的機器學習,這一新的研究課題把遺傳演算法從歷來離散的搜索空間的優化搜索演算法擴展到具有獨特的規則生成功能的嶄新的機器學習演算法。這一新的學習機制對於解決人工智慧中知識獲取和知識優化精煉的瓶頸難題帶來了希望。二是遺傳演算法正日益和神經網路、模糊推理以及混沌理論等其它智能計算方法相互滲透和結合,這對開拓21世紀中新的智能計算技術將具有重要的意義。三是並行處理的遺傳演算法的研究十分活躍。這一研究不僅對遺傳演算法本身的發展,而且對於新一代智能計算機體系結構的研究都是十分重要的。四是遺傳演算法和另一個稱為人工生命的嶄新研究領域正不斷滲透。所謂人工生命即是用計算機模擬自然界豐富多彩的生命現象,其中生物的自適應、進化和免疫等現象是人工生命的重要研究對象,而遺傳演算法在這方面將會發揮一定的作用,五是遺傳演算法和進化規劃(Evolution Programming,EP)以及進化策略(Evolution Strategy,ES)等進化計算理論日益結合。EP和ES幾乎是和遺傳演算法同時獨立發展起來的,同遺傳演算法一樣,它們也是模擬自然界生物進化機制的智能計算方法,即同遺傳演算法具有相同之處,也有各自的特點。目前,這三者之間的比較研究和彼此結合的探討正形成熱點。
1991年D.Whitey在他的論文中提出了基於領域交叉的交叉運算元(Adjacency based crossover),這個運算元是特別針對用序號表示基因的個體的交叉,並將其應用到了TSP問題中,通過實驗對其進行了驗證。
D.H.Ackley等提出了隨即迭代遺傳爬山法(Stochastic Iterated Genetic Hill-climbing,SIGH)採用了一種復雜的概率選舉機制,此機制中由m個「投票者」來共同決定新個體的值(m表示群體的大小)。實驗結果表明,SIGH與單點交叉、均勻交叉的神經遺傳演算法相比,所測試的六個函數中有四個表現出更好的性能,而且總體來講,SIGH比現存的許多演算法在求解速度方面更有競爭力。
H.Bersini和G.Seront將遺傳演算法與單一方法(simplex method)結合起來,形成了一種叫單一操作的多親交叉運算元(simplex crossover),該運算元在根據兩個母體以及一個額外的個體產生新個體,事實上他的交叉結果與對三個個體用選舉交叉產生的結果一致。同時,文獻還將三者交叉運算元與點交叉、均勻交叉做了比較,結果表明,三者交叉運算元比其餘兩個有更好的性能。
國內也有不少的專家和學者對遺傳演算法的交叉運算元進行改進。2002年,戴曉明等應用多種群遺傳並行進化的思想,對不同種群基於不同的遺傳策略,如變異概率,不同的變異運算元等來搜索變數空間,並利用種群間遷移運算元來進行遺傳信息交流,以解決經典遺傳演算法的收斂到局部最優值問題
2004年,趙宏立等針對簡單遺傳演算法在較大規模組合優化問題上搜索效率不高的現象,提出了一種用基因塊編碼的並行遺傳演算法(Building-block Coded Parallel GA,BCPGA)。該方法以粗粒度並行遺傳演算法為基本框架,在染色體群體中識別出可能的基因塊,然後用基因塊作為新的基因單位對染色體重新編碼,產生長度較短的染色體,在用重新編碼的染色體群體作為下一輪以相同方式演化的初始群體。
2005年,江雷等針對並行遺傳演算法求解TSP問題,探討了使用彈性策略來維持群體的多樣性,使得演算法跨過局部收斂的障礙,向全局最優解方向進化。
[編輯本段]遺傳演算法的一般演算法
遺傳演算法是基於生物學的,理解或編程都不太難。下面是遺傳演算法的一般演算法:
創建一個隨機的初始狀態
初始種群是從解中隨機選擇出來的,將這些解比喻為染色體或基因,該種群被稱為第一代,這和符號人工智慧系統的情況不一樣,在那裡問題的初始狀態已經給定了。
評估適應度
對每一個解(染色體)指定一個適應度的值,根據問題求解的實際接近程度來指定(以便逼近求解問題的答案)。不要把這些「解」與問題的「答案」混為一談,可以把它理解成為要得到答案,系統可能需要利用的那些特性。
繁殖(包括子代突變)
帶有較高適應度值的那些染色體更可能產生後代(後代產生後也將發生突變)。後代是父母的產物,他們由來自父母的基因結合而成,這個過程被稱為「雜交」。
下一代

如果新的一代包含一個解,能產生一個充分接近或等於期望答案的輸出,那麼問題就已經解決了。如果情況並非如此,新的一代將重復他們父母所進行的繁衍過程,一代一代演化下去,直到達到期望的解為止。
並行計算

非常容易將遺傳演算法用到並行計算和群集環境中。一種方法是直接把每個節點當成一個並行的種群看待。然後有機體根據不同的繁殖方法從一個節點遷移到另一個節點。另一種方法是「農場主/勞工」體系結構,指定一個節點為「農場主」節點,負責選擇有機體和分派適應度的值,另外的節點作為「勞工」節點,負責重新組合、變異和適應度函數的評估。
術語說明
由於遺傳演算法是由進化論和遺傳學機理而產生的搜索演算法,所以在這個演算法中會用到很多生物遺傳學知識,下面是我們將會用來的一些術語說明:
一、染色體(Chronmosome)
染色體又可以叫做基因型個體(indivials),一定數量的個體組成了群體(population),群體中個體的數量叫做群體大小。
二、基因(Gene)
基因是串中的元素,基因用於表示個體的特徵。例如有一個串S=1011,則其中的1,0,1,1這4個元素分別稱為基因。它們的值稱為等位基因(Alletes)。
三、基因地點(Locus)
基因地點在演算法中表示一個基因在串中的位置稱為基因位置(Gene Position),有時也簡稱基因位。基因位置由串的左向右計算,例如在串 S=1101 中,0的基因位置是3。
四、基因特徵值(Gene Feature)
在用串表示整數時,基因的特徵值與二進制數的權一致;例如在串 S=1011 中,基因位置3中的1,它的基因特徵值為2;基因位置1中的1,它的基因特徵值為8。
五、適應度(Fitness)
各個個體對環境的適應程度叫做適應度(fitness)。為了體現染色體的適應能力,引入了對問題中的每一個染色體都能進行度量的函數,叫適應度函數. 這個函數是計算個體在群體中被使用的概率。
[編輯本段]遺傳演算法的運算過程
選擇(復制):
根據各個個體的適應度,按照一定的規則或方法,從第t代群體P(t)中選擇出一些優良的個體遺傳到下 一代群體P(t+1)中;
交叉:
將群體P(t)內的各個個體隨機搭配成對,對每一對個體,以某個概率(稱為交叉概率)交換它們之間的部分染色體;
變異:
對群體P(t)中的每一個個體,以某一概率(稱為變異概率)改變某一個或某一些基因座上的基因值為其他基因值。

『陸』 遺傳演算法的基本原理

自然界是一個自適應的大系統[53,56~60],自然系統中的大多數生物體通過自然選擇和有性生殖這兩種基本過程進行自身的演化,使自己逐步達到完美來適應大自然。遺傳演算法受生物進化與遺傳的啟發,形成一種獨特的優化方式,遺傳演算法的運算原理常常與生物進化及遺傳學說相吻合,而且其術語也常仿照生物學的術語。遺傳演算法的運算基礎是字元串,先將搜索對象編碼為字元串形式;字元串就相當於生物學中的染色體,由一系列字元組成;每個字元都有特定的含義,反映所解決問題的某個特徵,這就相當於基因,亦即染色體DNA的片段。每個字元串結構被稱為個體,每個個體都可以通過問題本身所具有的適應值度量來計算反映其適應性好壞的適應值,然後對一組字元串結構(被稱為一個群體)進行循環操作。每次循環操作被稱作一代,其中的操作包括:保存字元串組中適應性較好的那些字元串到下一代(對應於遺傳學中的復制),使上一代中的優良個體得以生存下去,這類似於生物進化論中的自然選擇。通過有組織的然而是隨機的字元串間的信息交換來重新結合那些適應性好的字元串(對應於遺傳學中的交叉),在每一代中利用上一代字元串結構中適應性好的位和段來生成一個新的字元串的群體;作為額外增添,偶爾也要在字元串結構中嘗試用新的位和段來替代原來的部分(對應於遺傳學中的變異),等等。遺傳演算法中這些操作只涉及字元串的某些片段,這就類似於遺傳過程只涉及某些基因而不是整個染色體。遺傳演算法是一類隨機演算法,但它不是簡單的隨機走動,它可以有效地利用已有的信息來搜尋那些有希望改善解質量的字元串。類似於自然進化,遺傳演算法通過作用於染色體上的基因,尋找好的染色體來求解問題。與自然界相似,遺傳演算法對求解問題的本身一無所知,它所需要的僅是對演算法所產生的每個染色體進行評價,並基於適應值來選擇染色體,使適應性好的染色體有更多的繁殖機會。

『柒』 基因遺傳演算法中,利用適應度函數表示參數值的大小,個體是否應該被淘汰

適應度用於評價個體的優劣程度,適應度越大個體越好,反之適應度越小則個體越專差;根據適應度的大小對屬個體進行選擇,以保證適應性能好的個體有更多的機會繁殖後代,使優良特性得以遺傳。因此,遺傳演算法要求適應度函數值必須是非負數,而在許多實際問題中,求解的目標通常是費用最小,而不是效益最大,因此需要將求最小的目標根據適應度函數非負原則轉換為求最大目標的形式。

『捌』 什麼是遺傳演算法

遺傳演算法(Genetic Algorithm)是模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法,它是有美國Michigan大學J.Holland教授於1975年首先提出來的,並出版了頗有影響的專著《Adaptation in Natural and Artificial Systems》,GA這個名稱才逐漸為人所知,J.Holland教授所提出的GA通常為簡單遺傳演算法(SGA)。
遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(indivial)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。由於仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並藉助於自然遺傳學的遺傳運算元(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化一樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。

『玖』 量子遺傳演算法與遺傳演算法有什麼區別

遺傳演算法(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),演算法中將所有的個體按照一定的拓撲結構分成一個個獨立的子群體,稱為宇宙;採用多狀態基因量子比特編碼方式來表達宇宙中的個體;採用通用的量子旋轉門策略和動態調整旋轉角機制對個體進行演化;各宇宙獨立演化,這樣可擴大搜索空間,宇宙之間採用最佳移民、量子交叉和量子變異操作來交換信息使演算法的適應性更強,效率更高。

『拾』 請問什麼是遺傳演算法,並給兩個例子

遺傳演算法(Genetic Algorithm, GA)是近幾年發展起來的一種嶄新的全局優化演算法,它借
用了生物遺傳學的觀點,通過自然選擇、遺傳、變異等作用機制,實現各個個體的適應性
的提高。這一點體現了自然界中"物競天擇、適者生存"進化過程。1962年Holland教授首次
提出了GA演算法的思想,從而吸引了大批的研究者,迅速推廣到優化、搜索、機器學習等方
面,並奠定了堅實的理論基礎。 用遺傳演算法解決問題時,首先要對待解決問題的模型結構
和參數進行編碼,一般用字元串表示,這個過程就將問題符號化、離散化了。也有在連續
空間定義的GA(Genetic Algorithm in Continuous Space, GACS),暫不討論。

一個串列運算的遺傳演算法(Seguential Genetic Algoritm, SGA)按如下過程進行:

(1) 對待解決問題進行編碼;
(2) 隨機初始化群體X(0):=(x1, x2, … xn);
(3) 對當前群體X(t)中每個個體xi計算其適應度F(xi),適應度表示了該個體的性能好
壞;
(4) 應用選擇運算元產生中間代Xr(t);
(5) 對Xr(t)應用其它的運算元,產生新一代群體X(t+1),這些運算元的目的在於擴展有限
個體的覆蓋面,體現全局搜索的思想;
(6) t:=t+1;如果不滿足終止條件繼續(3)。
GA中最常用的運算元有如下幾種:
(1) 選擇運算元(selection/reproction): 選擇運算元從群體中按某一概率成對選擇個
體,某個體xi被選擇的概率Pi與其適應度值成正比。最通常的實現方法是輪盤賭(roulett
e wheel)模型。
(2) 交叉運算元(Crossover): 交叉運算元將被選中的兩個個體的基因鏈按概率pc進行交叉
,生成兩個新的個體,交叉位置是隨機的。其中Pc是一個系統參數。
(3) 變異運算元(Mutation): 變異運算元將新個體的基因鏈的各位按概率pm進行變異,對
二值基因鏈(0,1編碼)來說即是取反。
上述各種運算元的實現是多種多樣的,而且許多新的運算元正在不斷地提出,以改進GA的
某些性能。系統參數(個體數n,基因鏈長度l,交叉概率Pc,變異概率Pm等)對演算法的收斂速度
及結果有很大的影響,應視具體問題選取不同的值。
GA的程序設計應考慮到通用性,而且要有較強的適應新的運算元的能力。OOP中的類的繼
承為我們提供了這一可能。
定義兩個基本結構:基因(ALLELE)和個體(INDIVIDUAL),以個體的集合作為群體類TP
opulation的數據成員,而TSGA類則由群體派生出來,定義GA的基本操作。對任一個應用實
例,可以在TSGA類上派生,並定義新的操作。

TPopulation類包含兩個重要過程:
FillFitness: 評價函數,對每個個體進行解碼(decode)並計算出其適應度值,具體操
作在用戶類中實現。
Statistic: 對當前群體進行統計,如求總適應度sumfitness、平均適應度average、最好
個體fmax、最壞個體fmin等。

TSGA類在TPopulation類的基礎上派生,以GA的系統參數為構造函數的參數,它有4個
重要的成員函數:
Select: 選擇運算元,基本的選擇策略採用輪盤賭模型(如圖2)。輪盤經任意旋轉停止
後指針所指向區域被選中,所以fi值大的被選中的概率就大。
Crossover: 交叉運算元,以概率Pc在兩基因鏈上的隨機位置交換子串。
Mutation: 變異運算元,以概率Pm對基因鏈上每一個基因進行隨機干擾(取反)。
Generate: 產生下代,包括了評價、統計、選擇、交叉、變異等全部過程,每運行一
次,產生新的一代。

SGA的結構及類定義如下(用C++編寫):
[code] typedef char ALLELE; // 基因類型
typedef struct{
ALLELE *chrom;
float fitness; // fitness of Chromosome
}INDIVIDUAL; // 個體定義

class TPopulation{ // 群體類定義
public:
int size; // Size of population: n
int lchrom; // Length of chromosome: l
float sumfitness, average;

INDIVIDUAL *fmin, *fmax;
INDIVIDUAL *pop;

TPopulation(int popsize, int strlength);
~TPopulation();
inline INDIVIDUAL &Indivial(int i){ return pop[i];};
void FillFitness(); // 評價函數
virtual void Statistics(); // 統計函數
};

class TSGA : public TPopulation{ // TSGA類派生於群體類
public:
float pcross; // Probability of Crossover
float pmutation; // Probability of Mutation
int gen; // Counter of generation

TSGA(int size, int strlength, float pm=0.03, float pc=0.6):
TPopulation(size, strlength)
{gen=0; pcross=pc; pmutation=pm; } ;
virtual INDIVIDUAL& Select();
virtual void Crossover(INDIVIDUAL &parent1, INDIVIDUAL &parent2,
INDIVIDUAL &child1, INDIVIDUAL &child2);
&child1, INDIVIDUAL &child2);
virtual ALLELE Mutation(ALLELE alleleval);
virtual void Generate(); // 產生新的一代
};
用戶GA類定義如下:
class TSGAfit : public TSGA{
public:
TSGAfit(int size,float pm=0.0333,float pc=0.6)
:TSGA(size,24,pm,pc){};
void print();
}; [/code]

由於GA是一個概率過程,所以每次迭代的情況是不一樣的;系統參數不同,迭代情況
也不同。在實驗中參數一般選取如下:個體數n=50-200,變異概率Pm=0.03, 交叉概率Pc=
0.6。變異概率太大,會導致不穩定。

參考文獻
● Goldberg D E. Genetic Algorithm in Search, Optimization, and machine

Learning. Addison-Wesley, Reading, MA, 1989
● 陳根社、陳新海,"遺傳演算法的研究與進展",《信息與控制》,Vol.23,
NO.4, 1994, PP215-222
● Vittorio Maniezzo, "Genetic Evolution of the Topology and Weight Distri
bution of the Neural Networks", IEEE, Trans. on Neural Networks, Vol.5, NO
.1, 1994, PP39-53
● Xiaofeng Qi, Francesco Palmieri, "Theoretical Analysis of Evolutionary
Algorithms with an Infinite Population Size in Continuous Space. Part Ⅰ
l Networks, Vol.5, NO.1, 1994, PP102-119
● Xiaofeng Qi, Francesco Palmieri, "Theoretical Analysis of Evolutionary
Algorithms with an Infinite Population Size in Continuous Space. Part Ⅱ
al Networks, Vol.5, NO.1, 1994, PP102-119
● Gunter Rudolph, Convergence Analysis of Canonical Genetic Algorithms, I
EEE, Trans. on Neural Networks, Vol.5, NO.1, 1994, PP96-101
● A E Eiben, E H L Aarts, K M Van Hee. Gloable convergence of genetic alg
orithms: A Markov chain analysis. in Parallel Problem Solving from Nat
ure. H.-P.Schwefel, R.Manner, Eds. Berlin and Heidelberg: Springer, 1991
, PP4-12
● Wirt Atmar, "Notes on the Simulation of Evolution", IEEE, Trans. on Neu
ral Networks, Vol.5, NO.1, 1994, PP130-147
● Anthony V. Sebald, Jennifer Schlenzig, "Minimax Design of Neural Net Co
ntrollers for Highly Uncertain Plants", IEEE, Trans. on Neural Networks, V
ol.5, NO.1, 1994, PP73-81
● 方建安、邵世煌,"採用遺傳演算法自學習模型控制規則",《自動化理論、技術與應
用》,中國自動化學會 第九屆青年學術年會論文集,1993, PP233-238
● 方建安、邵世煌,"採用遺傳演算法學習的神經網路控制器",《控制與決策》,199
3,8(3), PP208-212
● 蘇素珍、土屋喜一,"使用遺傳演算法的迷宮學習",《機器人》,Vol.16,NO.5,199
4, PP286-289
● M.Srinivas, L.M.Patnaik, "Adaptive Probabilities of Crossover and Mutat
ion", IEEE Trans. on S.M.C, Vol.24, NO.4, 1994 of Crossover and Mutation",
IEEE Trans. on S.M.C, Vol.24, NO.4, 1994
● Daihee Park, Abraham Kandel, Gideon Langholz, "Genetic-Based New Fuzzy
Reasoning Models with Application to Fuzzy Control", IEEE Trans. S. M. C,
Vol.24, NO.1, PP39-47, 1994
● Alen Varsek, Tanja Urbancic, Bodgan Filipic, "Genetic Algorithms in Con
troller Design and Tuning", IEEE Trans. S. M. C, Vol.23, NO.5, PP1330-13
39, 1993

熱點內容
法國電影小男孩在農場遇到一隻白狗 發布:2024-08-19 08:36:47 瀏覽:594
微光上有什麼恐怖片 發布:2024-08-19 05:25:40 瀏覽:915
穿越香港鬼片滅鬼的小說 發布:2024-08-19 03:36:10 瀏覽:833
惡之花都敏秀姐姐扮演者 發布:2024-08-19 02:22:07 瀏覽:321
thai好看電影 發布:2024-08-18 11:34:37 瀏覽:795
電影內容女的是傻子容易尿褲子,男的很窮單身漢 發布:2024-08-18 10:31:36 瀏覽:129
雙機巨幕廳和4k廳哪個好 發布:2024-08-18 10:18:41 瀏覽:818
日本僵屍片上世紀 發布:2024-08-18 07:32:00 瀏覽:537
怪物 韓國電影在線 發布:2024-08-18 03:49:17 瀏覽:491
第九區一樣的 發布:2024-08-17 23:16:05 瀏覽:528