图灵机并不是特指某一个或某一类机器,而是一种用数学的语言所定义出来的概念,是为了解答20世纪数学家对数学的终极追问而发明的一种工具。它的目的是为了对人类头脑内复杂数学活动的抽象和简化。
定义图灵机需要七个集合。其中最重要的两个分别是“有限的非空状态(State)的集合”与“有限的非空符号(Symbol)的集合”。前者代表着“这台机器能够在纸带上读取和写入的符号种类”,也被称作“色数”。后者则代表“这机器内部可以出现的状态”,被称作“状态数”——可以简单的理解为“机器可以开一档二档”。
余下五个则包括了“空白符号”、“初始的输入符号”、“初始状态”、“转移函数集合”,以及特殊的“停机状态”,即“机器进入该状态之后就必须停机”。
只要具备这七个要素,那么一台机器就可以是图灵机。
实际上,伟大的数学家阿兰·图灵在创造这个概念的时候,并没有设计出可以实际运行的机器。多年之后,冯·诺依曼才制造了一种基于电力的图灵机工程实现。
举个例子,算盘被一根横梁分作上下两边。上珠两颗,通过靠梁与否,可以用来表现0~2三种符号。下珠五颗,通过靠梁与否,可以用来表现0~5六种状态。算盘可以视作一种具有三色、六状态的机器。
这个时候,若是有数学家在纸上写下了三色六状态所对应的所有转移函数,并训练一个人(或猴子)严格按照转移函数集合拨动算盘,那么这个算盘再加使用者,就可以视作“一个图灵机”了。
约格莫夫依稀记得,很多年前,他好像与向山做过类似的研究。将DNA视作图灵机的“纸带”,DNA的四种碱基对视作“符号的集合”,而将氨基酸视作“状态”,核糖体与mRNA则具备了“转移函数集合”……
地球真核生物的细胞核,或许是四色N状态的图灵机。
而在众多的图灵机之中,有一种被称作“海狸机”的玩意最为离谱。
BB(n),BB意为“Busy Beaver”,忙碌的海狸。是一个在给定参数后,寻找可能产生的最大输出的可终止程序。最简单的二色二状态海狸机,只有“开和关”两种状态,并且只能输出“0或1”,且会在输出1的时候停止。二色二状态海狸机可以通过6次状态转换输出4个1,因此BB(2)=6。
BB(3)=21。
BB(4)=107。
然后,目前人类尚未枚举完所有5状态的海狸图灵机,只知道BB(5)要么就是47,176,870,要么就是大于10的十一次方。
BB(6)已经确定大于7.4*10^36537。
而在2016年,一名数学家将哥德巴赫猜想编码为有4888个状态的海狸机。编码逻辑很简单,就是从小到大验证每一个偶数。如果发现某个偶数可以表示成两个质数之和,则考察下一个偶数。只要这台图灵机跑完了BB(4888)步,且在跑完之前没有停机,那人类就可以断定它永远不会停机,所以哥德巴赫猜想为真。
但问题在于,宇宙只有不到10^80个原子。这个数量甚至远小于BB(6),更遑论BB(4888)。
约格莫夫惊叹于这个念头的离谱程度。整个宇宙的物质与能量,都支撑不了这种程度的计算。想要记录下这个数字的具体数值,就得在宇宙的每一个原子上记录下比宇宙原子数过多的数位。这是一个不可计算的数值。
“可即便如此,这仍旧是在‘有穷’的步骤里完成了对‘无穷’的追索。”向山却是这么介绍的,“如果我们用更加平庸的方式去穷举所有的偶数,那我们需要的物质与能量才是‘无穷’的。有理数是个无穷的概念。这种办法最多只能保证在哥德巴赫猜想为假的时候使用—