问题标签 [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.
java - Java 健身功能 - 体重秤
作为实验室的一部分,我有一个健身功能,并希望将其应用于一组“权重”(ArrayList 权重)。我已经创建了数组并在其中存储了一些值。我创建了随机二进制字符串(末尾有一个“x”以生成随机值),我希望也将适应度函数应用于;但是,我遇到的问题是适应度函数总是返回值 0。我在这里遗漏了什么吗?
适应度函数如下:
主要方法(在单独的类中):
CS2004班:
运行后,随机二进制字符串运行良好,但适应度函数无法从 0 开始变化。以下是示例输出:
非常感谢大家的时间。斯特凡诺斯。
algorithm - 特定遗传算法成本函数
我被分配了创建遗传算法的任务,这是一个分配问题,其目标是将组件分配到两个设备机架中,以最小化互连程度。
基本上我要做的就是读取一个矩阵A
,它是组件连接的邻接列表。cij
表示组件i
和组件之间的连接数j
。每次都应该是对称的。我们有一个人口,所有的值都存储在二维数组中,这就是我的实现。
读入的矩阵A
是我们的邻接矩阵,而人口将决定我们如何对项目进行分类。如果将读入的矩阵中的相应元素放入其中,则机架是bin0
和bin1
,并且如果 ,则适用相同的规则。population[cij] = 0
A
bin0
population[cij] = 1
现在的问题是在人口矩阵中找到提供最少互连量的行,它是不同箱中组件之间的权重之和。
这是我们的基本案例的图像:
...其中A
读入的矩阵在右侧,人口如下所示,矩阵A
中元素的分箱方式显示在中间。到目前为止,我可以计算罚分,这是教授给出的约束,我还可以确定每个 bin 中有多少元素,但是到目前为止,我还没有按照描述和图片所示计算成本。到目前为止,这是我的成本函数:
这个想法是m
跟踪我们在整体计算和元素中的位置i
,并j
扫描行和列以查找总体中的连接,当找到连接时,cost[i]
应该将该连接反映为交叉边的权重总和两个垃圾箱。到目前为止,这还不能正常工作。
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 小时)谁能提供进一步的建议,它可能哪里出错了?!
matlab - 在遗传算法中我们应该选择多少和哪些父母进行交叉
我已经阅读了许多教程、论文,并且理解了遗传算法的概念,但是在 Matlab 中实现该问题时遇到了一些问题。
总之,我有:
包含三个基因 [ abc ] 的染色体,每个基因受一些不同的限制。
要评估的目标函数以找到最佳解决方案
我做了什么:
生成 a、b 和 c 的随机值,例如 20 个总体。即
[a1 b1 c1] [a2 b2 c2]…..[a20 b20 c20]在每个解决方案中,我评估了目标函数并将解决方案从最佳到最差进行了排序。
我遇到的困难:
现在,我们为什么要进行交叉和变异?我发现的最佳解决方案还不够吗?
我知道进行交叉的概念(生成随机数、概率……等),但是将选择哪些父母以及其中多少人进行交叉或突变?
我应该为整个 20 个解决方案(父母)做交叉还是只做两个?
matlab - 多目标遗传算法适应度评估 Matlab
我想在Matlab中基于NSGA2
遗传算法编写两个目标函数,但是,我很困惑输入染色体来评估我的目标,并且在我的目标函数中,染色体未使用,我不知道如何评估目标函数到我的函数调用所在的染色体,并且我将evaluateObjective(chromosome(ii,:), V)
按照参数进行输入。
我的愿望功能:
和目标函数:
selenium - (FitNesse, Xebium, Selenium IDE) 如何使用Xebium格式点击一个标签?
我是一个非常新的Xebium
。
我不能使用
点击一个复选框,因为它是一个标签,id 看起来像是隐藏的。那么,有什么方法可以点击标签吗?
谢谢你的建议 :)
algorithm - 背包(背包)通过遗传算法。如何为健身功能添加惩罚
我使用 ga(matlab 优化工具)来解决背包问题。我用硬编码的权值数组编写了一个简单的适应度函数:
一切正常。问题是,如何对不适合背包的染色体应用惩罚?我发现了这个:
在背包问题的情况下,可以通过将超出限制的重量乘以可能的最高值与重量比来计算惩罚。
K = max(vi / wi ) + c 惩罚 = K * max[∑(wx )−W;0]
但我不知道如何正确实现这个公式。我试过了:
这样两个函数之间的优化结果根本没有区别,这让我觉得我做错了什么。希望有人可以在这里帮助我。
evolutionary-algorithm - 进化计算中的示例任务帮助
我有一个来自进化计算课程的先前考试(2006 年)的一个示例问题。我真的不知道如何解决这个问题,所以任何想法、提示和技巧将不胜感激。
幻方是一个 N x N 的正方形,其中从 1 到 N × N 的所有整数都恰好出现一次。整数需要以这样一种方式放置,即每行、每列和两条平均对角线之和返回相同的值 S = [N (N^2 + 1)] / 2。我们想搜索具有进化算法的整数的位置。
问题是:
指定你能想到的最合适的适应度函数、表示、变异 算子和交叉算子。
我知道适应度函数、变异算子和交叉算子是什么,但我不知道它们的表示是什么意思。另外,它们如何适用于这类问题?
请不要将其视为某种“垃圾”问题,我要求“家庭作业帮助”,因为事实并非如此。我只是想从其他人的经验和知识中学习一些东西。
提前致谢。
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 之间,否则它不会收敛。
neural-network - 倒立摆健身
求解倒立摆的适应度函数是什么?
我正在用遗传算法进化神经网络。我不知道如何评价每个人。
我尝试在评估时间(10 秒)结束时最小化钟摆的角度并最大化行进的距离,但这不起作用。
神经网络的输入是:推车速度、推车位置、摆锤角速度和时间 (t) 的摆锤角度。输出是在时间 (t+1) 施加的力
提前致谢。