抛硬币

按下按钮,硬币在空中翻转,落在正面或反面。两面的概率完全相同:结果取自浏览器的加密随机源,而不是一份打乱顺序的图片列表。硬币下方是累计计数和最长连续次数——正是连续出现同一面,最容易让人怀疑抽签是否公正。

按下按钮,硬币自己旋转、自己落下。

准备好了

每一次抛掷都取自浏览器的加密随机源,两面的概率完全相等。下面的计数是给人看的,不是用来预测的:硬币没有记忆,连出五次正面之后,第六次仍然是五五开。真正不公平的是金属硬币——在桌上旋转时它偏向某一面,即使抛向空中,落地时朝上的一面也比一半的概率稍稍偏向起始那一面。

相关工具: 随机数生成器, 随机抽取, 掷骰子, 密码生成器

使用方法

  1. 点击「抛硬币」。硬币旋转约半秒,停在抛出的那一面。
  2. 如果要一次给多人一个答案,把硬币数量调大:一次最多落下一百枚,结果会汇总为「正面几枚、反面几枚」。
  3. 下面那行统计本标签页里的每一次抛掷:各面各多少次、一共多少次、正面占多大比例。
  4. 「清空计数」会清掉统计和过往抛掷的小圆点。硬币本身不用重置——每次抛掷本来就互不影响。

实用说明

计数说明不了下一次会是哪面

连出五次正面之后,总觉得反面「该来了」。并不会:硬币没有记忆,第六次仍然是五五开。这种感觉太常见,甚至有专门的名字——赌徒谬误——所以工具把最长连续次数放在计数旁边。长连续不是抽签坏掉的证据:一百次诚实的抛掷里,连出六次是很平常的事。真正会随时间趋于平衡的是比例,而且很慢:抛满一千次之后,正面占比通常离一半还差个一两个百分点,而不是正好落在上面。

屏幕上的硬币比手里的更公平

真正的金属硬币并不完美公平。把它在桌上立起来旋转,会明显偏向某一面,因为边缘的加工本来就略有不匀。即使抛向空中,落地时朝上的一面与抛出时相同的概率也约有 51%:它是绕着一根轴摇晃,而不是干净利落地翻转。这些偏差很小,但确实存在,而且是物理性的。数字抛掷既没有边缘也不会摇晃:两种结果在构造上就是相等的。

随机性从哪里来

每次抛掷都从 crypto.getRandomValues 读取一个比特——那是浏览器的加密随机源,和生成密钥、会话令牌用的是同一个来源。这里没有用常见的 Math.random:它的输出可以由前面少数几个值推算出来,这对动画无所谓,对有利害关系的抽签就不一样了。抽签在你的标签页里完成,不会离开这里——断网也照样能用。

常见问题

真的是各占一半吗?

是的,精确各半。一个随机比特决定哪一面,而这个比特的两个取值概率相同。没有加权,没有「让它更有意思」的修正,也没有隐藏规律:抛上几千次,比例会停在 50% 附近,并像诚实抽签那样小幅漂移。

连出五次正面,现在反面概率更大吗?

不是。每一次抛掷都从头开始,对之前的结果一无所知,所以下一次仍然是五五开。这种连续很正常:一百次抛掷里,出现五连或六连的情况多于不出现。

可以一次抛多枚吗?

可以,一次最多一百枚。多人同时要答案时很方便;想亲眼看看比例怎么变化也合适:每次一百枚,按十下就是一千次。

结果会被发送到什么地方吗?

不会。抛掷在这个标签页里完成,相关内容不会被发送、不会存到服务器、也不会记录日志。页面断网可用,关掉标签页计数就没了。

能用它来真的做决定吗?

它就是为此而生的,而且比你口袋里的硬币更公平。要在几个人之间做决定,做法和用真硬币一样:先说好哪一面代表什么,然后大家看同一块屏幕。

相关工具