图灵机的机要

图灵机的机要


《科学是什么》的第二个讲座是姚期智来讲图灵的生平。在课前,我作为助教与他的女秘书的打交道就留下了非常糟糕的印象,没想到讲座本身也是令人失望的。在讲座后我已写过一些感想,先贴在下面:


坦白说,今天姚老师的讲座是令人失望的。对图灵的介绍太水,对于图灵的巨大贡献到底是什么也几乎没有介绍。只是说设计出“图灵机”,图灵机是通用计算机,就是现代的电脑。但究竟图灵机是个什么玩意儿也没介绍。即便就图灵的生平介绍而言,也远远比不上杨振宁先生介绍自己的生平时那样有血有肉的感觉。我个人表示不满。

就这样程度的科普介绍而言,大家不如去看百度百科。百度百科的图灵词条写得比较丰富。中文维基上这个词条比较单薄,英文词条当然丰富得多。不过无论如何,这门课的讲座不应该局限于百度百科的程度。

无论讲座本身如何,讨论课是这门课更重要的环节。主讲的同学如果愿意,可以对讲座的欠缺加以弥补。其他同学也建议去看看我所选用的阅读材料,那本书至少把图灵机究竟是个什么玩意儿讲清楚了。只有理解图灵机究竟是什么玩意儿,我们才可能理解图灵的天才之处究竟在哪里,也能够体会科学的发展与思想史,与数学、逻辑、哲学、工程技术等等的发展之间的关系。

这门课的宗旨是让同学们思考和体会“科学是什么”。而对于此,决不是靠罗列一些科学家的成就和贡献,讲一讲科学家的生平琐事,这样就能体会的了。我可以知道某个科学家多么多么杰出,多么多么有贡献,但我如果对他究竟何以作出成就,究竟作出了什么样的成就一无所知,那么我还是对科学是什么一无所知。

相信之后的讲座会更加切近这门课的旨趣:不是要罗列科学成就和科学家贡献,也不是要普及科学知识。而是要通过不同角度所展示的科学活动的活生生的案例,让同学对科学的发展,对科学家的创造,获得切身的体会,从而进行自己的思考。当然,这也是讨论课的宗旨。不能讨论到最后大家说:哦,图灵很牛、贡献很大,就完了。我们始终要记得这门课程的主线索:“理解科学”。我们不仅要知道图灵很牛,而是要体会作为一个“科学家”的图灵何以很牛;我们不仅要知道图灵贡献很大,知道现在的所有计算机都是图灵机,也要去思考图灵的贡献作为一项科学活动究竟突破在哪儿,它的影响放在科学史和文化史中究竟有何意义。甚至我们不妨去反思:图灵是不是一个科学家?(还是一名哲学家或逻辑学家更恰当?)图灵机的构思是不是一项科学活动?(还是一项逻辑思辨活动或者一项工程技术发明?)我们之所以把图灵作为一位科学家来敬仰,之所以把图灵机作为一项科学突破,究竟是因为他的工作中蕴含的哪些东西?无论如何,我们要通过图灵的案例,去反思“科学”究竟是什么。要从讲座提供的案例中找到切入的视角,来进行自己的“反思”活动。而不是像听说书那样喔喔噢噢听过就完了。


讨论课后,我再补充说一些。

我的其中一节讨论课由于一开始只到了一个人,所以就临时并到井助教的班里去了,听完他们班的一个同学报告,发现后来陆陆续续又到了几个人,于是我们又回自己的教室讨论了。井助教班的主讲显然是一个信科的同学,当时和我穿着一样的Google版衫,不过他的报告并没有让我满意。他弥补了姚期智对图灵具体工作毫无介绍的缺陷,不过介绍得过于专业,以至于事先没有准备的同学恐怕听不懂,而事先下过功夫阅读我选取的阅读材料的同学又不必多听了。该同学讲了二十分钟迟迟不肯停下,的确这个主题很难用很短的时间讲清楚,但这恰恰就意味着选这样的主题是不恰当的。

姚期智的讲座和那位同学的主讲代表着两种极端,一是过分肤浅,停留于外部的百科介绍而丝毫不涉及科学内容;二是过分卖弄专业,而不考虑讨论的环境。

那么,就图灵的主题,作仅限十分钟的报告,究竟可能如何着手呢?其实也不难,关键在于,要把握好自己究竟想讲什么。那位主讲同学虽然看起来是在极力表现自己,但其实他并不是以一个个性的参与者的方式来表现自己,而只是在表现自己的知识——无非是被灌输的照本宣科的东西(参见我前一篇日志)。他试图讲解图灵机的工作原理,讲解图灵机如何解决希尔伯特和哥德尔的相关问题,但讲解的内容与教科书或科普材料上的流程并没有多少不同。他所要竭力“表现”的,只是自己对于这些教科书式的知识的“完整”的(参见我前一篇日志)掌握。所以他才控制不了时间,因为他没有去设法筛剪,没有去努力让报告带上自己的烙印。如果主讲者能够抛掉对教条知识的执着,而更多地注意到自己的感想和体会,从而选取自己关心的焦点来报告,那么报告就可能既轻松而又富有趣味。

让我自己来讲的话,我不会讲那么多运作机制和程序示例,更不会讲太多不完备性理论和停机问题之类。我首先会最简单地勾勒一下图灵在思想史中的位置——在希尔伯特和哥德尔之后,在解决可判定性问题的过程中使用了图灵机的方法以至于现代的通用电子计算机成为了这个数学活动的副产品。随后,我只需要强调一下图灵机的“机要”,或者说“窍门”就够了。当然,主讲报告还是要建立在同学至少翻阅过指定的阅读材料的前提下才能够被恰当地理解。

图灵机的窍门在哪里?为什么图灵机是“通用计算机”?为什么图灵机导致了现代的电子计算机?其实各种或百科或专业的介绍里都没有点明这几点。我一言以蔽之,就是“编码”。“编码”的思想早在布尔到哥德尔的工作中就已经逐步奠立了,图灵创造性地发展了这种方法。图灵机的窍门在于,在他那里,不仅被计算的数据是抽象的、形式化的和数字化的,而“计算”本身也被抽象化、形式化和数字化了。也就是说,“计算”之被编码是一个窍门。在以往的计算器中,作为计算工具的硬件与输入和输出的数据是截然不同的存在,前者是一些实物,是硬件,后者则是抽象的数字。而在图灵机里,硬件和数据的界线被打破了。通过对计算过程的编码处理,使得不同的计算方式不再是对应于某些具体的机械结构的不同,而是对应于程序编码的不同。而作为计算工具的“程序”同时也是抽象的数码,这些数码又可以成为被计算的数据——当冯诺依曼在第二台电子计算机上加入了“内存”式,图灵机的威力真正被实现了:我们通过输入一个程序实行一项计算,而计算所输出的结果同时也可以作为新的程序来执行新的计算,我们可以用程序来读取程序和编写程序,换言之我们可以在一个“计算器”中输入一个“计算器”而得到一个新“计算器”,这是以往的硬件与数据分离的计算器所不能想象的事情。于是图灵机不仅成为了“通用”的计算器(它不需要改变自己的机械结构,而是改换一套数据,就可以执行不同的计算任务),而且也成为了能够不断延伸扩展的计算器,因为我们能够用数据来计算数据,用“计算器”来编写“计算器”,于是我们现在的计算机能够有如此复杂多样的系统和应用程序。

和许多革命性的洞见一样,图灵的贡献也并不需要过高的学识和技巧。上次讲座的课间我听到饶毅老师在对某个同学说起爱因斯坦的革命理论也并没有用多么高深的数学来表达,甚至其关键性的洞见的表述也就是运用到“小学数学”的程度。中国有许多善于学习的同学,四大力学学得无比夯实,数学技巧的高超也总是让西方人瞠目,但是光凭这些并不能产生真正创造性洞见。那么,创造性的洞见如何而来?虽然说创造是无法预见的,不过孕育创造力的土壤却还是可以去探问的。如果以图灵为案例来说,我们可以去追问他创造性洞见的来源——除了巧合之外,还有没有哪些值得谈论的机缘呢?思想史的准备和个人的性格因素等等,有没有什么有意思的东西可以挖掘呢?也许并没有某一种确定的“科学方法”,但总是有一些典型的科学风格可以去描摹。


2010年9月20日

2 Comments

  1. Pingback: 网络时代的写作——浅谈电子媒介的意向结构 « [我想]

  2. Pingback: 随轩 » 网络时代的写作——浅谈电子媒介的意向结构

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注