Hash 计算两个元素散列时没有冲突的概率h(x)=(x^2+;1)mod3

Hash 计算两个元素散列时没有冲突的概率h(x)=(x^2+;1)mod3,hash,hashtable,hashset,geohashing,universal-hashing,Hash,Hashtable,Hashset,Geohashing,Universal Hashing,如何计算插入2个元素后没有碰撞的概率。 答案是4/9,但我看不出它是怎样的4/9,我不太确定这是一个合适的so问题,但这是我的答案。这决不是一个合法的数学证明,但它是有效的 对于函数h(x)=(x^2+1)mod3,让我们给它一些示例值 h(1)=(1+1)mod3=2mod3=2 h(2)=(4+1)mod3=5mod3=2 h(3)=(9+1)mod3=10mod3=1 h(4)=17mod3=2 h(5)=26mod3=2 h(6)=37mod3=1 由于函数的性质(平方和加1),此模式将

如何计算插入2个元素后没有碰撞的概率。
答案是4/9,但我看不出它是怎样的4/9,我不太确定这是一个合适的so问题,但这是我的答案。这决不是一个合法的数学证明,但它是有效的

对于函数h(x)=(x^2+1)mod3,让我们给它一些示例值

h(1)=(1+1)mod3=2mod3=2
h(2)=(4+1)mod3=5mod3=2
h(3)=(9+1)mod3=10mod3=1

h(4)=17mod3=2
h(5)=26mod3=2
h(6)=37mod3=1

由于函数的性质(平方和加1),此模式将继续

因此,我们有(2/3)机会将函数的输入值计算为2,有(1/3)机会将函数的输入值计算为1

如果我们插入两个元素,我们发生碰撞的概率是两个输入计算为2的概率加上两个输入计算为1的概率。这是:

(2/3)(2/3)+(1/3)(1/3)=4/9+1/9=5/9

因此,任何两个输入不发生碰撞的概率为1-(5/9)


或4/9。

< P>对于该模式为什么持有的一个小背景考虑所有等价类MOD 3,即{ 0, 1, 2 }。 如果
x mod 3=0
x^2 mod 3=(x mod 3)(x mod 3)mod 3=(0*0)mod 3=0
通过分布等价性,因此
x^2+1 mod 3=1

如果
x mod 3=1
那么
x^2 mod 3=(x mod 3)(x mod 3)mod 3=(1*1)mod 3=1
,那么
x^2+1 mod 3=2

如果
x mod 3=2
那么
x^2 mod 3=(x mod 3)(x mod 3)mod 3=(2*2)mod 3=1
,那么
x^2+1 mod 3=2


它仍然不是100%正式的,这是一个累赘的例子,但它让你知道为什么这个模式适用于自然数联合{0}。我也希望我能更熟悉堆栈上的数学格式。假设是时候打开meta了?:)

哇,干得好!!