问题标签 [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.
c# - C# 中的遗传编程
我一直在为 C# 寻找一些好的遗传编程示例。有人知道好的在线/书籍资源吗?想知道是否有用于进化/遗传编程的 C# 库?
computer-science - 进化算法:最优再增殖分解
它真的在标题中,但对于任何对进化算法感兴趣的人来说,这里有一个细分:
在 EA 中,基本前提是您随机生成一定数量的生物体(实际上只是一组参数),针对某个问题运行它们,然后让表现最好的人存活下来。
然后你用幸存者的杂交种、幸存者的突变以及一定数量的新随机生物重新填充。
这样做几千次,高效的有机体就会出现。
有些人还做一些事情,比如引入多个生物“岛”,它们是允许偶尔杂交的独立种群。
所以,我的问题是:最佳的重新填充百分比是多少?
我一直保持前 10% 的表现,并重新填充 30% 的杂交和 30% 的突变。剩下的 30% 用于新生物。
我也尝试了多岛理论,我也对你的结果感兴趣。
我并没有忘记这正是 EA 可以解决的问题类型。你知道有人在尝试吗?
提前致谢!
genetic-programming - 遗传编程的典型用例是什么?
今天,我阅读了 Roger Alsing 的这篇博客文章,内容是关于如何仅使用 50 个半透明多边形绘制蒙娜丽莎的复制品。
我对那个特定案例的结果很着迷,所以我想知道(这是我的问题):遗传编程如何工作以及遗传编程可以解决哪些其他问题?
c# - 用于遗传编程的 C# 动态树
我有一些公共的用户定义类,它们的成员之间有关系,还有一些具有特定和通用签名的方法。
我希望能够使用 if/then/else、foreach、do/while、变量赋值等基本控制语句来存储和操作这些类(加上 CLR 类)的自定义控制流。
自定义控制流应在运行时创建,然后存储以供以后使用和操作。这个想法是拥有控制流的数据表示,可能以抽象语法树的形式,具有强类型语法,以便能够应用遗传操作。生成的自定义代码必须作为另一个程序的一部分执行。
1)操作遗传操作的首选代码表示形式是什么,然后执行包括我的类在内的代码,
2) 对于上述问题,我应该使用哪些 c# 技术?我知道有相关技术,如反射、新的 c# 3.0 特性(lambda、表达式树)、CodeDom、DLR 库等,但哪种方法或组合最有效。
3)是否有这样的范例或实现可用?
编辑:该平台提供了定义的 c# 自定义类型的数据,包括常量和时间变量。
每时每刻都将规则应用于数据(基本条件或更复杂的功能),并决定采取一些行动。
我希望能够:
在树或图上表示规则并执行流程。
用户通过 UI 工具包创建自定义规则集
对树或图进行重新排列并应用 GP 操作
genetic-programming - 模拟电路仿真库?
我正在研究一种基因编程工具,我想开发模拟电路。任何人都可以建议一个库或工具,甚至是连接我的 GP 代码的参考吗?我只需要某种方法让 SPICE 之类的东西评估由我的代码创建的电路。我已经看到了对 SPICE 等工具使用的电路(网表)的纯文本表示形式的引用。我想知道是否有比运行它并在标准输入上传递网表更好的方法来连接到模拟器。如果您想知道我对哪种库感兴趣,我的代码是用 C 编写的。
algorithm - 如何设计一个近似解算法
我想编写一个算法,可以获取图片的一部分并将它们与同一对象的另一张图片相匹配。
例如,如果我给计算机一张花瓶的图片和一张带有花瓶的场景图片,我希望它能够确定花瓶在图像中的位置。我将如何开始开发这样的算法?
该算法的最终用途将是一个应用程序,例如,使用某人的面部照片可以判断他们是否在人群中。该算法最终将应用于视频流。
编辑:我不期待这个问题的实际解决方案,因为我不希望很快解决它。真正的问题是你如何为计算机定义这样的东西,以便你可以制定一个算法来做到这一点。
谢谢
algorithm - 进化图像匹配模拟的新适应度测量
我相信很多人已经看过使用遗传算法生成与样本图像匹配的图像的演示。你从噪声开始,逐渐变得越来越接近目标图像,直到你有一个或多或少精确的副本。
然而,我看到的所有示例都使用了相当简单的逐像素比较,从而导致最终图像的“淡入”相当可预测。我正在寻找的是更新颖的东西:一种比天真的方法更接近我们所认为的“相似”的适应度测量方法。
我没有具体的结果——我只是在寻找比默认值更“有趣”的东西。建议?
c# - 遗传编程实现
我熟悉遗传编程的一般性,但我想知道在哪里可以找到一些可以向我展示实现遗传编程的细节的东西。我使用 C# 和 .NET 3.5,我想将遗传编程用于寻路之类的事情,通常只是想看看它能做什么。编辑:我可能应该澄清我在寻找什么:我对什么样的数据结构将用于存储语法树、如何执行繁殖操作等感兴趣。
python - 如何拆分两个嵌套列表并组合部分以创建两个新的嵌套列表
我正在尝试在 python 中编写一个简单的遗传编程实用程序。但现在我被困在我的树的交叉/配对功能上。树是由嵌套列表构建的,看起来像这样:
我想在每棵树中随机选择一个点进行拆分,然后我希望将每棵树的一个部分组合成一棵新树。还有一个不应超过的最大深度,因此选择不能真正发生在树中的任何地方,因为它可能会创建一个太大的树。下面是一个关于它应该如何工作的例子:
我不知道(目前)如何解决这个问题。任何提示或解决方案都非常受欢迎!
(添加了我的 parse 函数,因为它可以帮助人们更好地理解结构。)
genetic-algorithm - 应用于曲线拟合的遗传算法
假设我有一个未知函数,我想通过遗传算法来近似。对于这种情况,我假设它是 y = 2x。
我有一个由 5 个元素组成的 DNA,每个 x 一个 y,从 x = 0 到 x = 4,其中,经过大量试验和计算,我会接近某种形式:
best_adn = [ 0, 2, 4, 6, 8 ]
请记住,我事先不知道它是线性函数、多项式还是更难看的东西,另外,我的目标不是从 best_adn 推断函数的类型,我只想要这些点,所以我以后可以使用它们。
这只是一个示例问题。就我而言,我的 DNA 中不是只有 5 个点,而是 50 或 100 个。用 GA 找到最佳点集的最佳方法是什么?
- 产生 100 个人口,丢弃最差的 20%
- 重组剩下的80%?如何?在随机点切割它们,然后将父亲的 ADN 的第一部分与母亲的 ADN 的第二部分放在一起?
- 突变,我应该如何定义这种问题突变?
- 是否值得使用精英主义?
- 还有其他值得使用的简单想法吗?
谢谢