||
在中国,哥德巴赫猜想是最著名未解决的数学难题了,没有之一。托徐迟和陈景润之福,很多人都知道“1+1”这个问题,有些人甚至还知道,这个问题说的是:每个偶数都可以表示成两个质数之和。如果对数学更熟悉一些,还知道陈景润没有解决这个问题,他只解决了“1+2”的问题:每一个充分大的偶数,都可以表示成1个质数a与2个质数积bc的和(a+bc)。
昨天,在“风云学会科技群”里,群主袁岚峰问了这样一个问题:“对哥德巴赫猜想的数值实验已经进行到了多大?即把多大的偶数分解成了两个质数之和?”
群友“哆嗒数学网”说是“4后面18个零”($4\times 10^{18}$),还给出了一个网址(Goldbach conjecture verification, http://sweet.ua.pt/tos/goldbach.html),有人用计算机检验过的。我对这个答案本身并没有兴趣,因为哥德巴赫猜想显然成立,只是大家找不到严格的数学证明而已。有人费心费力地检测到这么大的数字,也只是让我觉得他确实闲的没事干。我感兴趣的是他说的另一句话:“有趣的事情是,虽然验证的数很大,总有一个写法,其中一个质数小于10000。”
$4\times 10^{18}$可以拆分成两个素数,不奇怪。其中一个素数小于1万,似乎也不是特别怪。所有小于$4\times 10^{18}$的偶数,拆解后都有一个素数小于1万,听起来好像挺难的。
我又想了一下,原来如此。其实也是显然,只是这个道理虽然简单,但是很少有人提到。这里简单说一下吧。
数论里有一个非常重要也非常有名的定理,叫作质数分布定理(素数定理, https://baike.baidu.com/item/%E7%B4%A0%E6%95%B0%E5%AE%9A%E7%90%86 ):对于足够大的数$x$来说,小于$x$的质数的数目大约是$x/\ln x$,其中$\ln$是自然对数。这个结果挺准的,而且$x$越大就越准,见下表:
$x$ | 100 | 1000 | 10000 | 100000 |
$x/ \ln x$ | 21.7 | 144.7 | 1085.7 | 8685.7 |
质数($<x$)的数目 | 25 | 168 | 1229 | 9592 |
这个结果不是很难猜(历史上有很多人都猜到了),但是不好证明(但是也有好几个大数学家独立给出了证明)——标准的数论教材里都有,我能看懂,但是我自己不会证明。
这个定理很好用:从不大于$n$的自然数随机选一个,它是素数的概率大约是$1/\ln n$。而且从实际的目的来看,这真的是个随机过程,随机得很呢。
好了,现在我们回到哥德巴赫猜想,问这样一个问题:对于任何一个偶数$n$,它有多少种方法可以分解为两个质数之和呢?很简单。比它小的素数有$n/\ln n$个,所以你有这么多的选择。选定一个素数$p$以后,$n-p$还是素数的概率是多大呢?对,你猜对了,就是$2/\ln n$,因子2是因为已经知道选奇数了,所以随机性下降了一半,而且偶数都不是质数(除了2这个作怪的)。所以,对于偶数$n$来说,它有$2n/(\ln n)^2$种方法分解为两个素数之和。这个数字是非常大的,所以,哥德巴赫猜想有极大的概率是成立的。
哥德巴赫猜想还有一个变种:任何一个奇数,可以分解为三个质数之和。因为奇数减去质数3就是偶数,所以,只要哥德巴赫猜想成立,这个变种肯定成立。但是另一方面,一个奇数分解成三个质数之和的方案数目,比一个偶数分解成两个质数之和的可能性多得多,大约是$n^2/(\ln n)^3$的量级。换句话说,这个奇数的哥德巴赫猜想的冗余度要大得多。所以,它早就不是猜想了,而是一个定理。苏联数学家维诺格拉朵夫早就给出了证明。
再回到哥德巴赫猜想。考虑一个很大的数$n$,比如说“4后面18个零”($4\times 10^{18}$),问这个问题:把它拆分为两个素数,最小的素数大于10000的几率是多大呢?小于10000的素数有1229个,所以你有1228次选择$p$的机会(去掉偶数2)。对于某个确定的选择$p$,$n-p$也是素数的几率是$2/\ln n$,不是素数的几率就是$(1-2/\ln n)$,1228次都不是素数的机会就是$(1-2/\ln n)^{1228}$。这是一个很小的值,大约等于$e^{-2456/\ln n}$,把$n$的数值带入就可以得到$8\times 10^{-24}$。这个几率小得微乎其微,即使考虑所有的小于$4\times 10^{18}$的偶数,如果他们中间有一个数不能分解为小于10000的素数,这个几率大约是$1.6\times 10^{-5}$,大概是6万分之一。所以,那个计算机检验的结果也就不足为奇了。
这种方法虽然不是严格的证明,也不是直接的数值验证,但是它很有用,而且已经用在很多地方了。比如说,密码学里就有很多应用,原则上说,任何一个密码被猜出来的几率都不是零,但是你可以证明这个几率小得很,在任何实际的意义上都等价于零,那么你就可以放心大胆地用了。
你甚至可以用这个方法“证明”孪生素数猜想,也就是说,存在无穷多组素数对,它们的差等于2。只要把素数看作是满足素数分布定理的随机数,就很容易“证明”这一点。但是,这种“证明”只是给自己打气用的,真正数学意义上的证明还没有出现:张益唐证明的是,存在无穷多组素数对,它们的差小于7000万。其他数学家改进了他的结果,使得孪生素数对的差小于两百五(严格地说,是小于等于246)。真要想证明这个猜想,还需要新的方法。(孪生素数猜想 https://baike.baidu.com/item/%E5%AD%AA%E7%94%9F%E7%B4%A0%E6%95%B0%E7%8C%9C%E6%83%B3 )
数论追求严格的证明,需要天才的想法,而我们普通人并不需要这么做,因为这个世界并不那么完美,而且有很多冗余的。对待很多事情,其实都可以套用流汗黄豆的那句话:差不多得了。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-26 23:01
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社