问题标签 [hamming-distance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
737 浏览

mysql - Mysql将varchar二进制表示字段转换为二进制以使用bit_count进行汉明距离计算

我有一个带有 varchar(64) 字段的数据库表来存储 PHashing 数据,作为64 个字符(1 和 0 的 ascii 字符)。我需要用测试hasta计算汉明距离,似乎最有效的方法是使用mysql bit_count函数。问题是我还没有找到任何方法来转换/转换/任何哈希字段以便被解释为 byte(8) 而不是 varchar(64)。喜欢:

我无法更改数据并将所有以前的数据转换为二进制字段。有什么方法可以强制 mysql 将字段重新解释为文字,或任何其他替代解决方案?

0 投票
1 回答
383 浏览

string - 确定满足汉明距离矩阵的字符串

我正在尝试从汉明距离矩阵创建字符串列表。每个字符串的长度必须为 20 个字符,包含 4 个字母(A、B、C、D)。例如,假设我有以下汉明距离矩阵:

从这个矩阵我需要创建 3 个字符串,例如:

我手动创建了这些字符串,但我需要为代表 100 个字符串的汉明距离矩阵执行此操作,手动执行此操作不切实际。谁能建议一种可以做到这一点的算法?

谢谢,克里斯

0 投票
2 回答
618 浏览

bit-manipulation - 计算要翻转的位数以将 A 转换为 B

假设我有两个数字 A 和 B。我需要找出需要更改多少位数才能将 A 转换为 B。

像:

在这里,我们需要改变 4 位来将 A 转换为 B

我怎样才能做到这一点?

0 投票
0 回答
1870 浏览

string - 用汉明距离对字符串集进行聚类的最佳方法

我有一个包含 n 个字符串(n > 100 万)的数据库,每个字符串有 100 个字符,每个字符是a,或.bcd

我想为每个字符串找到最接近的字符串,最接近的定义为具有最小的汉明距离。我想为每个字符串找到 k 最近的字符串(k < 5)。

例子

对于 k=1,它应该返回 {(i1,i2),(i2,i1),(i3,i4),(i4,i3)}。对于 k=2,它应该返回 { (i1,{i2,i4}),(i2,{i1,i4}),(i3,{i4,i2}),(i4,{i3,i2})}。等等。对于每个字符串都应该找到k-最近的字符串。

朴素的解决方案具有 O(n^2) 时间复杂度。我想找到更复杂的解决方案。我找到了一些其他的解决方案,但没有一个比天真的更好。

如何以最佳方式将此类字符串分配到集群中?一个字符串可以在两个或多个簇中。解决方案可能是确定性的或概率性的。

0 投票
2 回答
5412 浏览

optimization - 汉明距离之和

我开始准备面试,遇到了这个问题:

  • 给出一个整数数组
  • 现在以二进制表示形式计算数组中所有整数对的汉明距离之和。

例子:


唯一的优化,来自纯粹的蛮力解决方案,我知道我可以在这里使用,是在汉明距离的单独计算中,如下所示:

解决这个问题的最佳方法是什么?

0 投票
1 回答
324 浏览

algorithm - 查找所有 k 最近邻

问题:

我有 N(~100m)个字符串,每个 D(例如 100)个字符长并且字母低(例如 4 个可能的字符)。我想为这些 N 点(k ~ 0.1D)中的每一个找到 k 最近邻。相邻字符串通过汉明距离定义。解决方案不一定是最好的,但越接近越好。

关于问题的想法

我有一种不好的感觉,这是一个不小的问题。我读过很多论文和算法,但是其中大多数在高维度上的结果很差,并且在维度小于 5 时有效。例如,本文提出了一种有效的算法,但它的常数与维度呈指数关系。

目前,我正在研究如何以保留或可以计算汉明距离的方式减少维度。

另一种选择是局部敏感散列,在所选度量下彼此靠近的点以高概率映射到同一个桶。有什么帮助吗?你更喜欢哪个选项?

0 投票
2 回答
2209 浏览

r - 如何在一组二进制值上计算 R 中的汉明距离?

对于具有 2 列和 45,000 多行的数据集,我需要计算汉明距离并将它们绘制在 R 中的集群中。是否有知名的图书馆可用于此?或者是否有比其他策略更强大的推荐策略?

我尝试了“e1071”包中的 hamming.distance 函数,并得到以下错误。但是,即使我知道如何计算汉明距离,我也不确定如何从这些结果过渡到聚类图?

我试过这段代码:

df 看起来像这样:

感谢您查看此问题,非常感谢您提供任何帮助。

0 投票
1 回答
218 浏览

hamming-distance - 汉明距离理解问题

我目前正在尝试了解汉明码 - 或者特别是用于检测和修复错误位的汉明距离。汉明距离

我很难理解汉明距离。我知道我正在比较不同的位字并找到使单词不同的位数(-> 汉明距离)-但是我要比较的这些字是什么?

例如:word= 0110 1001 ->(偶数)在末尾添加的奇偶校验位:0110(第一个奇偶校验位检查 bit1-4、第二个 5-8、第三个 3、4、5、6、第四个 0、1、7、8) . => 生成(新)单词:0110 0001 0110。

我现在用奇偶校验位检查单词吗?word1:0110 0(位 1-4 + 奇偶校验位 1)。word2:0001 1(位 5-8 + 奇偶校验位 2)。word3:1000 1(位 3、4、5、6,+ 奇偶校验位 3)。word4:0101 0(位 0、1、7、8 + 奇偶校验位 4)。

word1->word2:汉明距离4。word2->word3:汉明距离3。word3->word4:汉明距离4

还是我在这里完全错了?

0 投票
2 回答
498 浏览

python - 在python中解释汉明距离速度

我一直在努力让我的 python 更加 Pythonic,并玩弄短代码片段的运行时。我的目标是提高可读性,同时加快执行速度。

这个例子与我一直在阅读的最佳实践相冲突,我有兴趣找出我的思维过程中的缺陷在哪里。

问题是计算两个等长字符串的汉明距离。例如字符串 'aaab' 和 'aaaa' 的汉明距离为 1。

我能想到的最直接的实现如下:

接下来我写了两个“pythonic”实现:

执行中:

返回:

我预计 ham_3 的运行速度会比 ham_2 慢,因为调用 lambda 被视为函数调用,这比调用内置的 operator.countOf 慢。

我很惊讶我找不到一种方法来获得一个比 ham_1 运行得更快的 Pythonic 版本。我很难相信 ham_1 是纯 python 的下限。

有人想吗?

0 投票
1 回答
622 浏览

assembly - 我可以通过减去两个整数的汉明权重来得出汉明距离吗?

我可以通过减去它们的汉明权重来获得两个数字之间的汉明距离吗?

我必须在汇编中编写一个程序来导出两个十进制整数之间的汉明距离。我只是好奇是否可以简单地减去所述整数的汉明权重。还是只走异或指令路线并创建一个循环来计算那些会更好吗?