问题标签 [genetic-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1263 浏览

python - 密码细菌:进化的数学行为

我不打算在我的博客上放一个链接,但我没有任何其他方法来澄清我的真正意思。这篇文章很长,分为三部分(1 , 2 , 3),但如果你好奇的话,还是值得一读的。

很久以前(至少 5 年)我编写了一个生成“数学细菌”的 python 程序。这些细菌是具有简单的基于操作码的遗传密码的蟒蛇对象。你可以给他们一个数字,他们会根据代码的执行返回一个数字。我随机生成它们的遗传密码,并将环境选择应用于那些产生类似于预定义预期值的结果的对象。然后我让它们复制、引入突变并进化它们。结果非常有趣,因为他们的遗传密码基本上学会了如何求解简单的方程,即使对于训练数据集的不同值也是如此。

现在,这东西只是一个玩具。我有时间可以浪费,我想满足我的好奇心。但是,我认为在研究方面已经取得了一些成果……我希望在这里重新发明轮子。您是否知道像我编程的那样创建计算机内细菌的更认真的尝试?

请注意,这并不是真正的“遗传算法”。遗传算法是当您使用进化/选择来针对给定评分函数改进参数向量时。这有点不同。我针对给定的评分函数优化代码,而不是参数。

0 投票
1 回答
5290 浏览

genetic-algorithm - 如何使用遗传算法求解节点之间的最短路径?

如果我有一个节点网络,我如何使用遗传算法来计算任意两个节点之间的最短路径?

0 投票
8 回答
2430 浏览

artificial-intelligence - 在遗传编程中实现交叉

我正在编写一个基因编程 (GP) 系统(用 C 语言,但这是一个小细节)。我读过很多文献(Koza、Poli、Langdon、Banzhaf、Brameier 等),但有些实现细节我从未见过解释。例如:

我使用的是稳态人口而不是世代相传的方法,主要是为了使用计算机的所有内存,而不是为临时人口保留一半。

Q1。在 GP 中,与 GA 不同,当您执行交叉时,您选择两个父母,但您是创建一个或两个孩子,还是您可以自由选择?

Q2。在稳态 GP 中,与世代系统相反,交叉创建的孩子取代了人口中的哪些成员?这是我没看到讨论过的。是两个父母,还是另外两个随机选择的成员?如果是后者,我可以理解,您可能会使用负锦标赛选择来选择替换成员,但这不会造成过早收敛吗?(在交叉事件之后,人口包含两个原始父母加上这些父母的两个孩子,另外两个随机成员被删除。精英主义是固有的。)

Q3。是否有专门针对 GP 的网络论坛或邮件列表?奇怪的是我还没有找到。雅虎的 GP 组几乎只用于发布公告,Poli/Langdon Field Guide 论坛几乎保持沉默,而像 gamedev.net 这样的通用/游戏编程网站上的 GP 讨论非常基础。

感谢您的任何帮助,您可以提供!

0 投票
1 回答
141 浏览

.net - GA 虚拟机框架

有谁知道任何用于在虚拟机中演化指令集以解决抽象问题的 .NET 遗传算法框架?我对一个框架特别感兴趣,它允许虚拟机在池中自我传播,并根据由具有“良好”输出的数据集确定的适应度函数进行进化,给定预期的输入。

0 投票
1 回答
575 浏览

algorithm - 你有生产中的遗传算法吗?

在生产中使用遗传算法是个好主意吗?

如果您正在使用它:在什么情况下?选择主题有什么好处?您可以轻松地添加对算法的更改吗?

0 投票
6 回答
930 浏览

c# - C#如何创建在运行时解释的函数

我正在制作一个遗传程序,但我遇到了 C# 的限制,我想向算法展示新功能,但如果不重新编译程序就无法做到。本质上,我希望程序的用户提供允许的功能,GP 会自动使用它们。如果要求用户尽可能少地了解编程,那就太好了。

我想插入新功能而不将它们编译到程序中。在 Python 中这很容易,因为它都是解释的,但我不知道如何用 C# 来做。有人知道如何在 C# 中实现这一点吗?是否有任何库、技术等?

0 投票
1 回答
386 浏览

java - 在 Eclipse 中设置 java 配置。多个 .param 文件

我将使用ECJ进行基因编程,而且我已经很多年没有接触过 java 了。我正在设置 Eclipse 环境,但遇到了一些问题。

ECJ 源代码有几个包,并且附带了几个示例程序。我通过转到运行配置并添加-file pathToParamsFile到程序参数来运行一个示例程序(称为 tutorial1)。这使它指向该教程的 params 文件并运行该示例。

在我正在测试的一个新示例中(来自包 gui)有两个参数文件。我尝试只指向一个参数文件,并且在控制台中运行了一个程序,但应该有一个没有加载的 GUI。

我不确定我做错了什么。任何帮助将不胜感激。

0 投票
1 回答
445 浏览

java - 做符号回归时如何防止除以零?欧洲法院

我正在编写一个遗传程序来对公式执行符号回归。我正在使用ECJ。请参阅 ECJ 附带的示例教程 4,了解这是什么以及我开始使用的基础的示例。

将除法作为您的基因程序的一项功能时,问题就出现了。你如何防止除以零?

0 投票
1 回答
124 浏览

java - 不是发送数字,而是将代码传递给基因编程中的个人?欧洲法院

我将 ECJ 与 Java 一起使用。我有一群人,我都想拥有相同的大脑。

基本上,我想用 GP 进化大脑。我想要if 语句的“ if-on-enemy-territory”和“ ”之类的东西,以及终端的 “ ”或“ ”或“ ”之类的东西。if-sense-targetgo-homemove-randomlyshoot

但是,这些语句需要是完全可执行的 Java 代码。我怎么能用 ECJ 做到这一点?

例如:

我希望有一个名为“ moveRandom”的终端。如果我要在我的士兵课程中编写这个代码,它看起来像:

现在我怎样才能制作一个将执行此代码的终端?

0 投票
7 回答
5010 浏览

language-agnostic - 最活跃的基因编程库是什么?

无论语言如何,哪个基因编程库拥有最活跃的社区和最发达的社区?