JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
Back to the library
信息 / 计算机科学 1936

论可计算数及其在判定问题上的应用

艾伦·图灵

图灵设想出最简单的机器——一个在纸带上读写的读写头——以此定义了「计算」本身,并证明:有些问题,任何机器都永远无法回答。

Choose your version
In depth · the introduction

在任何计算机出现之前,图灵就描述了一台「能算一切」的最简单的机器——并用它证明:有些问题,任何计算机都永远无法回答。

把这个想法拆开看

想象一条长长的纸带,分成一个个方格;一个小小的读写头,一次能读、写一个方格;外加一本薄薄的规则手册。每条规则都说:若你处在某某状态、读到某某符号,就写下这个、向左或向右挪一格、并切换到那个状态。整台机器,就这么多。图灵的论断令人吃惊:凡是能用一套确定程序算出来的,都能由这样一台简单的机器做到。

接着是神来之笔。任何机器的规则手册,本身也能写成一串符号——于是它能被写到一条纸带上,喂给另一台机器。图灵造出一台「通用」机:它读入对任何别的机器的描述,然后表现得与那台机器一模一样。这就是软件:同一台设备,全看你装入哪一份描述,便成了文字处理器、计算器,或一个游戏。这一切,他在世人造出第一台之前十年就已设想出来。

它从哪里来

1935 年,22 岁的图灵——剑桥国王学院的一名研究员——旁听了马克斯·纽曼关于数理逻辑诸多未决问题的讲课。其中之一,便是希尔伯特的判定问题:它要找一套机械程序,能对任意一个数学命题,判定它是否由公理推得。图灵把「机械」二字当了真:要回答它,他得先把「机器究竟能做什么」说清楚。

他在 1936 年完成论文——随后得知,美国逻辑学家阿隆佐·邱奇刚用一套全然不同的方法得到了同样的结论。图灵的工作是独立的,且已在付印;他补上一篇附录,证明两条进路彼此吻合,不久便动身去普林斯顿,师从邱奇。他证明的核心意象——一个人被简化为一名不知疲倦、只照规则办事的抄写员——在不到十五年里,就变成了他当初只在头脑里想象的那台真机器。

它为何重要

它一举做成了两件相反的事。它为「机器之所能」划下一道清晰的界:证明某些再清楚不过的问题——比如「这个程序会不会停下来?」——并没有一个通用的机械答案,于是「把数学完全自动化」的梦想,根本不可能。而就在同一笔之下,它描述了那台通用机:证明了一台通用设备,原则上可以运行任何程序。每一台计算机,都是这一个想法的实现;它的界限与它的伟力,是在同一篇论文里、被一同发现的。

一个类比

想象一位书记员坐在桌前,面前是一条没有尽头的纸带,手边是一本薄薄的规则手册。他并不理解题目;他只是读眼前这一格、查出对得上的那条规则、写一笔、往旁边挪一格,然后重复。现在请注意:规则手册本身,也不过是写出来的字。于是你大可把「任何另一位书记员的规则手册」递给他,请他照着模仿——一位书记员,便能顶替所有人。那个无解的问题,无非是:「给定一位书记员和他的起始页,他到底会不会有放下铅笔的一刻?」没有哪本手册能永远答得出。试试下面这台小机器——它走 14 步就停,可它的同类,也许会永远跑下去。

一台可交互的图灵机:一条纸带,每个单元显示 0 或 1,当前单元上方有读写头与状态徽标。「步」滑块从 0 到 14,每次让机器施加一条规则;所载程序在空白纸带上写下六个 1,并在 14 步后停机。

它落在何处

这是本馆「信息」叙事的拱心石。乔治·布尔(1854)把逻辑变成了代数;库尔特·哥德尔(1931)证明了:没有任何形式系统能证明关于算术的全部真理——而图灵的机器,把这条界限改写成人人都能想象的样子。他的通用机,正是冯·诺伊曼 1945 年报告变成真硬件的那张蓝图;而它来回搬运的那个「比特」,正是香农(1948)学会去度量的东西。十四年后,图灵自己的 1950 年论文追问了续篇:不是这些机器不能做什么,而是它们究竟能否思考。

The original document
Original source text

开篇 · 可计算数

A. M. Turing · On Computable Numbers · Proc. London Math. Soc. (2) 42 (1936)
The “computable” numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means.
[ … ]

§1–§2 · 计算机器

We may compare a man in the process of computing a real number to a machine which is only capable of a finite number of conditions q1, q2, …, qR which will be called “m-configurations”.
The machine is supplied with a “tape” (the analogue of paper) running through it, and divided into sections (called “squares”) each capable of bearing a “symbol”.
[ … ]

§6 · 通用计算机器

It is possible to invent a single machine which can be used to compute any computable sequence.
If this machine U is supplied with a tape on the beginning of which is written the S.D of some computing machine M, then U will compute the same sequence as M.
[ … ]

§11 · 判定问题

There can be no general process for determining whether a given formula U of the functional calculus K is provable.
[ … ]
Received 28 May 1936 · Read 12 November 1936