请问哈希函数相关问题

img


请问如何解决上述问题。哈希函数最小签名我知道,但是哈希函数怎么才算真正的行列变换?

(1) 为了计算矩阵中每一列的最小哈希签名,对于每一列的每一个元素,将它代入这三个哈希函数中,并对模数6取模,计算出三个数字,然后选择三个数字中的最小数作为该元素的哈希签名。

(2) 根据抽屉原理,如果一个哈希函数是真正的排列转换,那么不同的输入元素会被映射到不同的输出元素上,即输出哈希值是一一映射的。在这三个哈希函数中,由于模数6的限制,每一个输入元素都有可能映射到6个不同的输出元素上,所以这三个哈希函数并不是真正的排列转换。

(3) Jaccard相似度是两个集合的交集大小除以它们的并集大小,是对两个集合的相似程度的度量。如果我们把每一列的最小哈希签名看作一个集合,那么我们可以计算每两个集合的Jaccard相似度。估计值是基于签名的近似度量,真实值是基于原始数据的实际相似度量。如果签名的计算是准确的,那么估计值和真实值的差异应该很小。