【问题标题】:Genetic programming for symbolic equation solving用于符号方程求解的遗传编程
【发布时间】: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


【解决方案1】:

我终于找到了解决办法。

我找到了一个功能强大的库,它专为 java 开发人员的遗传算法而设计,并且有一个专门用于遗传编程 (GP) 的模块。

图书馆链接:Jenetics

我的解决方案实现可在我的 github 上通过此链接获得:Symbolic Equation Solver

它基本上是一个基于 Maven 的项目,它利用 Java 11 和上述库来求解线性和二次方程并给出符号(而非数字)结果。

【讨论】:

    猜你喜欢
    • 2017-04-24
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2010-10-31
    • 1970-01-01
    相关资源
    最近更新 更多