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

winlinglin

遺傳算法(轉)

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

遺傳學算法和遺傳學中的基礎術語比較

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

染色體又可以叫做基因型個體(individuals),一定數量的個體組成了群體(population),群體中個體的數量叫做群體大小。各個個體對環境的適應程度叫做適應度(fitness)

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

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

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

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

隨機數為0.67落在了個體4的端內.本次選擇了個體4. 

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

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

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

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

while (App.IsRun)

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

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

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

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

這篇文章是原來學習的一些回憶的整理,因為最近要實用了.不正確的地方還希望大家多多指出~

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


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(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>
            国产一区视频网站| 欧美一区免费| 欧美成人免费大片| 欧美激情精品久久久久久蜜臀 | 亚洲激情一区| 国产精品h在线观看| 久久久久久国产精品一区| 美日韩精品视频免费看| 亚洲一区二区三区777| 久久精品一区二区三区四区| 99视频精品| 久久精品日产第一区二区三区| 日韩视频在线观看| 欧美在线观看日本一区| 亚洲婷婷在线| 久久精品亚洲热| 亚洲影视综合| 欧美成人在线免费观看| 久久久国产亚洲精品| 欧美三级电影大全| 欧美一区=区| 久久久久久穴| 亚洲欧美在线观看| 欧美精品久久一区| 免费亚洲电影在线| 国产日韩欧美一区二区三区在线观看 | 亚洲国产婷婷香蕉久久久久久| 国产精品久久婷婷六月丁香| 亚洲第一在线综合在线| 国产综合色产| 亚洲欧美日韩精品| 中文精品视频| 欧美精品免费播放| 欧美激情一区二区久久久| 国产综合精品| 午夜久久资源| 欧美一激情一区二区三区| 欧美日韩日本网| 亚洲国产小视频| 亚洲福利视频在线| 久久婷婷人人澡人人喊人人爽| 久久成人人人人精品欧| 国产精品永久| 亚洲一区二区免费看| 亚洲淫性视频| 国产精品嫩草久久久久| 一区二区三区日韩欧美| 亚洲一区二区三区激情| 欧美午夜一区二区| 亚洲天堂网在线观看| 午夜精品久久久久久久99热浪潮| 欧美体内she精视频| 一区二区三区久久久| 亚洲一区日韩在线| 国产精品夜夜夜一区二区三区尤| 亚洲图片欧美一区| 午夜久久久久久| 国产伦精品一区二区三区视频黑人| 亚洲视频你懂的| 欧美一区二区免费观在线| 国产欧美视频一区二区| 久久9热精品视频| 麻豆久久精品| 亚洲美女在线看| 国产精品高潮呻吟久久| 午夜精品视频一区| 模特精品在线| 一区二区精品在线| 国产精品久久久久一区二区| 午夜欧美不卡精品aaaaa| 久久九九全国免费精品观看| 国产午夜精品在线| 免费看的黄色欧美网站| 亚洲美女av在线播放| 亚洲欧美一区二区三区极速播放| 国产欧美日韩亚洲| 久久婷婷丁香| 亚洲最新在线| 久久久久久久综合狠狠综合| 亚洲国产精品福利| 国产精品二区在线| 午夜精品久久久久| 欧美在线欧美在线| 欧美福利电影网| 亚洲成人资源| 欧美国产乱视频| 亚洲网友自拍| 久久婷婷国产综合精品青草| 亚洲国产欧洲综合997久久| 欧美日本一区二区视频在线观看| 亚洲美女性视频| 久久精品一区二区| 日韩午夜在线观看视频| 国产区日韩欧美| 欧美国产精品人人做人人爱| 亚洲欧美精品| 亚洲国产日韩一区| 久久久噜噜噜久久久| 99re国产精品| 影音先锋日韩资源| 国产精品女主播在线观看| 美女视频一区免费观看| 亚洲视频一区二区| 欧美韩日一区| 久久精品中文字幕一区| 一区二区三区免费观看| 在线成人中文字幕| 国产精品入口尤物| 欧美激情aⅴ一区二区三区| 欧美在线亚洲综合一区| 亚洲视频在线二区| 亚洲激情影视| 免费不卡亚洲欧美| 欧美一区二区三区播放老司机| 亚洲日本欧美在线| 黄色精品网站| 国产欧亚日韩视频| 欧美精品一卡| 欧美风情在线观看| 老司机精品久久| 久久精品99国产精品| 亚洲一区二区欧美| 一区二区日韩精品| 亚洲精品久久久一区二区三区| 蜜桃av久久久亚洲精品| 久久久www成人免费精品| 欧美一区二区三区男人的天堂| 在线性视频日韩欧美| 一区二区三区四区国产| 亚洲美女电影在线| 亚洲欧洲精品一区二区三区| 在线国产精品一区| 韩日欧美一区二区三区| 国内精品视频在线播放| 国产亚洲欧美一区二区| 国产日韩成人精品| 国产片一区二区| 国产在线精品成人一区二区三区| 国产女主播一区二区三区| 国产伦精品一区二区三区视频孕妇 | 国产日韩精品视频一区二区三区| 国产精品白丝黑袜喷水久久久| 欧美日韩精品在线播放| 欧美精品一区二区三| 欧美日韩精品不卡| 国产精品成人免费精品自在线观看| 国产精品99一区二区| 国产精品久久久久久久电影| 国产精品露脸自拍| 国产亚洲福利社区一区| 黄网站免费久久| 久久精品视频免费观看| 欧美在线一二三| 久久综合九色综合欧美狠狠| 免费在线成人| 欧美日韩国产欧| 国产精品久久综合| 国产一区二区精品久久| 亚洲第一伊人| 亚洲美洲欧洲综合国产一区| 亚洲自拍偷拍色片视频| 久久爱另类一区二区小说| 久久夜精品va视频免费观看| 亚洲成人在线网| 一本色道久久综合| 午夜久久资源| 欧美激情精品久久久久久黑人 | 亚洲美女黄色| 午夜精品av| 麻豆成人av| 欧美色区777第一页| 国产日产欧产精品推荐色| 亚洲国产成人精品久久| 一区二区三区高清在线| 午夜天堂精品久久久久| 欧美成人午夜激情视频| 99国产精品久久久久久久成人热| 亚洲欧美制服另类日韩| 欧美超级免费视 在线| 国产精品视频99| 亚洲国产另类精品专区 | 欧美大胆a视频| 国产精品免费在线| 最近中文字幕日韩精品| 午夜免费电影一区在线观看| 蜜桃久久精品乱码一区二区| 99精品福利视频| 久久视频在线看| 国产精品久久久久久久久久久久| 在线免费日韩片| 亚洲欧美日韩第一区| 欧美国产日韩精品| 亚洲欧美日韩网| 欧美日韩国产精品自在自线| 激情亚洲网站| 亚洲伊人久久综合| 欧美成人中文字幕| 午夜在线一区二区| 国产精品福利在线| 亚洲视频导航|