科技爱好者周刊(第 305 期)里提到的怎么生成真随机数的问题很有意思。
我们都知道编程语言内置的软件随机数都是伪随机数,只要初始种子相同就会生成一样的结果。真随机数需要满足三个条件:1. 无法预测;2. 不能重复;3. 均匀分布
科学家们绞尽脑汁想出了各种方法通过硬件生成真随机数,如:
- 
random.org 在全世界不数了多个无线接收器,通过大气无线电波(大气噪音,可以理解为大气的布朗运动)来生成随机数
- Cloudflare 在三个办公室部署了不同的随机数生成装置:旧金山办公室放了几十盏不断变化的熔岩灯(图一),需要生成随机数就对着墙拍张照片作为种子;伦敦办公室放着很多单摆(图二),通过它们的摆动和影子生成;奥斯丁办公室则挂了很多彩色反光片(图三)
#fun #coding #visual #newsletter