我尝试将十进制数转换为二进制数,但仍保留距离信息。例如欧几里德空间中10-2 = 8,但在二进制情况下,汉明(1010-0010)= 1,显然距离信息损失很多。有没有可能的方法将10转换为二进制形式,但仍然保持汉明距离度量的距离属性?天真的方式是汉明(1111111111-0000000011)= 8 ....
答案 0 :(得分:0)
您已经找到了从距离d(x,y) = |x-y|
的非负整数的度量空间到具有汉明距离的位向量的度量空间中基本上唯一保留映射的距离。
这并不难证明:d(x,0) = x
,因此x
的转换必须设置x
位。同样,如果x<y
,那么x
变换中设置的位必须是y
变换中设置的位的子集。
所以你构建的基本上是你唯一的选择,如果你真的必须在位向量和汉明距离的空间工作。