9

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

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

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

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

4

4 回答 4

10

如果您正在优化代码,也许您正在从事基因编程

于 2009-12-11T18:06:36.967 回答
2

免费实用程序Eureqa在某种意义上是相似的,它可以基于多变量输入数据创建拟合符号函数(比简单的线性回归等复杂得多)。但是,它使用 GA 来提供功能,所以我不确定这是否正是您的想法。

另请参阅Wired 上的“下载您自己的机器人科学家”一文,了解其工作原理的总体思路。

于 2009-12-11T18:02:57.490 回答
2

不错的文章,顺便说一句,我会说您是在谈论“基因表达编程”而不是“基因编程”。

于 2009-12-17T11:06:13.887 回答
1

你熟悉核心战争吗?我记得有一些为游戏编写的代码进化者取得了一些成功。例如,MicroGP++是一个汇编代码生成器,可以应用于 Core Wars 汇编语言(以及实际问题!)。

于 2009-12-11T18:12:27.240 回答