RANDOMNESS / 随机与分布 · 01

一台确定的机器,怎样制造随机数?

先猜下一个数,再拆开计算。改变一个乘数,看似随机的序列可能立刻困在一个状态。

已生成样本0动画阶段不计为样本
当前内部状态1种子给定起点
实测循环尚未重复由已访问状态识别

同一个数,留下两种痕迹

圆环看状态 · 散点看相邻关系

已访问状态 / 样本当前计算(空心)横轴 uₙ,纵轴 uₙ₊₁

这一步算了什么

读入状态后,先做乘法

先预测:覆盖每个状态一次,就能保证相邻数没有规律吗?

频数均匀,顺序也可能有规律

状态环与直方图来自同一序列

每个柱是一个等宽区间;纵轴为样本数。最新的 16 个输出如下。

预测、观察,再解释

① 用完整循环生成 16 个数。各区间频数相同,相邻散点为什么仍有结构?

② 只将 a 从 5 改成 4,先手算前两个输出,再验证。

③ 在分布实验中,把 λ 从 1 改成 2。用相同种子,输出的等待时间怎样变化?

参考解释

有限整数状态必然进入循环;满周期仅说明覆盖状态。a=4 时,1→5→5。指数变换中 x=−ln(1−u)/λ,因此同一个 u 对应的 x 减半。图形检查能找到缺陷,不能证明随机性。