我正在使用一个方法来检查每一代中最适合的染色体是否在许多代(例如 100)中具有相同的适合度,然后 GA 应该终止。但我认为它工作效率不高,不是吗?
如果不是,遗传算法的最佳终止标准是什么?
我知道我可以在几代人或一段时间后结束它,但我想要那些暗示解决方案及其适用性的人?
顺便说一句,我不明白这些解决方案,
http://en.wikipedia.org/wiki/Genetic_algorithm#Termination
I'm using one that checks if the fittest chromosome in each generation has the same fitness for a number of generations (say.. 100) then the GA should terminate. But I don't think it's working efficiently, should it?
If not, what is/are the best termination criteria(s) for a genetic algorithm?
I know I can end it after a number of generations or a time being, but I want the ones that imply on solutions and their fitness?
I don't understand these solutions btw,
http://en.wikipedia.org/wiki/Genetic_algorithm#Termination
发布评论
评论(1)
如果您使用的是精英 GA,则此终止标准对于某些问题可能会很危险。最好的解决方案将代代相传,并且可能比任何其他解决方案都要好得多。这需要几代人的时间才能让其他人口赶上,你会发现这是停滞的。我宁愿将收敛检测基于平均群体质量以及最佳质量。只有当两者都没有改善时,才出现收敛,你就可以停止了。
This termination criteria might be dangerous for certain problems if you're using an elitist GA. The best solution would be kept from generation to generation and may be far better than any other solution. This then requires a number of generations for the rest of the population to catch up, which you would detect as stagnated. I would rather base the convergence detection on the average population quality as well as the best quality. Only if both have not improved, then convergence has occurred and you can stop.