鉴于的两个子集维超立方体(即,),我寻找以检索点的算法 ST的汉明距离(或在超立方体-distance)是最小的。仅检查每对的天真算法时间,还有更好的结果吗?中号,Ñ ⊆ { 0 ,1 } d米∈ 中号,Ñ ∈ Ñ 大号1 d ħ(米,Ñ )| M | ⋅ | N | ⋅ d
为简单起见,我们可以假设。
鉴于的两个子集维超立方体(即,),我寻找以检索点的算法 ST的汉明距离(或在超立方体-distance)是最小的。仅检查每对的天真算法时间,还有更好的结果吗?中号,Ñ ⊆ { 0 ,1 } d米∈ 中号,Ñ ∈ Ñ 大号1 d ħ(米,Ñ )| M | ⋅ | N | ⋅ d
为简单起见,我们可以假设。
Answers:
刚意识到您正在要求。那你可以做矩阵乘法,对吗?写中号是行矩阵X,Ñ作为列矩阵ÿ,否定的条目ÿ,并且计算矩阵Ž = X ý。显然,Ž 我,Ĵ是之间的Hamming距离我的第点中号和Ĵ个的点Ñ。根据最后的突破,它的运行时间为(但是我有50,000页的手稿,显示了如何通过一种非常简单的算法在O (d 2.3726999999)的时间内进行矩阵乘法。
如果矩阵不是正方形,则可以获得类似的效果。我认为Uri Zwick在这种情况下有一篇有关快速矩阵乘法的论文。
从某种意义上说,这不太有趣-我们要避免使用 项。d项中的改进有点,嗯...
正如评论中所述,该问题通常与希尔伯特空间中的同一问题密切相关,并且算法几乎适用。这样的一个例子可以在本文中通过的Arya找到等人[1] P29其中作者基准使用布尔立方体和他们的Hilbert空间的最近邻算法范数。他们的算法适用于任何L m Minkowski度量。正如您指出的那样(但维基百科似乎也没有,也没有很多其他参考文献),汉明距离度量等效于二进制坐标上的L 1 Minkowski空间度量或“出租车”度量。他们的算法取O (d n log n )预处理时间(维)和对数“查询”时间(每点)。另请参阅[2]
[1] 在固定尺寸下近似最近邻搜索的最佳算法 Arya等,30pp
[2] 在超立方体上搜索有效近邻,并将其应用于分子聚类 Cazals