这是一个非常诡异的数学猜想,因为它的表述异常简单并且非常容易理解,而且问题的形式看起来那么富有吸引力。但是即使是最顶尖的数学家,也没能给出一个证明!!
任意选择一个整数,如果它是偶数,就将它除以二;如果它是奇数,就把它乘以三再加一。对于新产生的数,我们对它进行上一步的操作,依次类推。如果你这样一直做下去,你一定会陷入一个循环中。至少我们猜想会是这样。
接下来以10为例来说明这个问题:10是偶数,所以我们将它除以2然后得到5;又因为5是奇数,所以用3乘以5再加1得到16;16是偶数,16除以2得8,接下来可以得到4,然后是2,再接下来是1。因为1是奇数,3乘以1加1是4,最后进入了4-2-1-4-2-1......的循环中。
如果以11为例,我们可以得到以下过程:11-34-17-52-26-13-40-20-10-5-16-8-4-2-1-4-2-1....最终我们还是掉入了相同的循环中。这个“臭名昭著”的考拉兹猜想讲的是,如果从一个正整数开始,你最终一定会陷入循环中。
考拉兹猜想之所以臭名昭著的原因是:即使你可以证明你见过的所有数字都满足这个猜想,那你也不能证明它一定是对的。所以,它至今只是个猜想。
为了理解考拉兹猜想,我们从下面这个函数开始:你也许还记得学校里教的“分段函数”:上面的函数里包含一个作为自变量的正整数n,并且有两种对它进行操作的规则,我们需要根据n的奇偶性来选择两个规则中的一个。
函数f代表我们对n进行操作的规则,例如:f(10)=10/2=5,f(5)=3*5+1=16。根据函数f对输入的奇数的操作,考拉兹猜想也被称为3n+1猜想。
考拉兹猜想处理的是函数f的“轨迹”问题。轨迹指的是如果你从一个正整数开始计算函数值,并将上算出的值重新代入到函数中得到新的函数值。我们称这种操作为函数的“迭代”。我们已经计算过了输入为10时函数f的轨迹:f (10) = 10/2 = 5 f (5) = 3 × 5 + 1 = 16 f (16) = 16/2 = 8 f (8) = 8/2 = 4。
更方便的表达函数轨迹的方法如下:10 → 5 → 16 → 8 → 4 → 2 → 1 → 4 → 2 → 1 → …在轨迹的尾部我们可以看到1 → 4 → 2 → 1 的循环。
类似地,对于11有:11 → 34 → 17 → 52 → 26 → 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 → 4 → ….我们同样陷入了相同的循环中。在尝试其他的例子后,我们会发现轨道最终总是会陷入到循环4 → 2 → 1 → …中去。
考拉兹猜想声称,任意正整数的轨迹最终都会经过1。尽管没有人能证明这个猜想,但是已经有人证明了,任何小于2^68的正整数都符合考拉兹猜想。所以,如果你想找一个反例的话,你要到大于300000000000000000000的整数里去找。
很容易证明某个数是否符合考拉兹猜想:只要计算相应的轨迹直到得到数字1。但是如果想要知道这个猜想为什么这么难证明,让我们先研究一个稍微简单一点的函数,g(n)。
函数g和f类似,但是对于奇数,函数g只是让数字加1。由于函数f和g不同,数字在函数g中的轨迹和在f中的不同。例如,g中10和11的轨迹分别是:10 → 5 → 6 → 3 → 4 → 2 → 1 → 2 → 1 → 2 → …11 → 12 → 6 → 3 → 4 → 2 → 1 → 2 → 1→ 2 → …可以看到,g中11的轨迹更快到达1。同样的,27的轨迹在g中也更快的到达1.
27 → 28 → 14 → 7 → 8 → 4 → 2 → 1 → 2 → …在这些例子中,g中的轨迹也会陷入循环中,但是它比f中的循环更加简单:→ 2 → 1 → 2 → 1 → ….我们可以猜想,g中的轨迹最终也会到达1。我可以把它称作“诺拉兹”猜想,但是我还是想叫它n+1猜想。
我们会通过检验更多的数的轨迹来研究它,即便是证明了很多数都满足这个猜想,我们也不能认定所有的数都满足这个猜想。幸运的是,诺拉兹猜想可以被证明,方法如下:首先,我们知道一个正整数的一半总是小于这个数字自身。因此如果n是正偶数, g(n) = n/2 < n。也就是说,当轨迹遇到一个偶数,那么轨迹上的下一个数一定会变小。
如果n是奇数,g(n) = n + 1,得到的数字会变大。但是由于n是奇数,n+1一定是偶数,下一个数是(n+1)/2,所以一个奇数的轨道如下:… → n → n + 1 → (n+1)/2 → …可以看出(n+1)/2 = n/2 + 1/2。因为n/2 < n并且1/2也很小,所以 n/2 + 1/2应该小于n。事实上,简单的数论知识可以证明,当n>1,总有n/2 + 1/2< n。
这些性质告诉我们,当g中的轨道到达了一个大于1的奇数,我们总是可以在两步之后获得一个更小的数。现在我们可以给出证明诺拉兹猜想的思路了:在轨迹中的某一个点,无论它是偶数还是奇数,那么之后的点总是会逐渐变小,最终,轨迹会到达1。然后它就陷入了循环中,就像我们猜想的那样。
问题在哪?可以用类似的方法证明考拉兹猜想吗?让我们回到最初的函数形式。就像函数g那样,函数f会让一个偶数变小,也会让一个奇数变成偶数,接下来再让新的得到的偶数减半。而一个奇数的轨道如下:… → n → 3n + 1 → (3n+1)/2 → …而这里正是我们的策略会失败的地方。
和前面的例子不同的是,(3n+1)/2 >n。证明诺拉兹猜想的关键是奇数在被函数g作用两次之后会变小,但是这在考拉兹猜想中是不适用的。所以我们的策略失败了。那考拉兹猜想是不是错的呢?毕竟轨道上的数似乎一直在变大,那它怎么可能慢慢变成1呢?这就要考察接下来会发生什么了,接下来发生的事情会解释考拉兹猜想为什么这么难证明:
因为我们不能确定(3n+1)/2 是奇数还是偶数。我们知道3n+1是偶数。如果3n+1可以被4整除,那么(3n+1)/2是偶数,轨迹上的数会变小。如果3n+1不能被4整除,那么(3n+1)/2是奇数,接下来轨迹上的数会变大。我们不能预测接下来的情况是什么,所以证明诺拉兹猜想的方法在这里失效了。
但是,这种方法并不是毫无用处。
因为有一半的整数是偶数,所以 (3n+1)/2有一半的可能性是偶数,这样下一个数就是(3n+1)/4。对于n>1,(3n+1/)4<n,所以有一半奇数在两步计算之后会变小。还有50%的几率3n+1/4是偶数,这意味着奇数有25%的几率在三步后减少到它开始时的一半以下。最终的结果是,以某种平均的方式,轨迹在遇到奇数时会减小。由考拉兹轨迹总是在遇到偶数后减小,所以从平均的意义上讲,所有轨迹都必须减少。
虽然这在概率论中说得通,但没有人能够完整证明考拉兹猜想。
还是有一点进展...然而,几位数学家已经证明考拉兹猜想“几乎总是”正确的。这意味着他们已经证明,相对于他们知道的满足考拉兹猜想的正整数,还没有被证明的数字的个数可以忽略不计。
1976年,爱沙尼亚裔美国数学家Riho Terras证明,在反复应用考拉兹函数之后,几乎所有的数字最终都会低于最初的值。
正如我们在上面看到的,表明轨迹上的数字会不断变小是证明它们最终会达到1的一条途径。2019年,著名数学家陶哲轩改进了这一结果。当Terras证明了几乎所有的数n的考拉兹轨道最终都会变小后,陶哲轩证明了对于几乎所有的数,n的考拉兹轨迹最终小得多:低于n/2,低于√n,低于lnn。但是陶哲轩说,这个结果是“在没有真正解决它的情况下,最接近完全证明它的工作。”
尽管如此,这个猜想会继续吸引大量的数学家和爱好者的注意。所以你可以选择一个数字尝试一下。记住,有人警告过你:不要陷入无休止的循环中。