我正在尝试执行一个遗传编程系统,该系统以符号方式求解方程(基本上是一阶和二阶多项式方程(。
这意味着对于a*x+b=0,它必须给我一个-b/a的树表示。我象征性的意思是我没有给出">a"和"b">的数字......基本上泛型编程的目的是什么。
我实际上被困在寻找健身功能上。对于给定的基因(潜在解决方案(,我如何预测这个基因离正确解决方案有多远。
我的怀疑是,除非我将问题转换为数字问题,否则没有办法做这样的事情。
我一直在网上搜索,但我发现的只是与遗传算法有关,因此与此类问题的数值分辨率有关。
在这里可以找到公开此类主题的链接:泛型编程,但它没有解释有关该问题的详细方法。
有什么想法吗?
提前谢谢。
我终于找到了解决方案。
我找到了一个强大的库,它是为Java开发人员的遗传算法设计的,并且有一个专门用于遗传编程(GP(的模块。
图书馆链接:Jenetics
我的解决方案实现可在我的 github 上找到,请访问此链接:符号方程求解器
它基本上是一个基于 Maven 的项目,它利用 Java 11 和上面的库来解决线性和二次方程,并给出符号(而不是数字(结果。