问题标签 [evolutionary-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 投票
4 回答
114 浏览

evolutionary-algorithm - 有可能设计一个像人体(或生命)中的细胞一样工作的程序吗?

我一直认为,总的来说,生活真的很复杂,我们甚至都不知道它的全部。但它有效,对吧?这让我想到是否有可能将程序视为对一组分化细胞的思考。或者可能是分化的全能细胞(可以在任何其他细胞中分化的细胞)。

我不知道这是否是正确的地方,因为涉及生物学和重新编程。感谢您的关注

0 投票
1 回答
1831 浏览

java - 使用差分进化的函数值

如何使用差分进化来找到函数函数 f(x) = -x(x+1) 从 -500 到 500 的最大值?我正在制作的国际象棋程序需要这个,我已经开始研究差分进化,但仍然发现它很难理解,更不用说用于程序了。任何人都可以通过以简单的方式向我介绍算法并可能为此类程序提供一些示例伪代码来帮助我吗?

0 投票
3 回答
945 浏览

optimization - 需要多目标优化方法

编辑:代替其他建议,我决定使用Python DEAP 框架,直到我想出一些可用的东西。希望这可以帮助有类似问题的人。

我正在实现一个系统,我们需要为客户端进行多目标优化,如下所示:

一个制造系统必须通过焊接生产 N 个(相同种类的)零件。为此,可以选择某种材料、焊接方法以及用于构建每个部件的焊接点数量。下图显示了问题的参数及其相互依赖关系:

在此处输入图像描述

我可以玩价值观

我需要找到最小化成本和最大化稳定性的材料、焊接方法和焊接点/零件数量的组合。

我正在考虑使用进化算法方法。但是,我的背景不是优化,所以,如果有人可以提出更具体的算法来解决这个问题,那将非常有帮助。

0 投票
2 回答
309 浏览

evolutionary-algorithm - 粒子群优化:处理候选解适应度的不确定性/不精确性

我希望使用粒子群优化 (PSO) 优化复杂的参数化模型对噪声数据的拟合。数据是时间序列的化学浓度值。

在我的优化目标函数中,我使用浓度时间序列分布和模型预测之间的 Bray Curtis 距离 [1] 来测量适应度(模型预测是使用与优化问题的候选解相对应的参数产生的)。

目前,我不考虑我的浓度数据的不精确性。实际上,浓度已四舍五入为整数值。我怀疑如果 PSO 例程和/或目标函数“意识到”输入数据的不精确性,我可以获得更好的 PSO 模型拟合。

我能够找到预测时间序列和数据时间序列的最小和最大 Bray Curtis 距离,但不确定如何最好地在 PSO 代码中利用这些值。

在进化优化的背景下评估候选解决方案的适用性时,是否有人对如何处理数据不精确有任何建议?

第二个问题是时间序列数据受仪器和时间误差的影响。我很高兴假设这两种类型的误差都是正态分布的并且具有不变的标准偏差,但我不再确定在量化 PSO 优化的适合度时如何最好地处理这种不确定性。

[1] http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.braycurtis.html

0 投票
2 回答
239 浏览

r - 进化算法的R模板?

是否有现成的模板可以在 R 中运行进化\遗传算法?

我对允许我在迭代之间添加图形输出和用户输入的代码感兴趣。

谢谢阅读!

ps 找到这个帖子有没有写过 R 的遗传编程代码

0 投票
1 回答
1144 浏览

c# - XNA 禁用绘制方法

我正在尝试使用 xna 运行进化算法

我只想运行游戏的逻辑部分,并在长时间计算后添加动画。

有谁知道如何加快计算时间并禁用 Draw() 调用。

谢谢

0 投票
1 回答
182 浏览

optimization - 为什么 NSGAII(多目标优化算法)总是在算法的拥挤距离分配部分选择两个边界点?

为什么 NSGA II(多目标优化)总是在算法的拥挤距离分配部分选择两个边界点?我知道在每次迭代中它选择具有多目标函数值之一的最佳值的解决方案,但为什么它也选择具有最差值的解决方案?对我来说,这种算法似乎试图尽可能地扩展帕累托前沿(或积极搜索的解决方案空间)。

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.4257

伪代码第 5 页

293 次引用,所以 NSGA II 是非常流行的多目标优化算法,所以我认为我的问题不太具体。

0 投票
2 回答
1203 浏览

artificial-intelligence - 在遗传算法中使用模式的具体目的是什么?

图式究竟如何帮助遗传算法获得最优解?模式意味着模板这是否意味着人口中的每个人都将拥有相同的模式?

0 投票
5 回答
617 浏览

artificial-intelligence - 遗传交叉函数

我正在用 java 编写一个时间表生成器,使用 AI 方法来满足硬约束并帮助找到最佳解决方案。到目前为止,我已经实现了迭代构造(最受约束的第一个启发式)和模拟退火,并且我正在实现遗传算法。

关于这个问题的一些信息,以及我如何表示它:我有一组事件、房间、功能(事件需要和房间满足)、学生和插槽问题在于为每个事件分配一个插槽和一个房间,例如没有学生被要求在一个时段参加两个活动,所有分配的房间都满足必要的要求。

我有一个评分功能,如果作业对违反软约束的情况进行评分,那么对于每个集合,我的重点是尽量减少这一点。

我实现 GA 的方式是从迭代构造生成的种群开始(这可以使事件未分配),然后执行正常步骤:评估、选择、交叉、变异并保持最佳状态。冲洗并重复。

我的问题是我的解决方案似乎改进得太少了。无论我做什么,人群都倾向于随机适应并被困在那里。请注意,这种适应度总是不同的,但仍然会出现一个下限。

我怀疑问题出在我的交叉函数中,这是其背后的逻辑:

随机选择两个任务进行交叉。让我们称它们为分配 A 和 B。对于 B 的所有事件,请执行以下过程(选择 B 的事件的顺序是随机的):

获取A中对应的事件,比较赋值。可能会发生 3 种不同的情况。

  • 如果其中只有一个未分配,并且可以在子节点上复制另一个分配,则选择此分配。
  • 如果它们都被分配,但只有其中一个
    在分配给孩子时不会产生冲突,则选择那个。
  • 如果它们都被分配并且没有产生冲突,则随机选择它们中的一个。

在任何其他情况下,该事件都未分配。

这会创建一个孩子,其中有一些父母的任务,一些母亲的任务,所以在我看来这是一个有效的功能。此外,它不会打破任何硬约束。

至于突变,我正在使用我的 SA 的相邻功能根据子项给我另一个分配,然后替换那个子项。

再说一遍。在这种设置下,初始种群为 100,GA 运行并始终趋于稳定在某个随机(高)适应度值。有人可以告诉我我可能做错了什么吗?

谢谢

编辑:格式化和清除一些东西

0 投票
4 回答
8445 浏览

machine-learning - 如何利用 Hebbian 学习?

我想升级我的进化模拟器以使用 Hebb 学习,就像这个。我基本上希望小动物能够学习如何寻找食物。我通过基本的前馈网络实现了这一点,但我一直坚持理解如何通过 Hebb 学习来做到这一点。Hebb 学习的基本原理是,如果两个神经元一起激发,它们就会连接在一起。

因此,权重更新如下:

我发现的关于这如何有用的信息非常稀缺,我不明白。

在我当前版本的模拟器中,当一个生物吃一块食物时,动作和输入(运动、眼睛)之间的权重会增加,我看不出这如何转化为这个新模型。这里根本没有空间判断它是否做对了,因为唯一的参数是输入和输出!基本上,如果一个输入激活了一个方向的运动,那么无论该生物是否在吃东西,重量都会继续增加!

我是否以错误的方式应用 Hebb 学习?仅供参考,我使用的是 Python。