我正在学习如何使用GAUL。我从第一个例子中开始 我能理解它并成功运行它。然而,似乎最好的结果永远不会与目标字符串相同。
目标字符串是“当我们反思这场斗争时,我们可以完全相信自己安慰自己,自然之战不是不断的,没有恐惧感,死亡通常是迅速的,而且是充满活力的,健康,幸福生存和繁衍。“
GA运行50次,最好的结果就是那样
“当这个时候,我们可以自己安慰自己,#ghell ^ eomef'& thk wir#od(n qure bl nfx kgciss\nt,)what no#bear is-[egt, wh_t deaxh is g_jerally promph, an
s [at + th] v {{ 1}} na#kqitiphy。“
这是正常的还是我以某种方式安装了错误?谢谢。 这是奋斗教程的链接 http://gaul.sourceforge.net/tutorial/simple.html
答案 0 :(得分:0)
我不熟悉GAUL,但对于这种类型的例子,精英主义通常会产生很大的不同。如果你可以改变它,你可能会看到更快的收敛,因为你并没有经常放弃好的部分解决方案。
作为增加代数的替代方法,您可以尝试增加种群大小,以便您可以使用更多的多样性。您也可以尝试改变突变率。如果您使用的页面上提到的0.2,您链接到它可能会有点高。当突变过于频繁时,它会破坏算法的进展。
如果您只想查看程序找到目标字符串,可以尝试使用较短的字符串。字符串越长,收敛的代数就越多。