This question already has answers here:
Roulette Selection in Genetic Algorithms
(14个回答)
4年前关闭。
谁能为轮盘赌选择功能提供一些伪代码?我将如何实现:我不太了解如何阅读该数学符号。我想要通用算法。
这是您的轮盘赌。您的自旋是介于0和1之间的随机数。如果随机数为0.46,则所选项目为项目3。如果为0.92,则为项目9。
(14个回答)
4年前关闭。
谁能为轮盘赌选择功能提供一些伪代码?我将如何实现:我不太了解如何阅读该数学符号。我想要通用算法。
最佳答案
其他答案似乎是在假设您正在尝试实现轮盘游戏。我认为您是在问进化算法中的轮盘赌选择。
Here is some Java code实现轮盘选择。
假定您有10个项目可供选择,并通过生成0到1之间的随机数进行选择。将0到1的范围划分为十个不重叠的段,每个段与十个项目之一的适合度成比例。例如,如下所示:
0 - 0.3 is item 1
0.3 - 0.4 is item 2
0.4 - 0.5 is item 3
0.5 - 0.57 is item 4
0.57 - 0.63 is item 5
0.63 - 0.68 is item 6
0.68 - 0.8 is item 7
0.8 - 0.85 is item 8
0.85 - 0.98 is item 9
0.98 - 1 is item 10
这是您的轮盘赌。您的自旋是介于0和1之间的随机数。如果随机数为0.46,则所选项目为项目3。如果为0.92,则为项目9。
关于algorithm - 轮盘赌轮选择算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/298301/
10-10 07:16