使用方法(3步)
- 选择 天数 (d=365/366) 或 位 (d=2^b)。
- 输入 n (或切换到“目标→n”)。
- 复制可共享的 URL 或运行模拟。
输入
结果
- P(碰撞)
- —
- P(无碰撞)
- —
- 近似(泊松)
- —
- 近似误差(绝对/相对)
- — / —
目标→所需n
- 所需 n(精确)
- —
- 所需n(大约)
- —
图
P(碰撞)与 n(蓝色)。橙色线标记您当前的n。
提示:将鼠标悬停(或点击)图表可查看特定 n 处的概率。下面的快速表格提供了可访问的值。
快速表
| n | P(碰撞) | p (0..1) |
|---|
模拟(蒙特卡罗)
- 估计 P(碰撞)
- —
- 95% CI(威尔逊)
- —
- |p̂ - p_exact|
- —
注释和公式
- 精确:P(无碰撞) = (d)_n / d^n, P(碰撞) = 1 − P(无碰撞)。
- 近似值:P(碰撞) ≈ 1 − exp(−n(n−1)/(2d))。
- 这假设 d 值均匀分布。
示例
经典:d=365,n=23
P(碰撞)约为 0.5073(≈ 50.7%)。
哈希冲突:32 位
使用 b=32 (d=2^32) 的位模式。目标 0.5 给出 n≈77,164。
常见问题解答
什么是生日悖论?
它是从 d 个等可能值中抽取 n 个样本时的碰撞概率。当 d=365 时,n=23 已经给出了大约 50%。
为什么只有23人就超过50%?
可能的对的数量随着 C(n,2) 的增加而增加,因此碰撞可能很快就会发生。
具体公式是什么?
P(无碰撞) = (d)_n / d^n,且 P(碰撞) = 1 − P(无碰撞)。
如何计算目标概率所需的 n?
我们搜索最小的整数 n 使得 P(collision) ≥ target。
这与哈希冲突(32 位/64 位)有何关系?
使用位模式 (d=2^b)。对于 32 位,50% 点约为 n≈77,164。
模拟中的种子是什么?
种子使模拟具有确定性和可重复性。
真正的生日是统一的吗?
并不完美。该工具使用标准统一模型。