考拉兹猜想(Collatz conjecture)

科普、常识 14 阅读 更新于 2026-10-03 00:10

考拉兹猜想(Collatz conjecture)

考拉兹猜想,又叫(3n+1)猜想、冰雹猜想、角谷猜想,是一个表述极其简单,但至今没有被数学界证明的数论猜想。

一、猜想规则

任取一个正整数 \(n\),按照下面两条规则反复变换:

  1. 如果 \(n\) 是偶数:\(n \to \boldsymbol{n/2}\)
  2. 如果 \(n\) 是奇数:\(n \to \boldsymbol{\(3n+1\)}\)

猜想内容:无论一开始选哪个正整数,经过有限次迭代运算后,最终一定会落到 $1$;落到1之后就进入循环:\(1 \to 4 \to 2 \to 1 \dots\)

举个例子

例1:取 \(\(n=6\)\)

\[6 \to 3 \to 10 \to 5 \to 16 \to 8 \to 4 \to 2 \to 1\]

例2:取 \(\(n=19\)\)

\[19\to58\to29\to88\to44\to22\to11\to34\to17\to52\to26\to13\to40\to20\to10\to5\to16\to8\to4\to2\to1\]

迭代过程中数字时而暴涨、时而跌落,像冰雹在云层里上下运动,所以也叫冰雹序列。

二、直观理解

  • 奇数:乘3加1,必然变成偶数;
  • 偶数:除以2,数字缩小。

直觉上:奇数带来增长,偶数带来衰减。猜想认为衰减最终总能战胜增长,不会出现两种情况:

  1. 进入一个不含1的循环(比如一直在几个大于1的数字来回打转);
  2. 数值无限增大,越迭代越大,永不回落。

目前没有找到任何一个反例,但不能证明不存在反例。

三、已有的验证结果

计算机已经大规模验证:

  • 到2025年,已经验证了 268(大约 2.95×1020)以内所有正整数,全部满足猜想,都能归到1。

⚠️ 重点:有限验证 ≠ 数学证明。就算测试了天文数字,依然不能保证更大的数不会出现反例。数论历史上有很多猜想,在极大范围内都成立,最后找到反例。

四、数学上的难点在哪里?

  1. 非线性:变换规则分段(奇偶两套公式),不是简单线性递推,很难写出通项公式;
  2. 序列行为高度混沌:相邻数字的迭代路径差异巨大,很难找到统一不变量;
  3. 两种可能性无法排除:
    • 存在一个很大的数,迭代后进入一个独立循环;
    • 存在某个数,迭代数值持续发散,趋向无穷。

很多顶尖数学家都研究过这个问题。保罗·埃尔德什(Paul Erdős)曾评价:“数学还没有准备好解决这样的问题”,并且悬赏500美元求证。2019年数学家陶哲轩证明了一个弱化版本:几乎所有正整数在迭代下,对数高度会下降,极大支持猜想成立,但依然不是完整证明。

陶哲轩的结论通俗说:几乎绝大多数数字,迭代后数值最终会变得很小,但无法严格保证一定落到1。

五、衍生变体

  1. \(3n-1\) 变体:奇数变成 \(3n-1\),会出现多个独立循环,猜想不成立;
  2. 扩展到负整数:会出现多个不同循环,不止一个1的循环;

这侧面说明:\(\(3n+1\)\) 这个参数非常特殊。

六、常见误区澄清

  1. ❌ “已经被证明了”:没有,至今仍是未解决公开数学猜想;
  2. ❌ “只要计算机验证足够多就等于证明”:否,有限枚举无法覆盖无穷多自然数;
  3. ❌ “如果找不到反例,猜想就是对的”:数学要求严格逻辑证明,不能靠找不到反例来确认命题为真。

七、简易Python代码(可以自己跑冰雹序列)

def collatz(n):
    seq = []
    while n != 1:
        seq.append(n)
        if n % 2 == 0:
            n = n // 2
        else:
            n = 3 * n + 1
    seq.append(1)
    return seq

print(collatz(27))

27是很有名的例子:路径很长,最高冲到9232,最后才落到1。

如果你想,我可以:

  • 推导考拉兹猜想的概率模型(随机游走视角);
  • 或者讲陶哲轩2019那篇弱化证明的核心思路。
← 返回科普、常识 yicool 百科 · 考拉兹猜想(Collatz conjecture)

评论 0