【发布时间】:2020-03-28 16:02:55
【问题描述】:
我正在尝试执行一个遗传编程系统,该系统求解方程(基本上是一阶和二阶多项式方程)象征性地。
这意味着对于a*x+b=0,它必须给我一个-b/a的树表示。我所说的 象征性 的意思是我没有为 'a' 和 'b' 提供 数字 。 .. 基本上是泛型编程的目的。
我实际上一直在寻找健身功能。对于给定的基因(潜在解决方案),我如何预测距离这个与 >正确的解决方案。
我的疑问是,除非我将问题转换为数字,否则没有办法做到这一点。
我一直在网上搜索,但我发现的都是遗传算法等问题的数值解析。
在这里可以找到公开此类主题的链接:Generic Programming,但它并未解释有关该问题的详细方法。
有什么想法吗?
提前致谢。
【问题讨论】:
-
您使用哪种语言进行编程?大多数计算机代数系统都有
Solve(a*x+b==0,x)或Eliminate函数。 -
我正在用 Java 编程...看,我知道可以求解线性或二次方程以获得 x 的数值。但我不是在寻找数值结果,否则我会实现它,它只需要 1 行代码......我正在寻找的是一个 GP 程序来求解方程并得到公式,就像它给出的线性问题 -b/a ,或者对于二次方,它给出 (-b + sqrt(b² - 4ac))/(2a) 或 (-b - sqrt(b² - 4ac))/(2a)
-
是的,这就是我的意思,例如 Java 中的 Solve 函数:github.com/axkr/symja_android_library/blob/master/… 或 github.com/axkr/symja_android_library/blob/master/…
-
Maan 很棒的图书馆,真是太棒了,我简短地检查了它,很抱歉迟到的答案......你是使用遗传编程创建的图书馆?
标签: genetic-algorithm polynomial-math equation-solving genetic-programming genetics