数字随机数 简单数字随机法

哎呀,我们必须谈谈简单的数字随机化。
首先,我们来谈谈生成数字随机数。
这个东西很实用。

比如我们用Excel生成随机数,很简单。
如果你想生成一个 0 到 1 之间的随机小数,只需编写 =RAND() 即可。
这个东西出来的时候是一个0到1 之间的数字,小数点后有几位,随机性很大。

如果你想生成特定范围内的随机整数,例如 1 到 1 0,这很简单。
只要写=RAND()9 +1 ,那么数字就在1 到1 0之间。

再比如,在Linux系统中,有两个东西叫/dev/random和/dev/urandom。
这两个都可以生成随机字节的数据流,这是相当先进的。

接下来我们来说说简单随机抽样方法。
这涉及从总体中随机选择某些样本,以确保每个人都有平等的被选择机会。

有多种采样方法。
例如,抽签方法包括为群体中的每个人分配一个号码,然后进行一批,随机抽取并选择抽中的那些。
摇码方法涉及使用摇码提取一堆数字,然后根据这些数字进行采样。
还有随机数表法,比较先进。
您必须首先对总体中的个体进行编号,然后搜索随机数表。
找到的数字就是样本。

采样步骤也很简单。
首先确定样本量和总体,然后对总体中的个体进行编号,最后根据抽样方法选择样本。

但是,对此有一些话要说。
使用随机数生成器或随机数表时,必须保证随机性真实且不可篡改。
使用简单随机抽样时,必须保证每个个体被选中的概率相同,这样样本才是公平的。

总之,简单数字随机化方法相当灵活且常用。
但使用时应根据具体情况而定,不能盲目使用。
说实话,当时我并不明白其中的秘密,但现在,时隔这么多年,我终于明白了。

性能提升8450%,Linux内核函数获大幅改进

结论:在 Linux 内核随机数生成器 5 .1 8 版本中,得益于 Jason Donenfeld 主导的优化,getrandom() 函数的性能提升了 8 4 5 0%,主要是因为将节点按数字结构更改为按处理器结构以减少锁并发。

更准确地说:
由于锁争用减少,性能提高:8 4 5 0%。

结构改进:从par-numa到par-cpu,降低同步要求。
开发人员:Jason Donenfeld,WireGuard 开发人员。
目标:优化随机数生成并适应未来的硬件趋势。

测试环境:Intel XeonE5 -2 6 9 7 v2 处理器,1 1 2 G内存。

未来:继续优化,适应SSD等硬件调查趋势。

怎么生成真正的随机数?

大气噪声产生最可靠的随机数。

Random.org 网站就使用这种方法。

填写最小值和最大值,然后单击“生成”。

免费用户的频率限制为每分钟多次。

如果你想批量使用他们的API,你必须购买他们的API。

Linux 使用 /dev/random。

Windows没有这样的设备。

量子随机数发生器,太贵了。

不要相信编程库中的随机函数。

如果你真的想安全,请寻找物理方法。