问题标签 [genetic-algorithm]

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 投票
6 回答
1720 浏览

c++ - 如何构建遗传算法类层次结构?

我正在使用遗传算法做一些工作,并想编写自己的 GA 类。由于 GA 可以有不同的方法来进行选择、变异、交叉、生成初始种群、计算适应度和终止算法,我需要一种方法来插入这些不同的组合。我最初的方法是创建一个抽象类,将所有这些方法都定义为纯虚拟方法,并且任何具体类都必须实现它们。例如,如果我想尝试两个相同但具有不同交叉方法的 GA,我将必须创建一个继承自 GeneticAlgorithm 并实现除交叉方法之外的所有方法的抽象类,然后是两个具体类从这个类继承并且只实现交叉方法。

是否有另一种方法可以更好地解决这个问题?

0 投票
3 回答
434 浏览

ruby - 在遗传算法中跟踪健身

我仍然在为不死者帖子破解我的旧红宝石我知道,我知道,停止尝试将帖子从死去的查克手中夺回)。但是代码已经有点失控了,现在我正在研究一种遗传算法,以创造生死攸关的终极战斗,而适应性是战斗持续多长时间。

所以,我已经掌握了它的基础知识;如何调整游戏的属性以及如何获取解决方案的适应度,我想不通的是如何存储适应度,以便我知道以前尝试过组合的时候。

我无法找到太多的遗传密码来查看,更不用说我可以很好地阅读以判断发生了什么的代码。有谁知道这通常是如何完成的,或者只是一个可以帮助我指出正确方向的算法?

0 投票
3 回答
424 浏览

artificial-intelligence - 遗传学算法理论题

我目前正在阅读“人工智能:一种现代方法”(Russell+Norvig)和“机器学习”(Mitchell)——并尝试学习 AINN 的基础知识。

为了理解一些基本的东西,我有两个“新手”问题:

Q1:在遗传算法中,给定两个父母 A 和 B 的染色体分别为 001110 和 101101,以下哪个后代可能是由单点交叉产生的?

一个:001101

乙:001110

Q2:以上哪个后代可能是由两点交叉产生的?为什么?

请指教。

0 投票
2 回答
4571 浏览

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 找到最佳点集的最佳方法是什么?

  1. 产生 100 个人口,丢弃最差的 20%
  2. 重组剩下的80%?如何?在随机点切割它们,然后将父亲的 ADN 的第一部分与母亲的 ADN 的第二部分放在一起?
  3. 突变,我应该如何定义这种问题突变?
  4. 是否值得使用精英主义?
  5. 还有其他值得使用的简单想法吗?

谢谢

0 投票
1 回答
5290 浏览

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

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

0 投票
2 回答
1710 浏览

.net - 什么是用于 .NET 的良好遗传算法 (GA) 或粒子群优化 (PSO) 框架?

我想知道你们建议用于实现 PSO 或 GA 等进化优化技术的好的、稳定的框架是什么?

我已经编写了自己的并且我喜欢它们,我有兴趣比较或添加现有的稳定的(或者如果它们是可靠且可扩展的,则只使用它们)。

0 投票
2 回答
407 浏览

c - 使用 c#,c/c++ 或 java 通过 GA 改进 BBN

我在我的小项目中遇到了一个小问题,希望有人能帮助我!

我打算在我的游戏 AI 中使用贝叶斯网络作为决策因素,我想改进每一步的决策,有人知道怎么做吗?任何教程/现有实现都会非常好,我希望你们中的一些人可以帮助我。

我听说这个社区的一个程序员为扑克游戏 AI 做了一个很好的实现。我打算像他一样使用它,但在另一个扑克(德克萨斯州)或者 Rentz 中。

寻找 C/c++ 或 c# 或 java 代码。

谢谢,迈克

0 投票
7 回答
1772 浏览

algorithm - 为遗传算法创建“交叉”函数以改进网络路径

我正在尝试开发一种遗传算法,该算法将找到在指定位置连接给定数量节点的最有效方法。

网络上的所有节点都必须能够连接到服务器节点,并且网络内必须没有循环。它基本上是一棵树。

我有一个可以测量任何给定网络布局的“适合度”的功能。阻止我的是,我想不出一个交叉函数需要 2 个网络结构(父母)并以某种方式混合它们来创建满足上述条件的后代。

有任何想法吗?

澄清:每个节点都有一个固定的 x,y 坐标位置。只能更改它们之间的路线。

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 投票
6 回答
5632 浏览

neural-network - 如何使用遗传算法优化神经网络?

我对这个主题很陌生,所以任何帮助都会很棒。我需要的是使用 GA 在 MATLAB 中优化神经网络。我的网络有 [2x98] 输入和 [1x98] 目标,我已经尝试咨询 MATLAB 帮助,但我仍然对该怎么做一无所知:(所以,任何帮助将不胜感激。提前致谢。

编辑:我想我没有像丹在第一个答案中所说的那样说要优化什么。我想最重要的是隐藏神经元的数量。可能还有隐藏层的数量和训练参数,比如 epoch 的数量。抱歉没有提供足够的信息,我还在学习这个。