This question already has answers here:
Roulette Selection in Genetic Algorithms

(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