问题标签 [roulette-wheel-selection]
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.
objective-c - “命运之轮”风格的股票计时功能
我正在尝试创建一个更改标签文本的函数。我希望它采用“命运之轮”风格,其中文本一开始变化很快,但随着时间的推移变慢,然后停在最终文本。我将文本作为数组中的字符串。
我猜我需要一个指数函数来做到这一点,但数学不是我的强项。目前我正在尝试:
我不需要帮助将它与标签等联系起来,我只需要帮助来确定时间。
java - 轮盘选择,不分拣找口袋
我目前正在尝试实现 java 轮盘赌选择(请参阅http://en.wikipedia.org/wiki/Fitness_proportionate_selection)。
我的问题是在找到我的人口中每个人的相对适应度之后出现的。
例如,假设我创建了一个概率轮盘赌,例如:
个人 a : 0 - 0.3 个人 b : 0.3 - 0.5 个人 c : 0.5 - 1
而个人 a 有 30% 的被选中变化,b 有 20% 和 c 有 50% 的被选中是我旋转这个轮盘赌。
我的问题是,维基百科文章提到“注意性能提升可以通过使用二分搜索而不是线性搜索来找到合适的口袋来实现。” 这意味着在生成我的随机数之后,我必须对我的口袋进行一次线性或二分搜索,以找到选择了哪一个。
问题是,从性能的角度来看,这种在每个回合找到正确口袋的二进制搜索似乎是不必要的,难道不可能简单地拥有某种 HashMap 而表中的每个条目都链接到如图所示的范围上面并使用该范围内的键进行拉取将在线性时间内拉出相关联的个体,而不是需要二进制搜索。
我查看了树形图,但树形图必须对口袋进行初始排序,这是不行的,没有排序。
artificial-intelligence - 遗传算法轮盘选择
我在理解算法时遇到问题。这是网上看到的最受欢迎的
^^^这篇文章特别让我困惑。在人口中的个人的背景下,“概率之和”甚至“概率”是什么?这些是个人一开始就有的价值观吗?
genetic-algorithm - 轮盘选择功能最小化
这个问题回答了轮盘赌选择的伪代码。但这是为了最大化问题。但我的问题是最小化适应度函数的值。这意味着,适应度低的个体比适应度高的个体获得更高的被选中概率。我该如何实施?
提前致谢。
c++ - 遗传算法中未排序的种群应该如何组织轮盘赌选择?
我的问题与这个问题有关: 遗传算法中的轮盘赌选择。人口需要先排序? 如果我们不对总体进行排序,那么组织轮盘选择的方式是什么?当然,我们现在必须以线性方式搜索。对于这种情况,您是否有任何 C++ 或 Java 代码片段?
java - Java中遗传算法的轮盘选择
我正在为遗传算法实施轮盘赌选择方法。从本质上讲,我的问题非常简单,但我无法完全理解它。在我的适应度函数中,如果答案非常错误,它可能会返回 -3000% 左右。我的问题是,当我尝试为我的结果分配概率时,它们会倾向于错误的答案。
例如:如果我的百分比在一个数组中并且是 [92, 68, 5, -4, -3546](从高到低),我需要让较低索引中的数字比数字更有可能被选中具有更高的指数。
忽略我的适应度函数,如何在考虑大负数的情况下基于此创建概率?
我在另一个问题中发现的一些基本代码:
(此处的原始链接:用 Java 编写的 GA)
我让我的 GA 使用不同的选择方法,但现在我正在尝试修改这个方法来代替它。任何帮助将不胜感激。
***编辑
以下代码是我修改过的 rouletteWheelSelection:
这是我的健身功能:
当时的想法是,一个值与我需要的值相差超过 100%,我把它推到排序列表的末尾是负面的。
c - 如何通过环绕查找C中字符之间的距离
我试图找出字母表中两个字符之间的距离。但是,从 A->Z 或 Z->A 一步即可。给定两个字符,我如何找到距离?
selection - 如何在遗传算法中执行基于等级的选择?
我正在实现一个小型遗传算法框架 - 主要供私人使用,除非我设法做出合理的事情,届时我会将其作为开源发布。现在我专注于选择技术。到目前为止,我已经实现了轮盘赌选择、随机通用抽样和锦标赛选择。我列表中的下一个是基于排名的选择。与我已经实施的其他技术相比,我在查找有关该方面的信息时遇到了一些困难,但这是我迄今为止的理解。
当你有你想要为下一轮获得合理父母的群体时,你首先通过它并将每个个体的适应度除以群体中的总适应度。
然后您使用其他一些选择技术(例如轮盘赌)来实际确定选择谁进行繁殖。
这个对吗?如果是这样,我是否认为排名调整是一种预处理步骤,然后必须遵循一个实际的选择程序来挑选候选人?如果我对此有任何误解,请纠正我。我很感激任何额外的指示。
c# - Flat Roulette with random number:获取随机数所属的区间
例如,我有这样的元素和数组:
让我们“平”这个数字:
假设我的随机数是 54,所以我的数字属于我的数组中索引为 6 的最后一个元素(它是 50)
我不明白,如何用 c# 算法化...
我尝试:
但这不起作用,也许有什么可以帮助我?
algorithm - 遗传算法:轮盘赌选择
我正在尝试实现轮盘赌选择。我找到了一些伪代码并且我已经实现了它,但是关于 0 适应度的基因组,我有些不明白。
我发现的伪代码是这个
我担心的是:假设我有 5 个基因组,它们的适应度如下
根据上面的算法,肯定只有 G1 会被选中,这会杀死遗传多样性......我理解对了吗?