本节书摘来异步社区《Java遗传算法编程》一书中的第2章,第2.2节,作者: 【英】Lee Jacobson(雅各布森) , 【美】Burak Kanber(坎贝尔),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 基本遗传算法的伪代码

基本遗传算法的伪代码如下:

1: generation = 0;
2: population[generation] = initializePopulation(populationSize);
3: evaluatePopulation(population[generation]);
3: While isTerminationConditionMet() == false do
4:     parents = selectParents(population[generation]);
5:     population[generation+1] = crossover(parents);
6:     population[generation+1] = mutate(population[generation+1]);
7:     evaluatePopulation(population[generation]);
8:     generation++;
9: End loop;

伪代码从创建遗传算法的初始种群开始。然后,对这个群体进行评估,求出其个体的适应度值。下一步,检查确定遗传算法的终止条件是否已经满足。如果未满足,遗传算法开始循环,种群经过第一轮的交叉和变异,然后重新评估。此后,持续进行交叉和变异,直到满足终止条件,遗传算法终止。

这段伪代码展示了遗传算法的基本过程,但我们有必要仔细查看每个步骤,充分了解如何创建一个令人满意的遗传算法。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐