图灵1936年论文的开篇说:
- The “computable” numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means. Although the subject of this paper is ostensibly the computable numbers, it is almost equally easy to define and investigate computable functions of an integral variable or a real or computable variable, computable predicates, and so forth. The fundamental problems involved are, however, the same in each case, and I have chosen the computable numbers for explicit treatment as involving the least cumbrous technique. I hope shortly to give an account of the relations of the computable numbers, functions, and so forth to one another. This will include a development of the theory of functions of a real variable expressed in terms of computable numbers. According to my definition, a number is computable if its decimal can be written down by a machine.
许多关于图灵机“是否停机”的争论,都绕不开这段图灵自己在 1936 年论文开头写下的话。学术界确实常以此为依据,主张图灵关注的是“可计算数”,而不是“可计算函数”;因此图灵机可以“无限运行”也可以“有限停机”,没有本质差别。
但如果我们仔细阅读、结合图灵论文整体逻辑、尤其是“构造机制”本身的角色,我们会发现这段话其实并不支持流行版本的“停机图灵机”诠释。我们可以一段一段拆解它的深意:
1. “The ‘computable’ numbers... are calculable by finite means.”
原文:The “computable” numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means.
学界往往抓住“finite means”来强调“终止性”或“可完成性”。但这其实是对“finite”在图灵语境下的误读:
图灵所说的“finite means”,指的是机制本身是有限的(finite rules, finite states, finite alphabet…),而不是输出过程是“有限长度的”或“会停下”。
这可以从他后面那句“a number is computable if its decimal can be written down by a machine”进一步印证:这个“写出小数”的过程在实际执行上是无限的,否则就只能生成有限小数,即有理数了。
换句话说:
“有限手段” ≠ “有限运行”“可计算数” = “能被某种有限规则的系统无限地书写出来的数”
2. “Although the subject of this paper is ostensibly the computable numbers…”
这一句非常有意思。图灵自己说他的论文“表面上”是关于可计算数,其实也适用于:
computable functions of an integral variable
computable functions of a real or computable variable
computable predicates
并明确表示:
“The fundamental problems involved are, however, the same in each case.”
这说明什么?图灵其实是在用**“可计算数”作为代表性例子**,来展开他的核心思路——而这个核心思路,其实是关于:
形式系统是否能穷尽某种对象空间;构造机制(机制的定义)是否足够表达全部的“可计算性”。而“函数”“谓词”“实数”等,其实都是可以被相同的机制处理的。
所以他选择“computable numbers”,并不是因为他不关心函数,而是因为数的小数展开在形式处理上技术上最“干净”,最不“cumbersome”。
3. “According to my definition, a number is computable if its decimal can be written down by a machine.”
这是最关键的一句,也最容易被误解。
很多教材据此理解为“图灵机不停意味着没算完 → 所以要停下来,才能算完”。但这正是现代“程序思维”的投射。
但图灵的意思是:
如果存在一台图灵机(即具有有限规则和状态转移系统),它在无限纸带上持续写出某个小数展开,那么这个数就是“可计算”的。
没有任何地方说这个过程要停。事实上,如果停了,这个数就只生成了有限位小数,它就不再是一个实数,而只是一个有理数的近似了。
核心结论:图灵整段话其实恰恰强化了原始图灵机作为“构造机制”的角色。
常见误读:“finite means” = 运行是有限的,图灵只关注“可计算数”,可计算意味着“可以输出完”,不停机 = 没算完;
图灵原意:“finite means” = 构造规则是有限的,他只是以“数”为例,方法适用于函数等,可计算意味着“有统一构造机制输出所有位”,不停机 = 构造律持续运作。
所以,图灵关注的是:是否存在一个统一的“形式系统”,可以穷尽性地展开某种结构对象空间(如实数、函数、谓词等)?
这样的系统就是一个“体”。
参考文献:
Alan Turing, ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM
https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
转载本文请联系原作者获取授权,同时请注明本文来自柳渝科学网博客。
链接地址:https://wap.sciencenet.cn/blog-2322490-1481041.html?mobile=1
收藏