相关疑难解决方法(0)

从k明智的独立散列族为小k(<= 5)生成散列函数的最快方法

h[n]:[t]当k为small(<= 5)时,我需要k个独立散列族的哈希函数.或者我需要从均匀随机选择的n个哈希值[1-t],使得它们是k个独立的.我正在尝试实现一些我需要的随机算法.我正在[1-t]使用范围生成n个随机数

scipy.stats.randint(0,self._t).rvs(self._n)

但这似乎对我的申请来说太慢了.由于我不需要完全随机性但只有4个明智的独立性,我想知道我是否可以加快速度.我知道我可以使用多项式哈希族来获得明智的独立性,但这是最好的吗?如果是,是否有任何快速实现,我可以插入?如果不是,有哪些替代方法(库,可能在Python中)?

我已经看过这个线程获得一个k-wise独立哈希函数,但我不确定接受的答案是什么意思:" 如果你需要k个不同的哈希,只需重复使用相同的算法k次,使用k个不同的种子 " .

任何建议都非常感谢.谢谢.

python random hash murmurhash

22
推荐指数
1
解决办法
844
查看次数

Bloom过滤器中使用哪些哈希函数

我有关于为Bloom过滤器选择哈希函数的以下问题:

  • 使用哪些功能?

在几乎每篇文档/论文中,您都可以读到Bloom过滤器中使用的散列函数应该是独立且均匀分布的.

我知道这是什么意思(独立和统一分布),但我很难找到论证或讨论,哪些散列函数满足这些要求,因此是合适的.在很多帖子中,我已经阅读了关于使用FNVMurmur哈希函数的建议,但不是为什么(或者至少没有证明)它们是合适的.

提前致谢!

hash function bloom-filter

16
推荐指数
2
解决办法
1万
查看次数

生成k个成对独立的散列函数

我正在尝试在Scala中实现Count-Min Sketch算法,因此我需要生成k个成对独立的散列函数.

这是我之前编程的任何一个低级别,除了Algorithms类之外我对哈希函数知之甚少,所以我的问题是:如何生成这些k成对独立哈希函数?

我应该使用像MD5或MurmurHash这样的哈希函数吗?我只生成表单的k哈希函数f(x) = ax + b (mod p),其中p是素数,a和b是随机整数?(即,每个人都在算法101中学习的通用散列家族)

我看起来更简单而不是原始速度(例如,如果它更容易实现,我将采取5倍的速度).

scala hash-function cryptographic-hash-function

9
推荐指数
2
解决办法
2380
查看次数