遺傳演算法 簡介

2021-09-17 20:13:22 字數 1471 閱讀 7047

遺傳演算法(genetic algorithm)是模擬達爾文生物演化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程

搜尋最優解的方法。遺傳演算法是從代表問題可能潛在的解集的乙個種群(population)開始的,而乙個種群則由經過基因(gene)編碼的一定數目的個體(individual)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭髮的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的對映即編碼工作。由於仿照基因編碼的工作很複雜,我們往往進行簡化,如二進位制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並借助於自然遺傳學的遺傳運算元(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化一樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。

遺傳演算法(genetic algorithm)是一類借鑑生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜尋方法。它是由美國的j.holland教授2023年首先提出,其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定;具有內在的隱並行性和更好的全域性尋優能力;採用概率化的尋優方法,能自動獲取和指導優化的搜尋空間,自適應地調整搜尋方向,不需要確定的規則。遺傳演算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、訊號處理、自適應控制和人工生命等領域。

遺傳演算法也是電腦科學人工智慧領域中用於解決最優化的一種搜尋啟發式演算法,是進化演算法的一種。這種啟發式通常用來生成有用的解決方案來優化和搜尋問題。進化演算法最初是借鑑了進化生物學中的一些現象而發展起來的,這些現象包括遺傳、突變、自然選擇以及雜交等。遺傳演算法在適應度函式選擇不當的情況下有可能收斂於區域性最優,而不能達到全域性最優。       

遺傳演算法的基本運算過程如下:

a)初始化:設定進化代數計數器t=0,設定最大進化代數t,隨機生成m個個體作為初始群體p(0)。

b)個體評價:計算群體p(t)中各個個體的適應度。

c)選擇運算:將選擇運算元作用於群體。選擇的目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳                                 到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的。

d)交叉運算:將交叉運算元作用於群體。遺傳演算法中起核心作用的就是交叉運算元。

e)變異運算:將變異運算元作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。群體p(t)經過選擇、交叉、                                變異運算之後得到下一代群體p(t+1)。

f)終止條件判斷:若t=t,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。

遺傳演算法簡介

把電腦科學與演化論結合起來的嘗試始於50年代末,但由於缺乏一種通用的編碼方案 人們只能依賴變異而非交配來產生新的基因結構,故而收效甚微。到60年代中期,美 國michigan大學的john hol land在a s fraser和h j bremermann等人工作的基礎 上提出了位串編碼技術。這種...

遺傳演算法簡介

今天來講遺傳演算法,遺傳演算法有很多應用,比如尋路問題,八數碼問題,囚犯困境問題,動作控制,tsp問題,生產 排程問題,在乙個多邊形中尋找乙個包含在該多邊形內的乙個圓,函式求最值問題等等。之前講的模擬退火演算法是用 來求解最優化問題的,鏈結為 模擬退 火演算法用一句話概括就是 貪心過程中引入了隨機因...

遺傳演算法簡介

遺傳演算法借鑑了達爾文的演化論,是一種解決最佳化的搜尋演算法 具體步驟 1 初始化 先初始化一堆染色體,也就是一組編碼,常見的編碼方式有二進位制 浮點數編碼 2 適應度函式 根據要達成的目標進行乙個適應度排序 比如求要求乙個函式的最小值,那麼染色體所代表的資料越小,適應度越高 適應度決定了下乙個階段...