當前位置:首頁 » 遺傳因素 » 遺傳演算法的現狀

遺傳演算法的現狀

發布時間: 2021-03-24 14:00:40

1. 關於遺傳演算法

遺傳演算法(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)中的每一個個體,以某一概率(稱為變異概率)改變某一個或某一些基因座上的基因值為其他基因值。

2. 遺傳演算法在國內外的發展現狀

這個,相關的文獻很多的。正如樓上所說,中國知網、萬方等國內學術期刊已經提供了大量的文獻下載。如果你在學校的話,就可以免費下載這些文獻,然後去總結遺傳演算法的發展現狀。
如果你不在學校里,那麼你可以去豆丁網、網路、道客巴巴等在線閱覽網站去找相關文獻,去搜索遺傳演算法即可。

這個要自己總結的,當然也有相關文獻已經總結好了。只不過有可能不是最新的。

3. 在遺傳演算法中,什麼是選擇運算元,什麼是交叉運算元,什麼是變異運算元遺傳演算法到底是個什麼情況

運算元英文為operator,意思是「運算符」,加減乘除、與或非這些均屬於運算符。
因此可以稱選擇運算元為選擇運算,即通過某種「公式」運算得出一個結果。

遺傳演算法是什麼這個問題太廣,你可以查閱相關資料。

4. 量子遺傳演算法的國內外研究現狀

1、模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的;
2、中國知網、萬方等國內學術期刊已經提供了大量的文獻下載。如果你在學校的話,就可以免費下載這些文獻,然後去總結遺傳演算法的發展現狀,不在學校里,那麼可以去豆丁網、網路、道客巴巴。

5. 遺傳演算法的現狀

進入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),該運算元在根據兩個母體以及一個額外的個體產生新個體,事實上他的交叉結果與對三個個體用選舉交叉產生的結果一致。同時,文獻還將三者交叉運算元與點交叉、均勻交叉做了比較,結果表明,三者交叉運算元比其餘兩個有更好的性能。
1992年,英國格拉斯哥大學的李耘(Yun Li)指導博士生將基於二進制基因的遺傳演算法擴展到七進制、十進制、整數、浮點等的基因,以便將遺傳演算法更有效地應用於模糊參量,系統結構等的直接優化,於1997年開發了可能是世界上最受歡迎的、也是最早之一的遺傳/進化演算法的網上程序 EA_demo,以幫助新手在線互動式了解進化計算的編碼和工作原理 ,並在格拉斯哥召開第二屆IEE/IEEE遺傳演算法應用國際會議,於2000年組織了由遺傳編程(Genetic Programming)發明人斯坦福的 John Koza 等參加的 EvoNet 研討會,探索融合GA與GP結構尋優,超越固定結構和數值優化的局限性。
國內也有不少的專家和學者對遺傳演算法的交叉運算元進行改進。2002年,戴曉明等應用多種群遺傳並行進化的思想,對不同種群基於不同的遺傳策略,如變異概率,不同的變異運算元等來搜索變數空間,並利用種群間遷移運算元來進行遺傳信息交流,以解決經典遺傳演算法的收斂到局部最優值問題
2004年,趙宏立等針對簡單遺傳演算法在較大規模組合優化問題上搜索效率不高的現象,提出了一種用基因塊編碼的並行遺傳演算法(Building-block Coded Parallel GA,BCPGA)。該方法以粗粒度並行遺傳演算法為基本框架,在染色體群體中識別出可能的基因塊,然後用基因塊作為新的基因單位對染色體重新編碼,產生長度較短的染色體,在用重新編碼的染色體群體作為下一輪以相同方式演化的初始群體。
2005年,江雷等針對並行遺傳演算法求解TSP問題,探討了使用彈性策略來維持群體的多樣性,使得演算法跨過局部收斂的障礙,向全局最優解方向進化。

6. 在遺傳演算法中,什麼是選擇運算元,什麼是交叉運算元,什麼是變異運算元遺傳演算法到底是個什麼情況

運算元英文為復operator,意思是「運制算符」,加減乘除、與或非這些均屬於運算符.
因此可以稱選擇運算元為選擇運算,即通過某種「公式」運算得出一個結果.
遺傳演算法是什麼這個問題太廣,你可以查閱相關資料.

7. 遺傳演算法的發展過程

遺傳演算法定義遺傳演算法(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、 遺傳演算法使用概率搜索技術,而非確定性規則。 [編輯本段]遺傳演算法的應用由於遺傳演算法的整體搜索策略和優化搜索方法在計算是不依賴於梯度信息或其它輔助知識,而只需要影響搜索方向的目標函數和相應的適應度函數,所以遺傳演算法提供了一種求解復雜系統問題的通用框架,它不依賴於問題的具體領域,對問題的種類有很強的魯棒性,所以廣泛應用於許多科學,下面我們將介紹遺傳演算法的一些主要應用領域:
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)中的每一個個體,以某一概率(稱為變異概率)改變某一個或某一些基因座上的基因值為其他基因值。

8. c語言實現*/遺傳演算法改進BP神經網路原理和演算法實現怎麼弄

遺傳演算法有相當大的引用。遺傳演算法在游戲中應用的現狀在遺傳編碼時, 一般將瓦片的坐標作為基因進行實數編碼, 染色體的第一個基因為起點坐標, 最後一個基因為終點坐標, 中間的基因為路徑經過的每一個瓦片的坐標。在生成染色體時, 由起點出發, 隨機選擇當前結點的鄰居節點中的可通過節點, 將其坐標加入染色體, 依此循環, 直到找到目標點為止, 生成了一條染色體。重復上述操作, 直到達到指定的種群規模。遺傳演算法的優點:1、遺傳演算法是以決策變數的編碼作為運算對象,可以直接對集合、序列、矩陣、樹、圖等結構對象進行操作。這樣的方式一方面有助於模擬生物的基因、染色體和遺傳進化的過程,方便遺傳操作運算元的運用。另一方面也使得遺傳演算法具有廣泛的應用領域,如函數優化、生產調度、自動控制、圖像處理、機器學習、數據挖掘等領域。2、遺傳演算法直接以目標函數值作為搜索信息。它僅僅使用適應度函數值來度量個體的優良程度,不涉及目標函數值求導求微分的過程。因為在現實中很多目標函數是很難求導的,甚至是不存在導數的,所以這一點也使得遺傳演算法顯示出高度的優越性。3、遺傳演算法具有群體搜索的特性。它的搜索過程是從一個具有多個個體的初始群體P(0)開始的,一方面可以有效地避免搜索一些不必搜索的點。另一方面由於傳統的單點搜索方法在對多峰分布的搜索空間進行搜索時很容易陷入局部某個單峰的極值點,而遺傳演算法的群體搜索特性卻可以避免這樣的問題,因而可以體現出遺傳演算法的並行化和較好的全局搜索性。4、遺傳演算法基於概率規則,而不是確定性規則。這使得搜索更為靈活,參數對其搜索效果的影響也盡可能的小。5、遺傳演算法具有可擴展性,易於與其他技術混合使用。以上幾點便是遺傳演算法作為優化演算法所具備的優點。遺傳演算法的缺點:遺傳演算法在進行編碼時容易出現不規范不準確的問題。

熱點內容
法國電影小男孩在農場遇到一隻白狗 發布: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