Skip to main content
QUICK REVIEW

[论文解读] On the Hamming Distance between base-n representations of whole numbers

Anunay Kulshrestha|arXiv (Cornell University)|Mar 20, 2012
Analytic Number Theory Research参考文献 1被引用 4
一句话总结

本文推导出从 1 到 m 的连续整数在基-n 表示下的汉明距离之和的闭式公式。证明了 m 与 m−1 之间的汉明距离等于 l+1,其中 l 是能整除 m 的最高次幂的 n 的指数,并利用此结果推导出 S(m) = Σ⌈m/n^j⌉,从而实现对所有连续数对的总汉明距离的高效计算。

ABSTRACT

We first introduce the Hamming distance between two strings. Then, we apply this concept to the representations of whole numbers in base n for all positive integers n > 2. We claim that a simple formula exists for the sum of all Hamming distances between pairs of consec- utive integers from 1 to m, which we will derive. We also state and prove other interesting results concerning the aforementioned topic.

研究动机与目标

  • 建立基-n 表示下连续整数之间汉明距离之和的数学公式。
  • 分析基 n 下 m 与 m−1 之间的汉明距离,特别是其与整除 m 的最高次幂的 n 的关系。
  • 提供一种高效算法实现,用于计算给定 m 之前的总汉明距离之和。
  • 将汉明距离行为推广至所有 n ≥ 2 的不同进制及整数。
  • 通过一个可用的 Python 实现验证推导公式的正确性,以供实际应用。

提出的方法

  • 将汉明距离 H(S1, S2) 定义为两个等长字符串 S1 和 S2 在对应位上不同的位置数量。
  • 引入零填充,以对齐连续整数的可变长度基-n 表示。
  • 通过分类讨论证明:H(m, m−1) = l + 1,其中 l 是能整除 m 的最高次幂的 n 的指数。
  • 将总和 S(m) 表示为从 i=1 到 m 的 (P_i + 1) 的和,其中 P_i 是能整除 i 的最高次幂的 n 的指数。
  • 利用 Iverson 括号重写求和式,并交换求和顺序,得到 S(m) = Σ⌈m/n^j⌉(j ≥ 0)。
  • 通过遍历从 1 到 log_n(m) 的 n 的幂次,在 Python 中高效实现该公式,避免暴力的字符串比较。

实验结果

研究问题

  • RQ1在基-n 表示下,连续整数 m 与 m−1 之间的汉明距离是多少?其与 m 的素因数幂结构有何关系?
  • RQ2能否为从 1 到 m 的所有连续整数对在基 n 下的汉明距离之和推导出一个闭式表达式?
  • RQ3当 n 整除 m 时,汉明距离如何变化?能整除 m 的最高次幂的 n 在其中起什么作用?
  • RQ4是否存在一种高效算法,可在不显式比较每对连续数的情况下计算总汉明距离之和?
  • RQ5使用推导出的公式计算总和的计算复杂度与朴素字符串比较相比如何?

主要发现

  • 在基 n 下,m 与 m−1 之间的汉明距离为 H(m, m−1) = l + 1,其中 l 是能整除 m 的最高次幂的 n 的指数。
  • 在基 n 下,从 1 到 m 的汉明距离之和为 S(m) = Σ⌈m/n^j⌉,其中 j 从 0 到 ⌈log_n m⌉。
  • 公式 S(m) = Σ⌈m/n^j⌉ 是通过将求和表达为基于整除条件的双重求和,并交换求和顺序推导得出。
  • 推导过程依赖 Iverson 括号来编码整除性,从而可精确转换为对 n 的幂次的求和。
  • 该公式可实现 O(log_n m) 时间复杂度的总汉明距离计算,远优于朴素比较的 O(m) 复杂度。
  • Python 实现验证了公式的正确性,并展示了其在大 m 和 n 值下的高效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。