導航:首頁 > 源碼編譯 > 遺傳演算法是概率與統計嗎

遺傳演算法是概率與統計嗎

發布時間:2024-10-27 19:15:15

Ⅰ 遺傳演算法有哪些特點

經現代醫學研究表明,DNA是現存生命最重要的遺傳物質。而遺傳則是指經由基因的傳遞,使後代獲得親代的特徵。遺傳學正是研究遺傳這一現象的一門學科,除遺傳因素外,還有環境,以及環境與遺傳的交互作用也是決定生物特徵的因素。

遺傳演算法是一種可用於復雜系統優化的一種搜索演算法,與傳統的演算法相比,具有以下4個特點:第一,它是以決策變數的編碼作為運算對象;第二,遺傳演算法直接以適應度作為搜索信息,無需導數等其他輔助信息;第三,遺傳演算法使用多個點的搜索信息,具有隱含並行性;最後,它沒有使用非確定性規則,而是採用了概率搜索技術。

Ⅱ 遺傳演算法-總結

最近在做遺傳演算法的項目,簡單記錄一下。
遺傳演算法是模擬自然界生物進化機制的一種演算法,在尋優過程中有用的保留無用的去除。包括3個基本的遺傳運算元:選擇(selection)、交叉(crossover)和變異(mutation)。遺傳操作的效果與上述3個遺傳運算元所取的操作概率、編碼方法、群體大小、初始群體,以及適應度函數的設定密切相關。
1、種群初始化
popsize 種群大小,一般為20-100,太小會降低群體的多樣性,導致早熟;較大會影響運行效率;迭代次數一般100-500;交叉概率:0.4-0.99,太小會破壞群體的優良模式;變異概率:0.001-0.1,太大搜索趨於隨機。編碼包括實數編碼和二進制編碼,可以參考遺傳演算法的幾個經典問題,TSP、背包問題、車間調度問題。
2、選擇
目的是把優化個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代,我大部分採用了輪盤賭的方法。具體可參考 http://my.oschina.net/u/1412321/blog/192454 輪盤賭方法各個個體的選擇概率和其適應值成比例,個體適應值越大,被選擇的概率也越高,反之亦然。在實際問題中,經常需要最小值作為最優解,有以下幾種方法進行轉換
a、0-1之間的數據,可以用1-該數值,則最小值與最大值互換;
b、 求倒數;
c、求相反數;
以上幾種方法均可以將最大值變為最小值,最小值變為最大值,便於利用輪盤賭選擇最優個體,根據實際情況來確定。
3、交叉
交叉即將兩個父代個體的部分結構加以替換重組而生成新個體的操作,通過交叉,遺傳演算法的搜索能力得以飛躍提高。根據編碼方法的不同,可以有以下的演算法:
a、實值重組
離散重組、中間重組、線性重組、擴展線性重組
b、二進制交叉
單點交叉、多點交叉、均勻交叉、洗牌交叉、縮小代理交叉
4、變異
基本步驟:對群中所有個體以事先設定的變異概率判斷是否進行變異;對進行變異的個體隨機選擇變異位進行變異。根據編碼表示方法的不同,有實值變異和二進制變異
變異的目的:
a、使遺傳演算法具有局部的隨機搜索能力。當遺傳演算法通過交叉運算元已接近最優解鄰域時,利用變異運算元的這種局部搜索能力可以加速向最優解收斂。顯然該情況下變異概率應取較小值,否則接近最優解的積木塊會因為變異遭到破壞。
b、使遺傳演算法可維持多樣性,以防止未成熟收斂現象。此時收斂概率應取較大值。
變異概率一般取0.001-0.1。
5、終止條件
當最優個體的適應度達到給定的閾值,或者最優個體的適應度和群體適應度不再上升時,或者迭代次數達到預設的代數時,演算法終止。預設代數一般為100-500。
6、其它
多變數:將多個變數依次連接
多目標:一種方法是轉化為單目標,例如按大小進行排序,根據排序和進行選擇,可以參考 https://blog.csdn.net/paulfeng20171114/article/details/82454310

Ⅲ 什麼是遺傳演算法

遺傳演算法(Genetic Algorithm)是一類借鑒生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。它是由美國的J.Holland教授1975年首先提出,其主要特點是直接對結構對象進行操作,不存在求導和函數連續性的限定;具有內在的隱並行性和更好的全局尋優能力;採用概率化的尋優方法,能自動獲取和指導優化的搜索空間,自適應地調整搜索方向,不需要確定的規則。遺傳演算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、信號處理、自適應控制和人工生命等領域。它是現代有關智能計算中的關鍵技術。
對於一個求函數最大值的優化問題(求函數最小值也類同),一般可以描述為下列數學規劃模型:
遺傳演算法式中x為決策
變數,式2-1為目標函數式,式2-2、2-3為約束條件,U是基本空間,R是U的子集。滿足約束條件的解X稱為可行解,集合R表示所有滿足約束條件的解所組成的集合,稱為可行解集合。
遺傳演算法的基本運算過程如下:
a)初始化:設置進化代數計數器t=0,設置最大進化代數T,隨機生成M個個體作為初始群體P(0)。
b)個體評價:計算群體P(t)中各個個體的適應度。
c)選擇運算:將選擇運算元作用於群體。選擇的目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的。
d)交叉運算:將交叉運算元作用於群體。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。遺傳演算法中起核心作用的就是交叉運算元。
e)變異運算:將變異運算元作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。
群體P(t)經過選擇、交叉、變異運算之後得到下一代群體P(t 1)。
f)終止條件判斷:若t=T,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。
遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(indivial)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。由於仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並藉助於自然遺傳學的遺傳運算元(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化一樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。

閱讀全文

與遺傳演算法是概率與統計嗎相關的資料

熱點內容
主角是程序員的重生小說推薦 瀏覽:320
壓縮機十字頭裝配視頻 瀏覽:805
屏幕錄像軟體源碼 瀏覽:310
app如何靜默更新 瀏覽:83
南京程序員接私活報價 瀏覽:936
阿里雲伺服器和價格 瀏覽:448
怎麼給u盤添加密碼分區 瀏覽:629
區域狗開發源碼 瀏覽:265
用網上下載雲豹的源碼 瀏覽:264
安卓攝像頭被佔用怎麼辦 瀏覽:868
安卓qq營銷助手怎麼弄 瀏覽:527
windosphp 瀏覽:977
linuxpythoncrontab 瀏覽:445
豆瓣圖片尺寸不被壓縮 瀏覽:701
未找到rpm命令oracle 瀏覽:977
phplaravel學習 瀏覽:719
文件解壓怎麼更改名字 瀏覽:759
我的程序員那麼可愛更新時間 瀏覽:727
女程序員街頭流浪 瀏覽:539
全面的電話機器人源碼 瀏覽:16