Math 发生哈希冲突后计算原始集大小
你有一个空的冰块托盘,里面有n个小冰块桶,形成一个自然的散列空间,很容易想象 你朋友有k便士,他喜欢放在冰块托盘里。他反复使用随机数发生器来选择每一分钱放在哪个桶里。如果由随机数确定的桶已经被一个便士占据,他会把这个便士扔掉,再也看不到它了 假设您的冰块托盘有100个桶(即,可以制作100个冰块)。如果你注意到你的托盘上有c=80便士,那么你的朋友最有可能从多少便士(k)开始 如果c很低,碰撞的几率就足够低,以至于最可能的k==c。例如,如果c=3,那么k最像是3。然而,发生碰撞的可能性越来越大,比如说k=14,那么发生碰撞的可能性应该是1次,所以如果c=14,那么k=15的可能性最大 当然,如果n==c,那么就没有办法知道,所以我们把它放在一边,假设cMath 发生哈希冲突后计算原始集大小,math,hash,probability,hash-collision,birthday-paradox,Math,Hash,Probability,Hash Collision,Birthday Paradox,你有一个空的冰块托盘,里面有n个小冰块桶,形成一个自然的散列空间,很容易想象 你朋友有k便士,他喜欢放在冰块托盘里。他反复使用随机数发生器来选择每一分钱放在哪个桶里。如果由随机数确定的桶已经被一个便士占据,他会把这个便士扔掉,再也看不到它了 假设您的冰块托盘有100个桶(即,可以制作100个冰块)。如果你注意到你的托盘上有c=80便士,那么你的朋友最有可能从多少便士(k)开始 如果c很低,碰撞的几率就足够低,以至于最可能的k==c。例如,如果c=3,那么k最像是3。然而,发生碰撞的可能性越来越大
给定n和c(给定c
设X为您的朋友开始使用的便士数的随机变量。
设Y为填充托盘数量的随机变量 您要求的是分布p(X | Y=c)的模式。
(或者期望值E[X | Y=c]取决于你如何解释你的问题。) 让我们来看一个非常简单的例子:分布p(X | Y=1)。然后 p(X=k | Y=1)=(p(Y=1 | X=k)*p(X=k))/p(Y=1)
=(1/nk-1*P(X=k))/P(Y=1) 由于p(Y=1)是归一化常数,我们可以说p(X=k | Y=1)与1/nk-1*p(X=k)成正比 但p(X=k)是先验概率分布。你必须假设你的朋友从硬币数量开始的概率分布 例如,我可以选择以下两个先验: