抛硬币
在线抛硬币——正面还是反面,由密码学安全的随机数决定,而不是一段走过场的动画。可以只抛一次,也可以连续抛一批,看看真实的正反面分布和当前的连续记录。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何抛硬币
- 1
点击抛硬币
抛一次,立刻决定正面还是反面。
- 2
查看结果
结果和你当前的连续记录会立即显示。
- 3
批量抛硬币
一次抛 10 次、100 次或 1000 次,看看真实的正反面比例。
为什么结果在任何动画播放之前就已经确定
一次在屏幕上看起来令人信服的抛硬币,和一次真正公平的抛硬币,是两个不同的工程问题,完全可能只做到前者而做不到后者。那种看起来直截了当的做法——让硬币图案旋转一段看似合理的时长,再读出它停下时显示的是哪一面——会让结果取决于动画的时长和缓动曲线,而不是一次真正的随机抽取,细微的实现差异可能会让结果偏向某一面更多一些,而普通使用者根本不会察觉。这个工具的做法正好相反:先用 `crypto.getRandomValues` 抽取一个无偏的比特位来决定结果,然后才播放一段停在这个已经确定的结果上的抛掷动画——这段动画纯粹是视觉呈现,对最终是哪一面朝上没有任何影响。
为什么连续出现相同结果是正常的,而不是可疑的
人类对随机性的直觉,在一个特定的地方系统性地出了偏差:人们期待一个公平的过程会比真实的随机性实际表现出的更频繁地交替出现,所以连续几次出现相同的结果,读起来就像是哪里出了问题的证据,尽管这恰恰是无偏随机性会产生的结果。一枚公平硬币连续抛出 5 次正面的概率是 1/32——对任何单独一次具体的连续记录来说都不算常见,但只要抛的次数够多,这种情况就会变得很常见,因为在几百次抛掷里,出现这样长度、甚至更长的连胜,是近乎必然会出现的。这和"赌徒谬误"背后是同一种认知模式——错误地认为一种结果连续出现,会让相反的结果变得"该来了"——每一次抛掷都和之前的每一次完全独立,所以一枚刚刚连续 5 次落成正面的硬币,第六次落成正面的概率,和它第一次抛掷时完全相同。
为什么旋转的硬币,比抛起来的硬币明显更不公平
关于实体抛硬币的研究发现,一枚真正被抛向空中、再被接住的硬币,非常接近公平的 50/50 过程,因为在涉及的时间尺度和力度下,它落地前旋转的圈数实际上是无法预测的。而在桌面或硬质表面上旋转的硬币,表现则完全不同:大多数硬币的重心都略微偏向图案更复杂、更重的那一面,这种不对称性会让旋转的硬币更多地落成较轻的那一面,偏差幅度超过纯粹的概率预期,一些研究测得的偏差幅度约在 1 个百分点或更多,具体取决于硬币本身。而密码学随机的数字抛掷完全绕开了这个问题,因为根本不存在任何重心偏移的实体物件,可以从一开始就引入这种偏差——它每一次给出的都是数学上无偏的抛掷结果,这甚至比一次谨慎抛起的实体硬币所能提供的保证更强、也更可验证。
一批抛掷能揭示出单次抛掷揭示不出的东西
单次抛掷只能回答一个问题——这一次是正面还是反面——完全说明不了背后的过程是否真的公平,因为即便是一枚严重偏向的硬币,偶尔也会落在概率较低的那一面。真正能证明公平性的,是运行一大批抛掷:随着抛掷次数从 10 次增加到 100 次、再到 1 万次,正反面的汇总比例会可靠地趋近于均匀的 50/50——当且仅当背后的随机源真正无偏时才会如此,这是大数定律在起作用,而不是巧合。这也是统计学家和质量保证工程师,总是用大批量测试而不是几次试验来检验一个随机源的实际原因——一个小样本纯粹因为运气,看起来可能公平也可能不公平,但一个足够大的批量,却无法长期掩盖真正的偏差。
常见问题
这真的是随机的,还是只是一段动画?
确实是随机的。结果来自 `crypto.getRandomValues`——和生成加密密钥所用的是同一个密码学随机源——而且是在任何动画播放之前就已经确定。有些抛硬币网站是先播放旋转动画,再从动画恰好停下的位置读出结果,这样的结果其实是由渲染时机决定的,而不是来自一次真正的 50/50 抽取。
为什么我连续抛出了 5 次正面——这枚硬币是不是坏了?
没有。一枚公平的硬币平均每抛 32 次左右,就会出现一次连续 5 个相同结果的情况,所以这是很正常的现象,并不是偏差的信号——真正随机的序列里,出现连续相同结果的次数,远比大多数人以为的要多,这正是为什么明明一切正常,连胜看起来却依然让人意外。
可以一次抛多枚硬币吗?
可以——切换到批量模式,一次抛 10 枚、100 枚,最多可达 1 万枚硬币,查看正反面的汇总次数。随着批量增大,这个比例会逐渐趋近于均匀的一半一半。
真实的实体硬币真的是 50/50 吗?
接近,但并不完全是——一枚被抛向空中、在空中被接住的硬币非常接近公平,但如果是在桌面上旋转、或者被接住后扣在手背上的硬币,会带有一种可测量的偏差,更倾向于落成它开始时的那一面,幅度大约在百分之几的量级。而一次密码学随机的数字抛掷,从一开始就没有任何物理上的不对称性可以引入这种偏差。