哈希整数集

时间:2010-09-27 13:11:26

标签: algorithm hash

我正在寻找集合H(。)和关系R(。,。)的散列函数,使得如果A包含在B中则R(H(A),H(B))。当然,R(。,。)必须易于验证(恒定时间),H(A)应该在线性时间内计算。

H和R的一个例子是:

  • H(A)= OR超过1 <&lt;&lt; (h(x)%k),对于A中的x,k是一个固定的整数,h(x)是一个整数的散列函数。
  • R(H(A),H(B))=((H(A)&amp; H(B))== H(A))

还有其他好的例子吗? (如果R(H(A),H(B))然后whp A包含在B)中,那么很难定义但是直观地。

1 个答案:

答案 0 :(得分:3)

  • 在考虑了这个之后,我最终得到了你给出的例子。即B中的每个元素在散列中设置一个位,如果在H(A)中设置的每个位也设置在H(B)中,则A仅包含在B中。
  • 也许Bloom filter适用于您的情况。它似乎使用相同的位技巧,但具有多个哈希函数。