遺傳演算法之花朵進化

2021-06-01 21:25:27 字數 1548 閱讀 5045

/*以下**實現了乙個簡單的花朵進化的模擬過程。

花朵的種群數量是10,共進化了50代。

通過執行程式,你會發現通過不斷的進化,種群的總的適應環境的能力在逐步提高(fitness的值下降)。

實現**:*/

using system;

using system.collections.generic;

using system.text;

namespace ga}}

class world

/**/

///

/// 初始化第一代花朵的基因結構

///

public void init()

currenttemperature = rnd.next(1, 75);

currentwater = rnd.next(1, 75);

currentsunlight = rnd.next(1, 75);

currentnutrient = rnd.next(1, 75);

currentbeneficialinsect = rnd.next(1, 75);

currentharmfulinsect = rnd.next(1, 75);

}/**/

///

/// 越大說明花朵的適應環境的能力差,**明適應環境的能力強

///

///

///

private int fitness(int flower)

/**/

///

/// 排除適應能力差的花朵,讓適應能力強的花朵雜交繁殖,產生下一代。同時有一定的概率變異。

///

public void evolve()

temperature[leastfitindex] = temperature[rnd.next(1, 10)];

water[leastfitindex] = water[rnd.next(1, 10)];

sunlight[leastfitindex] = sunlight[rnd.next(1, 10)];

nutrient[leastfitindex] = nutrient[rnd.next(1, 10)];

beneficialinsect[leastfitindex] = beneficialinsect[rnd.next(1, 10)];

harmfulinsect[leastfitindex] = harmfulinsect[rnd.next(1, 10)];

for (i = 1; i < kmaxflowers; i++)

for (i = 1; i < kmaxflowers; i++)

for (i = 1; i < kmaxflowers; i++)

}/**/

///

/// 顯示種群中個體對環境的適應能力,還有所有個體對環境的適應能力之和。

///

public void show()

console.writeline("fitness sum is " + sum);}}

}

進化演算法 遺傳演算法

一 能解決的問題 如果你需要解決乙個問題,這個問題的每乙個可能的解均可以用位串來表示,那麼遺傳演算法就能解決這個問題。二 術語 個體 每乙個可能的解 種群 一群個體 基因 個體中位的乙個序列包含著個體的一些特徵資訊,這個序列被稱為基因 染色體 乙個個體中全部基因的集合 基因型 特定的基因被稱為基因型...

遺傳演算法與進化演算法

1858年7月1日c.r.達爾文與a.r.華萊士在倫敦林奈學會上宣讀了演化論的 至此進化理論深入人心,為廣大吃瓜群眾開闢了乙個思想的新的天地。而我們的機器學習大師們向來喜歡從生物學家那裡找靈感,神經網路的靈感據說來自於人體的神經元,而根據演化論的思想,我們的大師們提出了遺傳演算法和進化演算法。其實我...

CI 模擬進化與遺傳演算法

模擬進化計算 simulated evolutionary computation 是近二十年來資訊科學 人工智慧與電腦科學的一大研究領域,由此所派生的求解優化問題的仿生類演算法 遺傳演算法 演化策略 進化程式 由於其鮮明的生物背景 新穎的設計原理 獨特的分析方法和成功的應用實踐,正日益形成全域性搜...