gpt4 book ai didi

java - 遗传算法,如何为生成的源代码定义适应度函数

转载 作者:行者123 更新时间:2023-12-02 11:39:22 27 4
gpt4 key购买 nike

我正在研究一个生成Java源代码的简单遗传算法,但我在定义一个好的适应度函数时遇到了问题,现在我正在使用一个简单的Java编译器来运行代码(一个人是一个简单的个体)包含Java代码一部分的字符串),然后获取错误数,错误越少,适应度越高,但是到目前为止这并没有给我带来好的结果,它达到了所有成员都具有的程度相同的健康状况并且永远不会变得更高。

个体是使用Java关键字以及一些方法和类名称的组合生成的,因此它生成如下字符串:

  • int方法,=float......
  • void,int,,;......
  • 方法(,;;=.....

是否有可能知道生成的代码比其他代码更好?也许是错误数量与其他内容的组合。

最佳答案

您可能想要使用不同的方法和非常不同的适应度函数。改变现有的东西将很难改善事情。我尝试在一些数学方程上使用遗传算法,但在我之前他们就停止改进了我得到了令人满意的结果。我花了很多时间在健身功能中添加和删除一些小东西,但没有成功。

例如,您可以考虑使用一些代码指标(不需要的操作等、对变量或寄存器的虚拟读/写等)。您可能想为此编写自己的 VM,以便获得结果。

或者使用非常不同的方法(不是遗传算法,而是找到正确的路径,如果你知道启发式或使用遗传编程来改变包含代码指令的树的分支)。根据您所说的,您将需要做出更重大的改变。

祝你好运。请让我们更新。非常想知道什么最有效。

关于java - 遗传算法,如何为生成的源代码定义适应度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48692273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com