局部敏感哈希实现?

Meh*_*dad 21 c c# java hash locality-sensitive-hash

在C/C++/Java/C#中是否有任何相对简单易懂(并且易于实现)的局部敏感哈希示例?

我想更多地了解这个概念,所以想尝试一些文本文件只是为了看看它是如何工作的,所以我不需要任何高性能或任何东西......只是一个哈希的例子为类似输入返回类似哈希的函数.之后我可以通过实例了解更多信息.:)

Muh*_*han 9

对于字符串,您可以使用近似匹配算法.

如果字符串与参考字符串等距,则很可能它们彼此相似.你去了你有一个字符串的局部敏感哈希实现.

您可以为一系列距离创建不同的散列桶.

编辑:您可以尝试其他字符串距离的变化.一个更简单的算法就是返回no.两个字符串之间的共同字符.

  • @Hasan:我有点困惑......字符串`"abcd"和`"xyzw"`都是一个距离4的随机字符串,如"6pGO",但它们完全不同.这是如何运作的?(这是4个很多*任何*长度为4的随机字符串......) (2认同)
  • @Hasan:是的我理解算法的作用,但问题是它根本不能正常工作,就像我展示的那样.你碰巧知道更好的算法吗?(你刚才提到的那个似乎很棒,我会考虑一下.) (2认同)

Teo*_*gul 6

那么在MSDN博客上有一篇很好的文章:http://blogs.msdn.com/b/spt/archive/2008/06/11/locality-sensitive-hashing-lsh-and-min-hash.aspx

还有至少一次C++库,你可以检查这里的源代码:http://sourceforge.net/projects/lshkit/