相关疑难解决方法(0)

加权随机数

我正在尝试实施加权随机数.我现在只是把头靠在墙上,无法解决这个问题.

在我的项目(德州扑克手牌范围,主观全权证券分析)中,我正在使用Boost的随机函数.所以,假设我想选择1到3之间的随机数(所以要么是1,2或3).Boost的mersenne twister发电机就像这样的魅力.但是,我希望选择加权,例如:

1 (weight: 90)
2 (weight: 56)
3 (weight:  4)
Run Code Online (Sandbox Code Playgroud)

Boost是否具有某种功能?

c++ random boost

89
推荐指数
4
解决办法
6万
查看次数

Ruby - 如何在数组中生成 1% 几率的项目?

我有 3 个分类稀有度,概率是这样的

class S has 10% probability

class A has 30% probability

class B has 60% probability
Run Code Online (Sandbox Code Playgroud)

所以我这样编码

class S has 10% probability

class A has 30% probability

class B has 60% probability
Run Code Online (Sandbox Code Playgroud)

我的客人的结果是非常正确的(cmiiw)

B
A
B
B
S
B
A
S
B
A
B
Run Code Online (Sandbox Code Playgroud)

但当我应该添加更多类别并将 S 类别概率更改为 1% 时,我变得很困惑

池现在变成

class S has 1% probability

class A has 29% probability

class B has 30% probability

class C has 40% probability
Run Code Online (Sandbox Code Playgroud)

我不确定我pool之前应该创建类似池的变量,因为 1% 是 1/10 不是整数。

急需帮助,谢谢!

ruby random probability

1
推荐指数
1
解决办法
211
查看次数

标签 统计

random ×2

boost ×1

c++ ×1

probability ×1

ruby ×1