五条规则的图灵机可视化。每列像素代表一步计算,步骤从左到右。黑色代表1。最右边表示图灵机的停机。(图片来源:Peter Krumins/Quanta Magazine)
“忙碌的河狸”这个问题的目的是为了找到运行时间最长的电脑程序。对它的研究与哥德巴赫猜想、黎曼猜想等一系列数学难题建立了惊人而又深刻的联系。
程序员总想让代码跑的更快。可在1962年,匈牙利数学家蒂博尔·拉多(Tibor Radó)却提出了截然相反的问题:要怎么才能让一个简单的电脑程序在终止之前跑的尽可能久?拉多将这样跑得尽可能低效但仍有效的程序称为“忙碌的河狸”。
自从《科学美国人》于1984年刊载这则问题之后,众多程序员和业余数学爱好者们份份开始寻找“忙碌的河狸”。不过最近几年,由于与一些高大上的概念与数学未解的难题建立起联系,“忙碌的河狸”已经变成了非常严肃的数学问题。
最近一项研究表明,这些得跑到猴年马月的程序,或许能澄清一些数学命题,甚至告诉我们哪些内容是可知的。据研究者们称,忙碌的河狸能帮助我们判断一个数学问题的难易程度,比如哥德巴赫猜想和黎曼猜想。它能让人一目了然地看到数理逻辑到哪里就该走不下去了。
“忙碌的河狸”这个问题,归根结底是关于图灵机——这是阿兰·图灵(Alan Turing)于1936年提出的一种理想化模型,其中有一条被分为正方形小块的长度无限的纸带,用笔在上面写或者擦去记号,这些操作需要满足一套给定的规则。
这样就使得寻找忙碌河狸的任务异常艰巨。规则的条数随便一改,我们就得从头开始找最长步数的图灵机,没有捷径。即是说,一般的“忙碌的河狸” 问题是“不可计算的“。
威廉·加斯塔克(William Gasarch)是马里兰大学学院市分校的计算机科学家,他关心的不是如何解决忙碌河狸数问题,相反他对“一般的不可计算问题”非常感兴趣。他和其他数学家正以此为基础,来估计数学上一些未解之谜的困难程度,或是看看这些问题究竟是否是可知的。
困难在于,BB(27) 是如此大的一个数,写下来都很难,要运行那么多次去检验哥德巴赫猜想,这在我们的宇宙中是远不可能的。虽然如此,那个巨大的数字仍然是一个具体的数,亚伦森称,这代表着我们对于数论领域“现有知识的陈述”。
BB(744) 比 BB(24) 又大了很多很多。不过亚伦森说道,要是深入研究一些简单的问题,比如 BB(5) ,“就有可能从中发现一些本身就很有趣的数论问题。”例如,数学家帕斯卡尔·米歇尔(Pascal Michel)在1993年证明,目前保持着5规则步数记录的那个图灵机,其规则与考拉兹猜想中函数行为极其相似,而后者是数学中又一个著名的未解之谜。
最近,亚伦森又在使用一种基于“忙碌河狸”的方法去测量整个数学系统的“不可知阈值”。哥德尔1931年证明了他那著名的不完备定理:对任意的公理集合,要么公理不相容(也就是会产生矛盾),要么不完备(存在不可证明的真命题)。而现代数学赖以生存的ZF集合公理也毫不例外地存在哥德尔界限。而亚伦森想要用“忙碌河狸”去估计它的边界具体在哪里。
无论大小,不可知的阈值的确是存在的。亚伦森说道:“自从哥德尔以来,我们的世界就一直是如此(不可知);而‘忙碌河狸’函数得以让这一切更加清晰明了。”