论文部分内容阅读
6174问题
小时候,我曾经在《十万个为什么》的数学分册上看到一个叫做“数字黑洞”的数学游戏:任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数;重复对新得到的数进行上述操作,7步以内必然会得到 6174。例如,选择四位数8080,于是8080-0088=8712,8721-1278=7443,7443-3447=3996,9963-3699=6264,6652-2466=4176,7641-1467=6174。6174这个数究竟有什么特别的呢?如果你试着从6174出发,再往下走一步,就会发现端倪了:用7641减去1467,结果还是6174。因而,只要你在某一步得到了6174,今后便再也出不去了,就像在黑洞里一般。而神奇的是,所有其他的数最终都无一例外地会坠入6174这个黑洞当中。
这是为什么?当时,我成功地意识到,为了证明这个结论,只需要把所有可能的四位数全部试一遍即可。所有的四位数不到10000个,如果每天坚持试其中30个数的话,不到一年便可以完成验证。好奇心指使我启动了这项庞大的工程。
当天,没算几个数,我就渐渐地发觉,这项工程所需要的工程量远远没有那么大,因为我们可以避免很多重复的工作。例如,一旦算过了1234后,1243、3241等数都不用计算了。事实上,1、2、3、4四个数字总共有24种排列方法,它们本质上都是相同的情况,我们只需要从中任选一个代表即可。这样算下来,真正需要检验的数只有700多个。我自己也没想到,第二天晚上,我便完成了所有的检验。
《十万个为什么》上还介绍说,在三位数中,也有一个类似的数字黑洞,即495。然而,在五位数当中却不存在这样的数字黑洞。例如,从53955出发,下一步会变成59994,再下一步又会变成53955,如此反复,形成一个长度为2的周期性循环,仿佛有秩序的行星运动一般。我真切地感受到了一种由数字带来的乐趣。
21200问题
若干年后,我在另一本书上看见了一道智力题,书的名字早已忘记了。题目大致是这样的:想一个五位数abcde,使得这个五位数里面正好有a个数字0、b个数字1、c个数字2、d个数字3和e个数字4。很快,我便发现这个问题的棘手之处:这些数字相互关联,相互制约,可谓是牵一发而动全身。40000是一个非常容易想到的近似答案,确实里面有四个0,并且没有数字1、2、3。可惜就差一点:这里面有一个4,而不是没有4。那么,把它改成40001呢?这样一来,数字4的个数确实对了,但数字0和数字1的个数却又错了。
我突然产生了一个大胆的想法:如果不断地去修正刚才的结果,最终会怎样?40001里面有三个0、一个1、一个4,于是我们把40001改成31001;31001里面有两个0、两个1、一个3,于是我们把31001改成22010;22010里面有两个0、一个1、两个2,于是我们把22010改成21200;21200里面有两个0、一个1、两个2,于是……这就是正确答案了!
随便选了一个数,按照规则一步一步演变,不断产生与前一个数相符的数,最后果然得到了一个与自身相符的数。我突然意识到,21200就像6174一样,也是一个数字黑洞,只不过是另一种变换规则下的数字黑洞!更有意思的是,21200问题和6174问题还有很多惊人的相似之处。例如,如果把问题变成,找一个六位数abcdef使得里面正好有a个0、b个1、c个2、d个3、e个4和f个5,那么这个问题就无解了。不断求出下一个数,最终并不会跌入一个黑洞,而会产生某些周期性的循环。例如,311100会变成230100,下一步则又会变回311100。
一个有意思的问题出现了:21200问题和6174问题究竟有多少相通的地方?怎样的变换规则作用在怎样的范围内,才能产生黑洞?深入挖掘下去,或许会产生一个全新的理论!我隐约开始意识到,以前所看到的“数学之美”都太表面了。数学之美并不是结论之美,也不是证明之美,也不是应用之美,而是一种约等于“在更高层面上进行一般化、普遍化、广义化”的数学理念。
autogram问题
2010年6月,在我整理博客过往内容的时候,我翻到了三年前所写的一篇讲英文文字游戏的文章。在那篇文章里,我提到了一个叫做autogram的文字游戏——精心构造一个英文句子,使得它正好符合它本身所述的内容。我最喜欢的一个autogram如下:
This autogram contains five a’s, one b, two c’s, two d’s, thirty-one e’s, five f’s, five g’s, eight h’s, twelve i’s, one j, one k, two l’s, two m’s, eighteen n’s, sixteen o’s, one p, one q, six r’s, twenty-seven s’s, twenty-one t’s, three u’s, seven v’s, eight w’s, three x’s, four y’s, and one z.
我突发奇想,能否构造一个类似的中文句子?很容易看到,这个问题的难点与21200问题如出一辙,都是要寻找一个恰好能描述自己的句子。这好比是在针尖上搭建积木楼房一般,我们需要小心翼翼地调整积木的位置,寻找一个精确的平衡点。我打算采用当初解决21200问题的办法:不断用新的句子去描述刚才的句子。如果最终句子不再变化,我们便得到了一个“自我描述句”。然而,这种方法并不总是奏效,只有某些句子模板才能让不停变化的句子最终稳定下来,另外的句子模板则往往会让句子产生振荡。我最终找到了下面这个句子,并把它发在了自己的博客上:
这句话里有五个“一”、十个“两”、两个 “三”、一个“四”、两个“五”、一个“六”、一个“七”、两个“八”、一个“九”、三个“十”、两个“这”、两个“句”、两个“话”、两个“里”、两个 “有”、两个“和”和十八个“个”。 看来,我们不但有数字黑洞,还有句子黑洞。因而,如果真的要为它建立一套理论,那我们一定会建立一套极其抽象的理论,能够描述各种事物在各种场合下黑洞的存在条件和寻找方法。
抽象,抽象,再抽象
我再也按捺不住了,在网上好好搜索了一番。于是,我第一次知道了“不动点理论”这个词。
起初人们用字母来代替一切数量,后来开始用字母代替一切数,再后来开始用字母代替一切,最后干脆把它们抽象成一个一个的点。不管是对数字的操作,还是对句子的改写,都可以抽象地看作是把一个点变换到另一个点。给定某种变换规则后,你或许会发现,有些点在变换之后保持不动,仍然是它自己,这样的点就叫做“不动点”。
数学家们找到了各种各样保证不动点存在的条件,得出了一个又一个“不动点定理”。荷兰数学家布劳威尔证明了布劳威尔不动点定理,波兰数学家巴拿赫证明了巴拿赫不动点定理,这都是非常经典的数学结论。博弈论中的纳什均衡,计算机中的Y combinator,其核心思想都离不开不动点。
数学的精髓就是抽象,抽象,再抽象。法国数学庞加莱曾经说过,诗歌的艺术在于给相同的东西取不同的名字,数学的艺术在于给不同的东西取相同的名字。巴拿赫有一句更精彩的话:数学家能够在定理之间进行类比,优秀的数学家能够在证明之间进行类比,最优秀的数学家能够在理论之间进行类比,可以想象,终极数学家则可以在类比之间进行类比。
我们从不同的数学定理当中寻找共同点,得出了很多新的理论。我们还能更进一步地,从不同的证明过程当中寻找共同点,得出很多新的数学方法。反证法、裂项法、放缩法、染色法、赋值法、换元法、数学归纳法、无穷递降法……这些宝贵的数学方法都是在大量证明的类比中获得的。但是,这还不算是最厉害的,在成套的理论之间寻找共同点,由内而外地进行类比,才能够得到更深刻、更基础、更本质的数学概念。整数之间的加减乘除、多项式之间的加减乘除、矩阵之间的加减乘除有一系列可比之处,数学家们便抽象出“环”的概念;两个点之间的直线距离、两个格子之间的曼哈顿距离、两个字符串之间的编辑距离也有一系列可比之处,数学家们便抽象出“度量空间”的概念。注意,这些类比方法本身也有很多相通之道,整理起来,便是最终极的数学思想了。
领悟这些数学思想,恐怕还有大半辈子的路要走。毫无疑问,这条路上的风景将会越来越精彩。
责任编辑:张蕾磊
小时候,我曾经在《十万个为什么》的数学分册上看到一个叫做“数字黑洞”的数学游戏:任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数;重复对新得到的数进行上述操作,7步以内必然会得到 6174。例如,选择四位数8080,于是8080-0088=8712,8721-1278=7443,7443-3447=3996,9963-3699=6264,6652-2466=4176,7641-1467=6174。6174这个数究竟有什么特别的呢?如果你试着从6174出发,再往下走一步,就会发现端倪了:用7641减去1467,结果还是6174。因而,只要你在某一步得到了6174,今后便再也出不去了,就像在黑洞里一般。而神奇的是,所有其他的数最终都无一例外地会坠入6174这个黑洞当中。
这是为什么?当时,我成功地意识到,为了证明这个结论,只需要把所有可能的四位数全部试一遍即可。所有的四位数不到10000个,如果每天坚持试其中30个数的话,不到一年便可以完成验证。好奇心指使我启动了这项庞大的工程。
当天,没算几个数,我就渐渐地发觉,这项工程所需要的工程量远远没有那么大,因为我们可以避免很多重复的工作。例如,一旦算过了1234后,1243、3241等数都不用计算了。事实上,1、2、3、4四个数字总共有24种排列方法,它们本质上都是相同的情况,我们只需要从中任选一个代表即可。这样算下来,真正需要检验的数只有700多个。我自己也没想到,第二天晚上,我便完成了所有的检验。
《十万个为什么》上还介绍说,在三位数中,也有一个类似的数字黑洞,即495。然而,在五位数当中却不存在这样的数字黑洞。例如,从53955出发,下一步会变成59994,再下一步又会变成53955,如此反复,形成一个长度为2的周期性循环,仿佛有秩序的行星运动一般。我真切地感受到了一种由数字带来的乐趣。
21200问题
若干年后,我在另一本书上看见了一道智力题,书的名字早已忘记了。题目大致是这样的:想一个五位数abcde,使得这个五位数里面正好有a个数字0、b个数字1、c个数字2、d个数字3和e个数字4。很快,我便发现这个问题的棘手之处:这些数字相互关联,相互制约,可谓是牵一发而动全身。40000是一个非常容易想到的近似答案,确实里面有四个0,并且没有数字1、2、3。可惜就差一点:这里面有一个4,而不是没有4。那么,把它改成40001呢?这样一来,数字4的个数确实对了,但数字0和数字1的个数却又错了。
我突然产生了一个大胆的想法:如果不断地去修正刚才的结果,最终会怎样?40001里面有三个0、一个1、一个4,于是我们把40001改成31001;31001里面有两个0、两个1、一个3,于是我们把31001改成22010;22010里面有两个0、一个1、两个2,于是我们把22010改成21200;21200里面有两个0、一个1、两个2,于是……这就是正确答案了!
随便选了一个数,按照规则一步一步演变,不断产生与前一个数相符的数,最后果然得到了一个与自身相符的数。我突然意识到,21200就像6174一样,也是一个数字黑洞,只不过是另一种变换规则下的数字黑洞!更有意思的是,21200问题和6174问题还有很多惊人的相似之处。例如,如果把问题变成,找一个六位数abcdef使得里面正好有a个0、b个1、c个2、d个3、e个4和f个5,那么这个问题就无解了。不断求出下一个数,最终并不会跌入一个黑洞,而会产生某些周期性的循环。例如,311100会变成230100,下一步则又会变回311100。
一个有意思的问题出现了:21200问题和6174问题究竟有多少相通的地方?怎样的变换规则作用在怎样的范围内,才能产生黑洞?深入挖掘下去,或许会产生一个全新的理论!我隐约开始意识到,以前所看到的“数学之美”都太表面了。数学之美并不是结论之美,也不是证明之美,也不是应用之美,而是一种约等于“在更高层面上进行一般化、普遍化、广义化”的数学理念。
autogram问题
2010年6月,在我整理博客过往内容的时候,我翻到了三年前所写的一篇讲英文文字游戏的文章。在那篇文章里,我提到了一个叫做autogram的文字游戏——精心构造一个英文句子,使得它正好符合它本身所述的内容。我最喜欢的一个autogram如下:
This autogram contains five a’s, one b, two c’s, two d’s, thirty-one e’s, five f’s, five g’s, eight h’s, twelve i’s, one j, one k, two l’s, two m’s, eighteen n’s, sixteen o’s, one p, one q, six r’s, twenty-seven s’s, twenty-one t’s, three u’s, seven v’s, eight w’s, three x’s, four y’s, and one z.
我突发奇想,能否构造一个类似的中文句子?很容易看到,这个问题的难点与21200问题如出一辙,都是要寻找一个恰好能描述自己的句子。这好比是在针尖上搭建积木楼房一般,我们需要小心翼翼地调整积木的位置,寻找一个精确的平衡点。我打算采用当初解决21200问题的办法:不断用新的句子去描述刚才的句子。如果最终句子不再变化,我们便得到了一个“自我描述句”。然而,这种方法并不总是奏效,只有某些句子模板才能让不停变化的句子最终稳定下来,另外的句子模板则往往会让句子产生振荡。我最终找到了下面这个句子,并把它发在了自己的博客上:
这句话里有五个“一”、十个“两”、两个 “三”、一个“四”、两个“五”、一个“六”、一个“七”、两个“八”、一个“九”、三个“十”、两个“这”、两个“句”、两个“话”、两个“里”、两个 “有”、两个“和”和十八个“个”。 看来,我们不但有数字黑洞,还有句子黑洞。因而,如果真的要为它建立一套理论,那我们一定会建立一套极其抽象的理论,能够描述各种事物在各种场合下黑洞的存在条件和寻找方法。
抽象,抽象,再抽象
我再也按捺不住了,在网上好好搜索了一番。于是,我第一次知道了“不动点理论”这个词。
起初人们用字母来代替一切数量,后来开始用字母代替一切数,再后来开始用字母代替一切,最后干脆把它们抽象成一个一个的点。不管是对数字的操作,还是对句子的改写,都可以抽象地看作是把一个点变换到另一个点。给定某种变换规则后,你或许会发现,有些点在变换之后保持不动,仍然是它自己,这样的点就叫做“不动点”。
数学家们找到了各种各样保证不动点存在的条件,得出了一个又一个“不动点定理”。荷兰数学家布劳威尔证明了布劳威尔不动点定理,波兰数学家巴拿赫证明了巴拿赫不动点定理,这都是非常经典的数学结论。博弈论中的纳什均衡,计算机中的Y combinator,其核心思想都离不开不动点。
数学的精髓就是抽象,抽象,再抽象。法国数学庞加莱曾经说过,诗歌的艺术在于给相同的东西取不同的名字,数学的艺术在于给不同的东西取相同的名字。巴拿赫有一句更精彩的话:数学家能够在定理之间进行类比,优秀的数学家能够在证明之间进行类比,最优秀的数学家能够在理论之间进行类比,可以想象,终极数学家则可以在类比之间进行类比。
我们从不同的数学定理当中寻找共同点,得出了很多新的理论。我们还能更进一步地,从不同的证明过程当中寻找共同点,得出很多新的数学方法。反证法、裂项法、放缩法、染色法、赋值法、换元法、数学归纳法、无穷递降法……这些宝贵的数学方法都是在大量证明的类比中获得的。但是,这还不算是最厉害的,在成套的理论之间寻找共同点,由内而外地进行类比,才能够得到更深刻、更基础、更本质的数学概念。整数之间的加减乘除、多项式之间的加减乘除、矩阵之间的加减乘除有一系列可比之处,数学家们便抽象出“环”的概念;两个点之间的直线距离、两个格子之间的曼哈顿距离、两个字符串之间的编辑距离也有一系列可比之处,数学家们便抽象出“度量空间”的概念。注意,这些类比方法本身也有很多相通之道,整理起来,便是最终极的数学思想了。
领悟这些数学思想,恐怕还有大半辈子的路要走。毫无疑问,这条路上的风景将会越来越精彩。
责任编辑:张蕾磊