笔记二:Min-Wise Independent Permutations (Extended abstract) 第一部分

这篇论文定义并研究了序列的min-wise independent 家族。

 min-wise independent 家族在实践中常用于检测和过滤“近似重复”文件。

  先上定义:对于S的子集F,如果

    任意{0,1,2,3,...,n-1}的子集X,任意x∈X,当随机从F中选择映射π,都有

    Pr(min{π(X)}= π(x)) = 1/|X|

    即任何给定集合X,X的任何元素x在π的映射下有相同的机会成为X的最小元素。

另外,大多数启发式hash函数和随机hash函数具有非常相近的行为。当然也有例外。

Carter和Wegman定义了一致hash的概念。

  弱一致:对于一个hash函数家族H,

    如果对于任意一对独立元素x1,x2,如果h是从H中随机均匀的选择,有

    Pr(h(x1)=h(x2)) <= 1/|M|

  强一致(pair-wise independent):对于一个hash函数家族H,

    如果对于任意一对独立元素x1,x2,任意的y1,y2∈{0,1,2,3,...M-1},有

    Pr(h(x1)=y1 且 h(x2)=y2) = 1/|M|²

有很多情况,有限的随机化就够用了。(limited randomness suffices)

而且,存在可以容易实现的一致hash家族,而且空间复杂度O(|M|²)。

强一致的概念有重要的理论上的应用。

考虑序列经常要比考虑函数更方便。设Sn是{0,1,2,3,...n-1}的所有序列的集合。

  强一致(pair-wise independent):对于Sn的子集,序列家族F

    如果任意{0,1,2,3,...,n-1}的子集{x1,x2,y1,y2},且x1 != x2, y1 != y2

    Pr(π(x1)=y1 且 π(x2)=y2) = 1/n*(n-1)

  弱一致(min-wise independent):对于Sn的子集,序列家族F

    如果任意{0,1,2,3,...,n-1}的子集X,x∈X,当π是从F中均匀选择,有

    Pr(min{π(X)}=π(x)) = 1/|X|

也就是说,在映射π下任何X里面的元素x有相同的机会成为最小元素。

标题中的min-wise indepent permutation终于浮出水面了。也可以叫做”弱一致序列“。

 

两个文本相似度的问题可以被规约到“集合相交问题”。通过Shingling操作,每一份文本得到一个关联集合Sd。我们可以把Sd看做一个自然数的集合。两个文本相似度这样定义:

    r(A,B) = |Sa∩Sb|/|Sa∪Sb|

为了计算两份文本的相似度,维护一个小的,固定大小的“速写”(sketch)便足够了。

设π是从Sn(即{0,1,2,3,...,n-1}的序列集合)中均匀随机的选择出,那么

  Pr(min{π(Sa)} = min{π(Sb)}) = |Sa∩Sb|/|Sa∪Sb| = r(A,B)

因此,我们可以选择例如100个独立随机序列π1,...,π100。

对于每个文本D,我们存储list  Sa = (min{π1(Sa)},min{π2(Sa)},...,min{π100(Sa)})

这样我们可以用Sa和Sb的相似计数来估计A和B的相似度。

 

Reference:

[1]Min-Wise Independent Permutations (Extended abstract)  Andrei Z. Broder  1998

[2]http://en.wikipedia.org/wiki/Damerau–Levenshtein_distance

[3]http://en.wikipedia.org/wiki/Derandomization#Derandomization

[4]Ecient Private Matching and Set Intersection  Michael J. Freedman

 

PS:有点写不动了,而且很多时候都不知道自己在写什么。

先发上来第一部分。还会有第二部分第三部分的。

posted @ 2012-05-10 00:57  强小强  阅读(1219)  评论(0)    收藏  举报