相关疑难解决方法(0)

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

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

  • 使用哪些功能?

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

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

提前致谢!

hash function bloom-filter

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

Minhash实现如何查找排列的哈希函数

我在实现minhashing时遇到问题.在纸上和从阅读中我理解这个概念,但我的问题是排列"技巧".而不是置换集合和值的矩阵,实现的建议是:"选择k(例如100)独立散列函数"然后算法说:

for each row r 
    for each column c 
        if c has 1 in row r 
           for each hash function h_i  do
            if h_i(r) is a smaller value than M (i, c) then
            M(i, c) := h_i(r)
Run Code Online (Sandbox Code Playgroud)

在不同的小例子和教学书中,他们只使用两个或三个哈希函数的形式(h = a*x + b mod p).这很容易找到,但在实践中如何做,我怎样才能找到100个这样的独立功能.

这里的Java示例中,仅从一个散列函数而不是多散列函数生成散列值,而与行索引无关.区别在哪里?我现在的问题是如何找到这些独立的哈希函数,或者如果只有一个哈希函数的方法如何在算法中处理这些值?

algorithm implementation hash-function minhash

5
推荐指数
1
解决办法
3327
查看次数