问题标签 [fitness]

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 回答
2764 浏览

java - Java 健身功能 - 体重秤

作为实验室的一部分,我有一个健身功能,并希望将其应用于一组“权重”(ArrayList 权重)。我已经创建了数组并在其中存储了一些值。我创建了随机二进制字符串(末尾有一个“x”以生成随机值),我希望也将适应度函数应用于;但是,我遇到的问题是适应度函数总是返回值 0。我在这里遗漏了什么吗?

适应度函数如下:

主要方法(在​​单独的类中):

CS2004班:

运行后,随机二进制字符串运行良好,但适应度函数无法从 0 开始变化。以下是示例输出:

非常感谢大家的时间。斯特凡诺斯。

0 投票
1 回答
1341 浏览

algorithm - 特定遗传算法成本函数

我被分配了创建遗传算法的任务,这是一个分配问题,其目标是将组件分配到两个设备机架中,以最小化互连程度。

基本上我要做的就是读取一个矩阵A,它是组件连接的邻接列表。cij表示组件i和组件之间的连接数j。每次都应该是对称的。我们有一个人口,所有的值都存储在二维数组中,这就是我的实现。

读入的矩阵A是我们的邻接矩阵,而人口将决定我们如何对项目进行分类。如果将读入的矩阵中的相应元素放入其中,则机架是bin0bin1,并且如果 ,则适用相同的规则。population[cij] = 0Abin0population[cij] = 1

现在的问题是在人口矩阵中找到提供最少互连量的行,它是不同箱中组件之间的权重之和。

这是我们的基本案例的图像:

屏幕截图

...其中A读入的矩阵在右侧,人口如下所示,矩阵A中元素的分箱方式显示在中间。到目前为止,我可以计算罚分,这是教授给出的约束,我还可以确定每个 bin 中有多少元素,但是到目前为止,我还没有按照描述和图片所示计算成本。到目前为止,这是我的成本函数:

这个想法是m跟踪我们在整体计算和元素中的位置i,并j扫描行和列以查找总体中的连接,当找到连接时,cost[i]应该将该连接反映为交叉边的权重总和两个垃圾箱。到目前为止,这还不能正常工作。

0 投票
1 回答
1033 浏览

neural-network - 遗传算法:适应度函数无法正常工作

我有一个包含 (mxn) m 个实例和 n 个特征的二进制数据集,其中 m >> n。并且有一个目标变量或类属性,也是二进制的。我想使用遗传算法进行特征选择。我决定在 GA 中使用 0/ 1 个字符串,其中 0 如果未选择功能,则为 1 如果选择了功能。我生成了一个随机的 K 组位串。因此,这些位串中的每个 K 代表一个可能的特征选择。为了开发一个适应度函数,我用这些 K 个特征集(模型)中的每一个训练一个神经网络,然后根据单独的验证集的准确性,我为每个模型创建了这个适应度函数:-

这个适应度函数就像是传递给训练的特征数量(featSel)和神经网络报告的验证准确度之间的权衡。我为 tradeoffk 设置了不同的值,例如 0.5、0.2 和 0.8。

我运行了 10 次 GA 迭代。每次迭代进行 20 代,并试图检查适应度函数如何增长。但是,适应度函数没有显着变化。在 GA 中,一般情况下,适应度函数预计会增长然后稳定,但在这里它的增长非常微弱。

例如,这是这些迭代之一的示例输出:-

此外,神经网络需要大量时间来训练(20 代 > 2 小时)谁能提供进一步的建议,它可能哪里出错了?!

0 投票
2 回答
3599 浏览

matlab - 在遗传算法中我们应该选择多少和哪些父母进行交叉

我已经阅读了许多教程、论文,并且理解了遗传算法的概念,但是在 Matlab 中实现该问题时遇到了一些问题。

总之,我有:

  • 包含三个基因 [ abc ] 的染色体,每个基因受一些不同的限制。

  • 要评估的目标函数以找到最佳解决方案

我做了什么:

  • 生成 a、b 和 c 的随机值,例如 20 个总体。即
    [a1 b1 c1] [a2 b2 c2]…..[a20 b20 c20]

  • 在每个解决方案中,我评估了目标函数并将解决方案从最佳到最差进行了排序。

我遇到的困难:

  • 现在,我们为什么要进行交叉和变异?我发现的最佳解决方案还不够吗?

  • 我知道进行交叉的概念(生成随机数、概率……等),但是将选择哪些父母以及其中多少人进行交叉或突变?
    我应该为整个 20 个解决方案(父母)做交叉还是只做两个?

0 投票
1 回答
449 浏览

matlab - 多目标遗传算法适应度评估 Matlab

我想在Matlab中基于NSGA2遗传算法编写两个目标函数,但是,我很困惑输入染色体来评估我的目标,并且在我的目标函数中,染色体未使用,我不知道如何评估目标函数到我的函数调用所在的染色体,并且我将evaluateObjective(chromosome(ii,:), V)按照参数进行输入。

我的愿望功能:

和目标函数:

0 投票
1 回答
759 浏览

selenium - (FitNesse, Xebium, Selenium IDE) 如何使用Xebium格式点击一个标签?

我是一个非常新的Xebium
我不能使用

点击一个复选框,因为它是一个标签,id 看起来像是隐藏的。那么,有什么方法可以点击标签吗?

谢谢你的建议 :)

0 投票
0 回答
2551 浏览

algorithm - 背包(背包)通过遗传算法。如何为健身功能添加惩罚

我使用 ga(matlab 优化工具)来解决背包问题。我用硬编码的权值数组编写了一个简单的适应度函数:

一切正常。问题是,如何对不适合背包的染色体应用惩罚?我发现了这个:

在背包问题的情况下,可以通过将超出限制的重量乘以可能的最高值与重量比来计算惩罚。

K = max(vi / wi ) + c 惩罚 = K * max[∑(wx )−W;0]

但我不知道如何正确实现这个公式。我试过了:

这样两个函数之间的优化结果根本没有区别,这让我觉得我做错了什么。希望有人可以在这里帮助我。

0 投票
1 回答
48 浏览

evolutionary-algorithm - 进化计算中的示例任务帮助

我有一个来自进化计算课程的先前考试(2006 年)的一个示例问题。我真的不知道如何解决这个问题,所以任何想法、提示和技巧将不胜感激。

幻方是一个 N x N 的正方形,其中从 1 到 N × N 的所有整数都恰好出现一次。整数需要以这样一种方式放置,即每行、每列和两条平均对角线之和返回相同的值 S = [N (N^2 + 1)] / 2。我们想搜索具有进化算法的整数的位置。

问题是:

指定你能想到的最合适的适应度函数表示变异 算子交叉算子。

我知道适应度函数、变异算子和交叉算子是什么,但我不知道它们的表示是什么意思。另外,它们如何适用于这类问题?

请不要将其视为某种“垃圾”问题,我要求“家庭作业帮助”,因为事实并非如此。我只是想从其他人的经验和知识中学习一些东西。

提前致谢。

0 投票
1 回答
1631 浏览

neural-network - 使用神经网络和遗传算法求解异或的问题

我正在尝试使用神经网络解决 XOR 问题。对于训练,我使用遗传算法。

但是经过一定数量的代数(200),错误停留在 1 中。并且输出是正确的,除了 1 xor 0 输出为 0 而不是 1 我不明白为什么会发生这种情况。

人口规模:100
交叉率:70
突变率:5
精英数:2
激活函数:S 型
选择方法:7 名参与者的锦标赛选择

变异算法 =

适应度计算 =

其中错误是目标输出

我尝试在突变中设置 [-2 2] 范围内的权重,但它变得更糟(错误停留在 1.6 中)。因此,如果有义务将权重设置在某个范围内,我现在不...

我真的需要你的帮助,在此先感谢。

编辑

事实上,问题在于权重初始化和变异方法。

  • 当我在 [-1 1] 之间设置权重时,算法不会收敛。但是我越是扩大范围,它就越能提供更好的结果,比如在 [-4 4] 之间。

  • 对于突变,我尝试了两种方法(突变一个随机选择的基因):

--> 在 [-0.1 0.1] 之间添加一个随机扰动,突变率为 5%。这样,我在第 1800 代得到了最好的结果(网络输出就像期望的一样)

--> 用一个新的改变基因的值。新值应属于该范围。在这种情况下,我必须将突变率设置为 50%,这样算法才能收敛。并且权重必须至少在 -7 和 7 之间,否则它不会收敛。

0 投票
1 回答
166 浏览

neural-network - 倒立摆健身

求解倒立摆的适应度函数是什么?

我正在用遗传算法进化神经网络。我不知道如何评价每个人。

我尝试在评估时间(10 秒)结束时最小化钟摆的角度并最大化行进的距离,但这不起作用。

神经网络的输入是:推车速度、推车位置、摆锤角速度和时间 (t) 的摆锤角度。输出是在时间 (t+1) 施加的力

提前致谢。