布谷鸟哈希中的 "new hash functions" 是什么?

What are the "new hash functions" in cuckoo hashing?

我正在阅读 Pagh 和 Rodle 的布谷鸟哈希算法,但我无法理解这一段的含义:

It may happen that this process loops, as shown in Fig. 1(b). Therefore the number of iterations is bounded by a value “MaxLoop” to be specified in Section 2.3. If this number of iterations is reached, we rehash the keys in the tables using new hash functions, and try once again to accommodate the nestless key. There is no need to allocate new tables for the rehashing: We may simply run through the tables to delete and perform the usual insertion procedure on all keys found not to be at their intended position in the table.

使用新的哈希函数是什么意思?
在插入算法中,table 被调整大小。我们是否应该以某种方式使用 "pool" 哈希函数?我们如何创建这个池?

是的,正如他们所说,他们期待新的哈希函数。幸运的是,它们不需要一堆新算法,只是对当前数据集的哈希行为略有不同。

看看论文的第 2.1 节,然后是附录 A。它讨论了随机 universal hash functions 的构造。

一个简单的,希望是说明性的例子,是假设你有一些你喜欢的普通散列函数,它对字节块进行操作。我们称之为 H(x)。您想要使用它来生成一系列新的、略有不同的哈希函数 H_n(x)。那么,如果H(x)很好,而你的要求很弱,你可以定义H_n(x) = H(concat(n,x))。您对 H_n(x) 的行为没有很好的保证,但您希望它们中的大多数是不同的。