Synth Daily

特雷维桑奖与 2 的幂的十进制数字

这篇内容探讨了一个关于“2的幂的十进制数字”的数学问题,该问题看似简单,却引出了关于证明、启发式论证和人工智能(AI)安全性的深刻思考。核心猜想是,除了少数几个初始值外,不存在其他2的幂可以在乘以2时所有位都不产生进位。尽管基于概率的启发式论证表明该猜想极有可能为真,但它属于一类难以用传统数学方法证明的问题。文章进一步将这种“看似正确却难以证明”的困境与AI对齐领域中“形式化启发式论证”的挑战联系起来,并展示了如何使用数论知识来证明关于2的幂首尾数字的部分结论,以及如何设计更高效的算法来检验该猜想。

一个简单问题的起源

这个问题源于作者8岁的儿子丹尼尔的一个提问:哪些2的幂在翻倍时不需要进位?

  • 已知的例子: 1, 2, 4, 32, 1024。
  • 它们的翻倍结果: 2, 4, 8, 64, 2048。

在检查了更多2的幂(如128, 256, 512)后,作者发现它们都需要进位。因此,他提出了一个猜想:1024可能就是最后一个满足条件的例子。 经过网络搜索,他发现这是一个已知问题,并且已经通过计算机验证到了极大的数值,没有发现新的例子。

为何猜想可能为真,却难以证明?

作者之所以迅速相信这个猜想,是基于一个启发式论证:2的n次方的十进制数字在很大程度上是“随机”的。

  • 一个数字在翻倍时不需要进位,意味着它的每一位都必须是 0, 1, 2, 3, 4。
  • 因此,一个拥有大约 n / log₂(10) 位数的2的n次方,所有位都满足这个条件的概率大约是 (1/2)^(n / log₂(10))
  • 这个概率随着 n 的增大而急剧下降,以至于在检查了前1000个数字后,再出现新例子的概率几乎为零。

这些猜想似乎无法被证明,其原因恰恰就是它们看起来几乎肯定为真的原因。也就是说,它们之所以为真,“仅仅”是因为如果它们是假的,那将是一个过于疯狂的巧合!

这个悖论使得证明变得异常困难。这类问题还包括:

  • Shallit 猜想的变体: 65,536 是唯一一个不包含任何2的幂(如2, 4, 8, 16等)作为其十进制数字的2的幂。
  • Dyson 猜想: 不存在一个2的幂,其十进制数字反转后会得到一个5的幂。
  • Erdös 猜想: 对于所有 n≥9,2的n次方的三进制表示中至少包含一个数字“2”。

证明这类问题需要找到它们与更深层次数学(如模形式、椭圆曲线)的联系,就像费马大定理的证明那样。但目前,这些关于数字表示的“娱乐性”问题,很难看出有任何深刻的联系。

与人工智能安全的意外联系

这个问题触及了当前一个重大议题:如何将强大的人工智能(AI)与人类价值观对齐

由 Paul Christiano 创立的对齐研究中心(Alignment Research Center)提出了一个方案,其核心依赖于形式化“启发式论证”的可能性。

我们永远无法严格证明一个现实世界中的神经网络在任何情况下都会安全行事——它实在太复杂了。我们最多只能期望得到一个论证,例如,“这个模型要算计人类,需要其权重中出现一个疯狂且无法解释的巧合。”

这里的挑战在于,我们如何才能形式化这些基于“巧合太小”的直觉?能否将我们对丹尼尔猜想或π是正规数的直觉,以一种有原则的方式形式化?这成为了AI安全研究中的一个关键难题。

我们能够证明什么?

尽管完整猜想难以证明,但关于2的幂的数字,我们仍然可以证明一些有趣的事情。

关于首位数字

我们可以证明,存在一个2的幂,其十进制表示以任何给定的数字序列开头,比如 “31415” 或者莎士比亚全集编码。

  • 关键事实: log₁₀(2) 是一个无理数。
  • 核心原理: 如果 α 是一个无理数,那么 {nα 的小数部分} 的集合在 [0,1] 区间内是稠密的。这意味着,通过不断地乘以2,我们可以让 n * log₁₀(2) 的小数部分任意接近我们想要的目标区间。

这保证了我们可以构造出一个2的幂,使其开头拥有任意我们想要的数字序列,甚至可以构造一个开头有海量(a googolplex)无需进位的数字。

关于末位数字

2的幂的末位数字具有周期性

  • 末一位: 以 2, 4, 8, 6 的模式循环。
  • 末两位: 经历一个短暂的初始阶段后,进入一个20个数字的循环。
  • 一般规律: 对于末尾 k 位数字,在短暂的初始阶段后,会进入一个长度为 4 × 5^(k-1) 的永恒循环。

因此,我们可以构造一个2的幂,使其末尾拥有海量的无需进位的数字。我们可以选择末位为2或4,然后为前面的位选择合适的偶数或奇数。

更高效的检验算法

最初检查猜想的朴素算法需要 O(n²) 的时间。通过一些优化,可以改进到 O(n)

然而,还可以通过数学洞察进一步提速。例如,8 × 6 = 48,末位仍为8。这意味着形如 n = 3 + 4k 的2的n次方,其末位数字在翻倍时必然会产生进位(8x2=16),因此可以被直接排除。

利用这种基于模运算的剪枝方法,可以设计出一种搜索算法,在 O(n^α) 的时间(其中 α 远小于1)内检验猜想。一位Facebook上的朋友实现了这个算法,并用它在40分钟内验证了丹尼尔的猜想对于所有 n 直到 10²¹ 都成立。

最终,尽管我们有压倒性的证据和强烈的直觉,但一个正式的证明仍然遥不可及,这凸显了启发式推理与严格数学证明之间的鸿沟。