问题标签 [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 投票
1 回答
155 浏览

specifications - 来自规范语言的遗传编程?

我正在寻找描述如何使遗传编程中的适应度函数使用规范语言(例如 z 表示法)以进化出符合规范的程序的论文。有谁知道任何相关的研究或实施?

0 投票
3 回答
7450 浏览

javascript - 简单 AI - JavaScript(使用 jQuery 制作动画)

首先,我想让你知道我已经编程了几年(主要是基于 C 的语言、iOS 开发、Web 东西等)作为一种爱好,现在我对创建一个简单的 AI 产生了兴趣(大多数人们从井字游戏开始,是的,但我有兴趣使用基因编程原理制作一些东西)。我希望读者知道这一点的原因是,如果答案不太复杂(因为我还没有参加大学计算机科学课程,对孩子来说不太难理解),我将不胜感激。

这是我的目标:

条款

organsim:一个 CSS div
种群:一组生物 (5 或 10)
食物来源:另一个 CSS div

过程

  1. 产生了一个种群,每个种群最初似乎都具有相同的表型属性,但他们的技能不同(为此,速度)
  2. 生成单一食物来源(每次都相同)
  3. 在环境建立大约 5 秒后(步骤 1 和 2),生物种群需要找到一种竞争性地到达食物来源的方法
  4. 只有一种有机体可以接触到食品。到达它后,环境被重置,除了上次找到食物的生物现在受益并且它的速度等级可能会增加,而其他做得特别糟糕的生物可能会变得更慢或被终止
  5. 重复过程;用户可以观察种群的特征并查看哪些特征在进化上取得了成功等。

附加信息

如您所见,上述步骤几乎模拟了进化,但方式非常简单(与动物的真实生活情况相比,条件更少);现在这就是我在这里问的原因:我完全迷失了。我真的不知道从哪里开始(除了生成人口,我很可能会这样做以及让他们通过 jQuery 动画移动)。但能够让他们吸引食物来源是我现在做不到的。所以,我想帮助指出正确的方向。

0 投票
5 回答
2056 浏览

haskell - Haskell 程序可以表示为 Lisp S 表达式吗?

这对于遗传编程很有用,遗传编程通常使用 Lisp 子集作为程序的表示。

我在网上找到了一个叫做 Liskell(Lisp 语法,里面有 Haskell)的东西,但是链接坏了,我在上面找不到论文……

0 投票
1 回答
257 浏览

ruby - 有人在 Ruby 中遇到过丰富的 GA 框架吗?

我正在寻找可能与 JGAP 框架(用于 Java)一样丰富的东西,但适用于 Ruby 环境。到目前为止我看到的那些都相当简单,并且不是为定制而设计的(我不认为修改现有框架类是一种很好的扩展方式)。任何建议都非常感谢。谢谢。

0 投票
4 回答
3184 浏览

c - C中的遗传编程?

我想创建一个基于符号回归的使用遗传编程的算法。

我阅读了一些关于此的文章,一些用 java 或 c++ 编写的示例。

也许更困难,因为它不是 OOP,但是有可能在 C 中开发基因编程吗?

你对我开始编程有什么建议?有什么书/文章/例子可以阅读吗?我试着用谷歌搜索,但我没有发现任何有趣的东西。

谢谢你,干杯。

0 投票
2 回答
2392 浏览

python - 改变方程的 ast.NodeTransformer 示例

这是我上一个问题的延续。我想解析一个方程并根据我得到的结果工作。我想要做的基本上是随机打乱它,所以我得到一个新的方程,它也必须是一个有效的函数。这将用于遗传算法。

这是我开始的地方:

我想出去的是这样的:

或其他某种有效的随机方程。这将在 Fortran 程序中使用,所以如果得到的方程也可以转移到 Fortran 中,那就太好了。请评论您的代码并提供测试样本/单元测试。

0 投票
1 回答
1182 浏览

python - 如何修复简单 GA(Python)中的过早收敛?

昨天我开始探索遗传算法,当我结束了一些基本理论时,我尝试在 Python 上编写简单的 GA 来解决丢番图方程。我是 Python 和 GA 的新手,所以请不要严格判断我的代码。

问题

由于过早收敛,我无法得到任何结果(有一些不归路点(n-population),population[n] == population[n+i],其中 i 是任何整数。即使是随机突变元素也无法改变这一点,这一代正在迅速退化)

GA 正在使用交叉来繁殖,并加权选择父母。

  • Q1:我的代码(如下)是否有任何设计错误?
  • Q1.2:我需要添加精英主义吗?
  • Q1.3:我需要改变品种逻辑吗?
  • Q2:真的需要深拷贝吗?

代码:

试图改变品种和加权随机选择逻辑,但没有结果。这个GA应该是工作,我不知道,有什么问题。我知道 Python 上有一些 GA 库,我现在正试图理解它们——它们对我来说似乎相当复杂。对不起,英语不是我的母语。感谢您的理解。

NECROUPDATE: 以格雷码存储染色体,而不是整数。

0 投票
4 回答
575 浏览

behavior - 了解遗传算法和其他机器学习,从哪里开始?

首先,我应该简要总结一下我为什么要问这个问题。目前我是一名大学生,开始了数字媒体设计荣誉学位的最后一项任务。最近我对人工智能产生了极大的兴趣,并希望在上述作业中加入一些漂亮的东西。

我希望涵盖的主要主题是紧急行为,当用户与该项目交互时,这些行为将在视觉上传达给用户。无论如何,我一直在阅读 Stephen Marsland 的一篇很棒的文章,叫做机器学习。我还不能假装对这些主题了解很多,但我觉得它好像是许多机器学习主题和技术的中级指南。

Stephen Marsland 的机器学习

我一直在战略性地从头到尾浏览这本书,现在大约一半了。我了解了神经网络,如多层感知和径向基网络,用于解决线性、分类和时间序列问题/情况。然后,我在一些关于支持向量机的想法中苦苦挣扎,慢慢地,我开始了解高维和内核技巧。

然而,现在事情变得令人难过,我开始拖着自己浏览一些内容,我真的很难有意识地理解所呈现的技术和数学。此外,当我尝试编写示例时,我花费越来越长的时间来拼凑空白(可以这么说)。现在,我不是在寻找一个简单、艰难和快速的出路,但我也意识到我还剩下时间来完成这个项目。

如果其他人有过类似的经历,他们现在处于另一边,他们是否可以与我分享一些事情的看法。当我获得更多经验时,你会建议直接跳入遗传算法并重新研究其他主题,还是会无法管理?或者也许是另一个可以很好地引导到遗传算法的主题?我对数学和编程概念有合理的掌握,但完全是自学的(我的学位侧重于设计而不是计算机科学和软件工程)。

如果是这样,您是否可以与我分享任何资源或建议片段?我将不胜感激,并提前感谢大家。

TL;DR需要通过遗传算法推动紧急行为项目的正确方向。请分享任何好的资源。

(抱歉,第一次提问的问题很长)。

0 投票
4 回答
282 浏览

genetic-algorithm - Metabiology:如何随机变异算法以确保新版本有效并停止?

我正在尝试根据 Gregory Chaitin 的代谢生物学模型破解进化模拟。

给定一个返回整数的算法,我需要随机对其进行变异,以尝试获得另一种语法正确并最终停止的算法。如果突变是真正随机的,则不可能确保您获得的是一个有效的算法,它将停止。

我的问题是:

  • 执行此操作的最佳图灵完备语言是什么?
  • 是否有任何基因编程技术已经解决了这个问题?

提前致谢


我在想这样的事情:

这是图灵完整的,很容易修改。你怎么看?

0 投票
4 回答
1675 浏览

cryptography - 什么是保护分割?(关于基因编程和密码学)

我在一篇关于基因编程的论文中得到了关于“受保护的分裂”操作的参考。当我在谷歌上搜索这个时,我得到的主要是关于基因编程的论文和与密码学相关的各种结果,但没有一个能解释它到底是什么。有人知道吗?