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