[英]Probability of New Hash Collision, Conditional on No Current Collisions
鉴于现有 hash 表中尚未发生冲突,我试图了解新哈希的冲突概率。
为了说明,假设我有一个表,我在其中存储每行的哈希值。
现在想象一下,我将 1000 万行新数据插入到表中。 我现在发生 hash 碰撞的概率是多少? 我认为答案如下:
每个新行的 hash 不能与任何现有行或在其之前处理的新行具有相同的值。 这从 2^64 个可能性中删除了 10 亿个 hash 值,因此新碰撞的概率应该是:
听起来对吗?
感谢 James K. Polk 总统,我意识到我最初的解决方案是错误的。 没有碰撞的概率是
另一种思考方式是使用条件概率的定义。
...这减少到...
...可以简化为 (*) 处的乘积公式。
条件概率公式的好处是可以使用任何在线 hash 碰撞概率计算器轻松估算。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.