JAVA代码改成C#代码

//进行两个个体的交叉(暂且想象为makelove的过程吧)。交叉的概率为uniformRateprivatestaticIndividualcrossover(Indi... // 进行两个个体的交叉 (暂且想象为make love的过程吧)。 交叉的概率为uniformRate
private static Individual crossover(Individual indiv1, Individual indiv2) {
Individual newSol = new Individual();
// 随机的从 两个个体中选择
for (int i = 0; i < indiv1.size(); i++) {
if (Math.random() <= uniformRate) {
newSol.setGene(i, indiv1.getGene(i));
} else {
newSol.setGene(i, indiv2.getGene(i));
}
}
return newSol;
}

// 突变个体。 突变的概率为 mutationRate
private static void mutate(Individual indiv) {
for (int i = 0; i < indiv.size(); i++) {
if (Math.random() <= mutationRate) {
// 生成随机的 0 或 1
byte gene = (byte) Math.round(Math.random());
indiv.setGene(i, gene);
}
}
}

// 随机选择一个较优秀的个体,用了进行交叉
private static Individual tournamentSelection(Population pop) {
// Create a tournament population
Population tournamentPop = new Population(tournamentSize, false);
//随机选择 tournamentSize 个放入 tournamentPop 中
for (int i = 0; i < tournamentSize; i++) {
int randomId = (int) (Math.random() * pop.size());
tournamentPop.saveIndividual(i, pop.getIndividual(randomId));
}
// 找到淘汰数组中最优秀的
Individual fittest = tournamentPop.getFittest();
return fittest;
}
}
展开
 我来答
百度网友ce7f3ccb4
2015-08-11 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1901万
展开全部
你这个跟C#没什么区别啊!!全是对象和对象的方法
所以没什么可翻译的,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式