genetic-algorithm - 用于符号方程求解的遗传编程
问题描述
我正在尝试执行一个遗传编程系统,它可以符号地求解一个方程(基本上是一阶和二阶多项式方程)。
这意味着对于a*x+b=0它必须给我一个-b/a的树表示。我的意思是象征性地表示我没有给出' a'和'b'的数字......基本上是通用编程的目的。
我实际上一直在寻找适应度函数。对于给定的基因(潜在解决方案),我如何预测这个基因与正确解决方案的距离。
我的疑问是,除非我将问题转换为数字问题,否则没有办法做这样的事情。
我一直在网上搜索,但我发现的所有内容都与遗传算法以及此类问题的数值分辨率有关。
在这里可以找到公开此类主题的链接:通用编程,但它没有解释有关该问题的详细方法。
有任何想法吗 ?
提前致谢。
解决方案
我终于找到了解决方案。
我找到了一个强大的库,它是为 Java 开发人员的遗传算法设计的,并且有一个专门用于遗传编程 (GP) 的模块。
图书馆链接:Jenetics
我的解决方案的实现可以在我的 github 上的这个链接上找到:Symbolic Equation Solver
它基本上是一个基于 Maven 的项目,它利用 Java 11 和上述库来求解线性和二次方程并给出符号(而不是数字)结果。
推荐阅读
- actionscript-3 - ActionScript3:我应该使用什么代码来阻止玩家控制的精灵移动?
- cython - python 3 cython 编译文件扩展名
- laravel - cPanel我的filesystem.php自动删除
- node.js - E11000 重复键错误索引:myproject.users.$username_1 重复键
- html - 在 HTML/CSS 中填充额外的空间
- swift - Google Classroom API 和 Swift:交作业时出错
- node.js - 在 NPM 之后安装 Yarn
- node.js - AWS Lambda 不适用于“异步”,仅适用于回调?
- arrays - 我的代码有效,给了我正确的输出,但我也得到了额外的数字
- javascript - 每次特定用户发推文时,我如何控制台记录?