程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 遺傳算法--種群進化(經典算法連載二),遺傳算法種群

遺傳算法--種群進化(經典算法連載二),遺傳算法種群

編輯:C++入門知識

遺傳算法--種群進化(經典算法連載二),遺傳算法種群


遺傳算法核心---雜交,物競天擇

 

物競天擇--適應性評分與及選擇函數。

1.物競――適應度函數(fitness function)

       你產生的個體,對你預設的環境有多大的適應度

2.天擇――選擇函數(selection)

 

3.變異,進化的源泉。

//1.評估每條染色體所對應個體的適應度。

//2.遵照適應度越高,選擇概率越大的原則,從種群中選擇兩個個體作為父方和母方。

//3.抽取父母雙方的染色體,進行交叉,產生子代。

//4.對子代的染色體進行變異。

//5.重復2,3,4步驟,直到新種群的產生。

//結束循環。

void calAdaptive(個體unit);//計算個體適應度
void outUnit(種群units)    ;
void getSon();//獲取子孫後代
void variation();//變異

int test()
{    
    //種群初始化
    init(uints);
    do{
        foreach uint in uints
          calAdaptive(uint);

        select good mother and father to create a son
        getSon(mother,father);//獲取子孫後代
        variation();//變異
    }(looptime==>)//終止條件可以使迭代次數也可以是種群對環境適應度水平等
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved