嗨,我有点困惑的比赛选择的作品是如何多次迭代。

我知道你开始选择随机对(或k个成员),并把赢家到配合池。你继续这样做,直到交配池被填满。

不过,我不知道以后会发生什么。

难道我们刚开始随机交配那些在交配池?然后通过从新一代选择随机对重启选择过程?

感谢。

有帮助吗?

解决方案

后传统的比赛获胜者发现它们形成下一代。突变,选择等的所有进程在此之后继续在周期。

其他提示

我已经写了很多的这些通用的算法,给点我做了一个框架,以避免一次又一次地编写相同的代码。

有关交配池,它取决于那种你要找的,你要寻找的解决方案的个人,如果你有办法给个人的方式有,他们会产生一个更好的机会相结合更好的个体。

您可以使用随机交配,但是这会给你的“雪上加霜”的解决方案 - 更坏,因为你不知道他们是否会产生更好的个人或没有。它仍然是很好的解决方案,而当我开始写这些算法我一直用随机交配,但是从2米旧的得到一个新的个体之后,我比较了3的性能,并丢弃糟糕的是,与结束了2个父母有时(并丢弃1秒大的孩子),或具有1个父和子1结束了。

但更高效,如果你知道如何给个人结合起来,使他们产生更好的解决方案(这可能是非常棘手的),可以使用具有亲和力的功能,这需要2个个人和收益之间的亲和力他们。棘手的部分是确定的亲和力。根据不同的问题,它可以是非常不同的。例如,如果我走了旅行商问题,我用更少的相似性匹配时,个人得到了最好的解决方案。因此,我的亲和力函数返回1 - 相似性

此方式,我可以减少80%的迭代次数和获得非常好的解决方案。

但请记住,较大的是你的池,时间越长将采取亲和力函数来执行 - 亲和功能都可以O(N²),甚至是O(N 3),在该情况下,可能的瓶颈你的算法。在这种情况下,它可以更好地使用随机交配。

总之,随机交配好 - 毕竟,我们可以说是这样工作在现实生活中 - 但如果你知道如何计算2个个体之间的关联性,你可以用它来减少迭代次数你需要得到很好的解决。请注意,计算亲和力可以是非常复杂的(和我甚至猜测,计算对于给定的池最好亲和力是NP完全)。

这是不好的意见,但...

  

不过,我不知道以后会发生什么。

想干什么就干什么。你可能改变他们... ...或者你可以配合每对你在比赛中挑选。使用哪种效果最好。创造性。

由于有人在这个论坛上其他人指出:关于天然气肮脏的小秘密是,它是艺术多于科学

此外,为了获得真正的好建议,你需要你想解决这个问题的一个更好的描述。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top