问题标签 [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.
algorithm - 这是否可以使用遗传编程找到一系列方程?
我有一个形成系列的数字列表。我想找到可以重新生成同一系列的方程。这可能吗?另外,您建议对其进行编程(GA、GP 等)。请举个例子。
neural-network - 有没有人尝试将代码编译成神经网络并进化它?
你知道是否有人尝试将高级编程语言(java、c# 等)编译成循环神经网络,然后进化它们?
我的意思是包括内存使用在内的整个过程都存储在神经网络的图中,我说的是复杂的程序(考虑自然语言处理问题)。
当我说神经网络时,我指的是传播激活的有向加权图,节点是其输入的函数(线性、sigmoid 和乘法以保持简单)。
此外,这是人们在基因编程中的意思还是有区别?
python - 搜索随机 python 程序生成器
我正在寻找一个可以生成随机但有效的 python 程序的程序,类似于
我自己尝试这样做,给 pythontokenize.untokenize()
函数随机输入,但当然大多数生成的源代码不是我可以用eval()
. 所以我想知道,如果您知道如何生成随机但有效的 python 程序(也许使用ast
模块?)或者这样的生成器是否已经存在。
编辑:我想使用随机 python 源代码作为使用 python 进行遗传编程的起点。所以我想要一个随机程序列表,然后将它们演变成一个返回“Hello World!”的程序。
genetic-algorithm - 在稳态遗传算法中应用变异
我正在实现一个稳态遗传算法来执行符号回归。
我的问题是关于突变和交叉运算符之间的关系。
在应用突变和锦标赛选择以根据他们的错误选择父母之前,我总是咨询突变概率(Pm)。
- 第一个问题:
突变必须仅应用于交叉后获得的孩子(或另一个遗传算子),或者可以直接应用于一个父母以产生一个新个体?
- 第二个问题:
交叉操作后获得的孩子必须总是尝试突变(当然是Pm)?
谢谢大家。
java - 均匀交叉的结果比单点交叉更差?
我已经为我的部分作业编写了一个统一的交叉算法,但它不能正常工作。它实际上返回的结果比我的一点交叉更差。我只想有人指出我哪里出错了,所以我可以解决它:)。我已经尝试了很多年了,这是我最后的选择!!
该方法将两个父母 p1id 和 p2id 作为参数。然后创建表示的数组列表 - p1 和 p2。
在 for 循环中,'nbits' 是数组的权重(或数组的长度)。我的单点交叉方法在 for 循环中使用它,它工作得很好。
然后我生成 1/2 来确定孩子将从每个父母那里得到哪个基因。
这个算法的适应度非常非常差!!任何帮助都将不胜感激。
非常感谢。
genetic-algorithm - 为什么遗传算法不能解决诸如分解 RSA 之类的问题?
前段时间我对 GA 很感兴趣,并且对它们进行了相当多的研究。我使用 C++ GAlib 编写了一些程序,我对它们在几秒钟内解决其他难以计算的问题的能力感到非常惊讶。它们似乎是一种很棒的暴力破解技术,非常聪明并且可以适应。
我正在读 Michalewitz 的一本书,如果我没记错名字的话,它似乎都是基于 MIT 证明的模式定理。
我还听说它不能真正用于解决诸如分解 RSA 私钥之类的问题。
谁能解释为什么会这样?
java - PHP中的健身功能
我看了一整天在遗传算法中实现“适应度函数”的例子。(我已经实现了“开始种群”、“突变”和排列)。接下来的步骤是“适应功能”。有没有人有一个在 PHP 中计算“适应度”的例子?Java 或 C# 也可以。
artificial-intelligence - 遗传编程 - 健身功能
假设我有一组训练示例,其中A_i
是一个属性,结果是二元的(是或否):
我知道我必须定义适应度函数。但是这个问题有什么用呢?在我的实际问题中,有 10 个参数和 100 个训练示例,但这是一个类似的问题。
algorithm - 通过遗传算法生成代码
进化编程似乎是解决许多优化问题的好方法。这个想法很简单,实施也没有问题。
我想知道是否有任何方法可以在 ruby/python 脚本(或任何其他语言)中进化地创建程序?
这个想法很简单:
- 创建程序群
- 执行遗传操作(轮盘赌选择或任何其他选择),从最佳程序继承创建新程序等。
- 循环点 2 直到找到满足我们条件的程序
但是还是有几个问题:
- 染色体将如何表示?例如,染色体的一个细胞应该是一行代码吗?
- 染色体是如何产生的?如果它们是代码行,我们如何生成它们以确保它们在语法上是正确的,等等?
可以生成的程序示例:
创建将 N 个数字作为输入并返回其均值作为输出的脚本。
如果有任何尝试创建这样的算法,我会很高兴看到任何链接/来源。
artificial-intelligence - 使用人工智能进行自动编程的搜索技术类别是什么?
我正在研究文献中可用的自动编程技术,但仅限于那些使用人工智能的技术。我能找到的唯一这样的技术是基因编程。
是否有任何其他技术可以将程序员不需要知道如何解决的高级问题规范转换为工作程序?这些搜索技术的类别是什么?