青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

winlinglin

遺傳算法(轉(zhuǎn))

現(xiàn)代生物遺傳學(xué)中描述的生物進(jìn)化理論:
遺傳物質(zhì)的主要載體是染色體(chromsome),染色體主要由DNA和蛋白質(zhì)組成。其中DNA為最主要的遺傳物質(zhì)。
基因(gene)是有遺傳效應(yīng)的片斷,它存儲著遺傳信息,可以準(zhǔn)確地復(fù)制,也能發(fā)生突變,并可通過控制蛋白質(zhì)的合成而控制生物的狀態(tài).生物自身通過對基因的復(fù)制(reproduction)和交叉(crossover,即基因分離,基因組合和基因連鎖互換)的操作時(shí)其性狀的遺傳得到選擇和控制。生物的遺傳特性,使生物界的物種能保持相對的穩(wěn)定;生物的變異特性,使生物個(gè)體產(chǎn)生新的性狀,以至于形成了新的物種(量變積累為質(zhì)變),推動了生物的進(jìn)化和發(fā)展。

遺傳學(xué)算法和遺傳學(xué)中的基礎(chǔ)術(shù)語比較

染色體(chromosome)    數(shù)據(jù),數(shù)組,序列
基因(gene) 單個(gè)元素,位
等位基因(allele) 數(shù)據(jù)值,屬性,值
基因座(locus)  位置,iterator位置
表現(xiàn)型(phenotype)  參數(shù)集,解碼結(jié)構(gòu),候選解
遺傳隱匿(epistasis)  非線性

染色體又可以叫做基因型個(gè)體(individuals),一定數(shù)量的個(gè)體組成了群體(population),群體中個(gè)體的數(shù)量叫做群體大小。各個(gè)個(gè)體對環(huán)境的適應(yīng)程度叫做適應(yīng)度(fitness)

遺傳算法的準(zhǔn)備工作:
1)數(shù)據(jù)轉(zhuǎn)換操作,包括表現(xiàn)型到基因型的轉(zhuǎn)換和基因型到表現(xiàn)型的轉(zhuǎn)換。前者是把求解空間中的參數(shù)轉(zhuǎn)化成遺傳空間中的染色體或者個(gè)體(encoding),后者是它的逆操作(decoding)
2)確定適應(yīng)度計(jì)算函數(shù),可以將個(gè)體值經(jīng)過該函數(shù)轉(zhuǎn)換為該個(gè)體的適應(yīng)度,該適應(yīng)度的高低要能充分反映該個(gè)體對于解得優(yōu)秀程度。非常重要的過程!

遺傳算法的基本步驟
遺傳算法是具有"生成+檢測"(generate-and-test)的迭代過程的搜索算法。
基本過程為:
1)編碼,創(chuàng)建初始集團(tuán)
2)集團(tuán)中個(gè)體適應(yīng)度計(jì)算
3)評估適應(yīng)度
4)根據(jù)適應(yīng)度選擇個(gè)體
5)被選擇個(gè)體進(jìn)行交叉繁殖,
6)在繁殖的過程中引入變異機(jī)制
7)繁殖出新的集團(tuán),回到第二步

一個(gè)簡單的遺傳算法的例子:求 [0,31]范圍內(nèi)的y=(x-10)^2的最小值
1)編碼算法選擇為"將x轉(zhuǎn)化為2進(jìn)制的串",串的長度為5位。(等位基因的值為0 or 1)
2)計(jì)算適應(yīng)度的方法是:先將個(gè)體串進(jìn)行解碼,轉(zhuǎn)化為int型的x值,然后使用y=(x-10)^2作為其適應(yīng)度計(jì)算合適(由于是最小值,所以結(jié)果越小,適應(yīng)度也越好)
3)正式開始,先設(shè)置群體大小為4,然后初始化群體 => (在[0,31]范圍內(nèi)隨機(jī)選取4個(gè)整數(shù)就可以,編碼)
4)計(jì)算適應(yīng)度Fi(由于是最小值,可以選取一個(gè)大的基準(zhǔn)線1000,Fi = 1000 - (x-10)^2)
5)計(jì)算每個(gè)個(gè)體的選擇概率.選擇概率要能夠反映個(gè)體的優(yōu)秀程度.這里用一個(gè)很簡單的方法來確定選擇概率
P=Fi / TOTAL(Fi).
6)選擇.
根據(jù)所有個(gè)體的選擇概率進(jìn)行淘汰選擇.這里使用的是一個(gè)賭輪的方式進(jìn)行淘汰選擇.先按照每個(gè)個(gè)體的選擇概率創(chuàng)建一個(gè)賭輪,然后選取4次,每次先產(chǎn)生一個(gè)0-1的隨機(jī)小數(shù),然后判斷該隨機(jī)數(shù)落在那個(gè)段內(nèi)就選取相對應(yīng)的個(gè)體.這個(gè)過程中,選取概率P高的個(gè)體將可能被多次選擇,而概率低的就可能被淘汰.

下面是一個(gè)簡單的賭輪的例子
   13%               35%                    15%                 37%       
----------|----------------------------|------------|-*-------------------------|
   個(gè)體1              個(gè)體2                  個(gè)體3    ^0.67    個(gè)體4

隨機(jī)數(shù)為0.67落在了個(gè)體4的端內(nèi).本次選擇了個(gè)體4. 

被選中的個(gè)體將進(jìn)入配對庫(mating pool,配對集團(tuán))準(zhǔn)備開始繁殖.
7)簡單交叉
先對配對庫中的個(gè)體進(jìn)行隨機(jī)配對.然后在配對的2個(gè)個(gè)體中設(shè)置交叉點(diǎn),交換2個(gè)個(gè)體的信息后產(chǎn)生下一代.
比如( | 代表簡單串的交叉位置)
 ( 0110|1, 1100|0 ) --交叉--> (01100,11001)
 ( 01|000, 11|011 ) --交叉--> (01011,11000)
2個(gè)父代的個(gè)體在交叉后繁殖出了下一代的同樣數(shù)量的個(gè)體.
復(fù)雜的交叉在交叉的位置,交叉的方法,雙親的數(shù)量上都可以選擇.其目的都在于盡可能的培育出更優(yōu)秀的后

8)變異
變異操作時(shí)按照基因座來的.比如說沒計(jì)算2萬個(gè)基因座就發(fā)生一個(gè)變異(我們現(xiàn)在的每個(gè)個(gè)體有5個(gè)基因座.也就是說要進(jìn)化1000代后才會在其中的某個(gè)基因座發(fā)生一次變異.)變異的結(jié)果是基因座上的等位基因發(fā)生了變化.我們這里的例子就是把0變成1或則1變成0.
至此,我們已經(jīng)產(chǎn)生了一個(gè)新的(下一代)集團(tuán).然后回到第4步,周而復(fù)始,生生不息下去:)

偽代碼實(shí)例(適合愛看代碼的朋友~):

//Init population
foreach individual in population
{
     individual = Encode(Random(0,31));
}

while (App.IsRun)

     //計(jì)算個(gè)體適應(yīng)度
     int TotalF = 0;
     foreach individual in population
     {
      individual.F = 1000 - (Decode(individual)-10)^2;
      TotalF += individual.F;
     }

     //------選擇過程,計(jì)算個(gè)體選擇概率-----------
     foreach individual in population
     {
          individual.P = individual.F / TotalF;
     }
     //選擇
     for(int i=0;i<4;i++)
     {
          //SelectIndividual(float p)是根據(jù)隨機(jī)數(shù)落在段落計(jì)算選取哪個(gè)個(gè)體的函數(shù)
          MatingPool[i] = population[SelectIndividual(Random(0,1))];
     }
     //-------簡單交叉---------------------------
     //由于只有4個(gè)個(gè)體,配對2次
     for(int i=0;i<2;i++)
     {
          MatingPool.Parents[i].Mother = MatingPool.RandomPop();
          MatingPool.Parents[i].Father = MatingPool.RandomPop();
        }

     //交叉后創(chuàng)建新的集團(tuán)
     population.Clean();
     foreach Parent in MatingPool.Parents
     {
          //注意在copy 雙親的染色體時(shí)在某個(gè)基因座上發(fā)生的變異未表現(xiàn).
          child1 = Parent.Mother.DivHeader + Parent.Father.DivEnd;
          child2 = Parent.Father.DivHeader + Parent.Mother.DivEnd;
          population.push(child1);
          population.push(child2);
     }

小結(jié):
遺傳算法中最重要的過程就是選擇和交叉。
選擇要能夠合理的反映"適者生存"的自然法則,而交叉必須將由利的基因盡量遺傳給下一代(這個(gè)算法很關(guān)鍵!)
還有就是編碼的過程要能夠使編碼后的染色體能充分反映個(gè)體的特征并且能夠方便計(jì)算。

這篇文章是原來學(xué)習(xí)的一些回憶的整理,因?yàn)樽罱獙?shí)用了.不正確的地方還希望大家多多指出~

posted on 2009-03-08 20:13 wil 閱讀(361) 評論(0)  編輯 收藏 引用 所屬分類: 算法


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

文章分類

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99re热这里只有精品视频| 亚洲一区视频在线| 欧美~级网站不卡| 尤物yw午夜国产精品视频明星| 久久野战av| 欧美a级一区| 日韩视频中文字幕| 99re热精品| 国产欧美精品| 欧美成人午夜剧场免费观看| 欧美gay视频激情| 一区二区欧美视频| 午夜欧美精品| 亚洲国产精品va| 亚洲精品久久久久久久久久久久| 欧美人与性动交cc0o| 亚洲制服av| 久久精品国产亚洲aⅴ| 亚洲激情综合| 亚洲午夜未删减在线观看| 国产欧美精品xxxx另类| 欧美国产第二页| 欧美午夜不卡视频| 久久久免费精品| 欧美激情va永久在线播放| 亚洲欧美成人| 久久中文欧美| 亚洲永久视频| 久久综合国产精品| 欧美一级淫片aaaaaaa视频| 久久久国产精品亚洲一区| 一本色道久久综合亚洲精品婷婷 | 亚洲欧美在线高清| 久久久久91| 在线一区视频| 久久天堂av综合合色| 亚洲视频播放| 久久久免费精品视频| 亚洲永久免费av| 免费在线欧美视频| 久久精品女人天堂| 欧美日韩精品系列| 欧美成人精品三级在线观看| 欧美日韩一级黄| 媚黑女一区二区| 国产日韩欧美综合| 亚洲伦理一区| 亚洲黄色毛片| 久久aⅴ乱码一区二区三区| 在线综合亚洲| 欧美精品一区二区三区蜜臀 | 亚洲第一区在线观看| 亚洲一区二区三区免费在线观看| 亚洲精品五月天| 久久久国产成人精品| 亚欧成人在线| 国产精品黄页免费高清在线观看| 欧美国产在线电影| 韩日成人av| 欧美一区二区高清| 欧美一级电影久久| 国产精品色午夜在线观看| 亚洲精品中文字幕在线| 亚洲免费电影在线观看| 男女视频一区二区| 欧美黑人一区二区三区| 一区二区三区自拍| 久久久99精品免费观看不卡| 久久精品盗摄| 国内成人精品2018免费看| 亚洲欧美另类中文字幕| 午夜精品久久久久影视| 欧美四级剧情无删版影片| 一本色道久久加勒比精品| 一区二区三区精品久久久| 欧美激情一区三区| 日韩视频一区二区三区在线播放免费观看 | 在线观看福利一区| 久久综合九色综合欧美就去吻| 久久一二三区| 在线看日韩av| 欧美1区2区| 日韩视频在线一区二区三区| 亚洲午夜伦理| 国产一区二区三区久久久| 久久精品网址| 亚洲第一精品夜夜躁人人躁| 91久久精品日日躁夜夜躁国产| 欧美高清视频在线| 亚洲乱码国产乱码精品精| 亚洲一区二区黄色| 国产午夜精品久久久久久免费视| 久久国产99| 亚洲激情视频在线播放| 亚洲资源av| 经典三级久久| 欧美国产一区视频在线观看| 夜夜精品视频| 久久久噜噜噜久噜久久| 亚洲人成人99网站| 欧美午夜精品理论片a级大开眼界| 亚洲一区三区电影在线观看| 老司机免费视频一区二区| 亚洲国产一区二区三区青草影视| 欧美日本高清视频| 欧美一区二区性| 最新成人在线| 久久成人免费日本黄色| 亚洲激情在线激情| 国产欧美日本在线| 美女成人午夜| 亚洲综合色丁香婷婷六月图片| 女人色偷偷aa久久天堂| 亚洲特级毛片| 亚洲国语精品自产拍在线观看| 国产精品vvv| 美女网站久久| 欧美中文字幕精品| 亚洲少妇中出一区| 欧美激情一区二区三区在线视频观看 | 免费在线看一区| 亚洲欧美在线一区| 亚洲免费电影在线| 欧美高清免费| 久久久久久综合| 亚洲欧美日韩在线| 一本一本a久久| 亚洲国内精品| 精品成人免费| 国产精品一区在线观看你懂的| 欧美成人激情在线| 久久九九电影| 亚洲欧美综合| 亚洲午夜三级在线| 一区二区三区免费看| 最近中文字幕日韩精品| 欧美高清在线观看| 免费亚洲一区二区| 久久久久久久一区二区| 久久精品理论片| 久久精品av麻豆的观看方式| 亚洲欧美日韩人成在线播放| 亚洲中午字幕| 午夜精彩国产免费不卡不顿大片| 在线综合欧美| 亚洲综合激情| 欧美一区二区三区成人| 亚洲欧美成人一区二区在线电影| 亚洲午夜性刺激影院| 亚洲视频1区2区| 亚洲香蕉成视频在线观看| 在线视频欧美日韩精品| 亚洲视频免费在线| 亚洲一区二区三区欧美| 午夜一区不卡| 久久成人一区| 久久亚洲欧美国产精品乐播| 久久久久久香蕉网| 狼人天天伊人久久| 免费在线观看日韩欧美| 欧美福利一区| 日韩网站在线看片你懂的| 一区二区三区你懂的| 亚洲女女女同性video| 小处雏高清一区二区三区| 亚欧美中日韩视频| 久久久久这里只有精品| 老司机午夜精品视频在线观看| 你懂的视频欧美| 欧美日韩黄色大片| 国产视频欧美视频| 91久久久一线二线三线品牌| 亚洲美女91| 欧美一区二区三区在线| 美女亚洲精品| 亚洲裸体视频| 欧美一区二区三区男人的天堂| 久久精品国产一区二区三区免费看| 久久午夜色播影院免费高清| 欧美精品一区二区三区很污很色的 | 国产精品不卡在线| 黄色成人91| 中文av一区二区| 久热这里只精品99re8久| 欧美激情一区二区三区| 亚洲欧美国产精品va在线观看 | 欧美伊人久久久久久午夜久久久久 | 欧美fxxxxxx另类| 一本一道久久综合狠狠老精东影业| 先锋影音网一区二区| 母乳一区在线观看| 国产精品视频99| 亚洲人成亚洲人成在线观看图片| 亚洲欧美日本日韩| 亚洲二区精品| 久久精品国产v日韩v亚洲| 欧美亚一区二区| 亚洲欧洲精品成人久久奇米网| 欧美一级一区| 亚洲理伦在线|