遺傳算法核心---雜交,物競天擇
物競天擇--適應性評分與及選擇函數。
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==>)//終止條件可以使迭代次數也可以是種群對環境適應度水平等
}