返回
繁体
首页

阿基米德的报复

视觉:
关灯
护眼
字体:

第八章 图灵的通用计算机(3 / 3)
你就是一部图灵计算机。在一篇卓越的论文中,图灵在理论上和实践中已经能够证明;图灵计算机无法做到的,数学家和计算机都无法做到。一部超级计算机能够非常迅速地解出的问题,动作迟缓的图灵计算机也同样能够做出解答。

    掌握图灵计算机的实质和具备有限数法的解题能力,最佳的方法是自己编写程序表。我想提出一个建议,请你编写一种程序表,使它可以用于图灵计算机的一元记号的减法运算。但要提醒你,在编写程序表时,应让计算机以某种方式知道它已完成计算,并把该方式写入程序表中。否则,由于纸带的长度可以任意长,常常可能使计算机一直连续扫描许多空白单元。下图显示出了减法用的程序表。当然,其他程序表也可以进行运算。

    第二个问题是为计算机编写一种程序表,可用于检验编写在纸带上的符号P和Q顺序是否是回文式的,即正读与反读的顺序都一样。一种方法就是使计算机能够对第一个符号与最后一个符号进行比较,第二个符号与倒数第二个符号进行比较,以此类推。但要记住,这种方法必须是有限数字。如果顺序是回文式的,可以让计算机打印一个Y,如果不是,则打印一个N。这种方法是安德鲁·霍奇斯在为英国《新科学家》周刊撰写的一篇文章中采用的。这种方法如图所示。

    霍奇斯方法的缺点是,尽管程序表只有6个状态,但计算机要浪费许多时间沿一串符号来回移位。如果计算机在拿第一个符号与最后一个符号进行比较之后,拿倒数第二个符号与第二个符号进行比较(而不是拿第二个符号与倒数第二个符号进行比较),然后拿第三个符号与倒数第三个符号进行比较,再拿倒数第四个符号与第四个符号进行比较,以此类推,那么它就可以节省时间。这种方法的程序表如下图所示,它需要 10个状态。要缩短计算时间,必须以较长的程序作为代价。

    最后一个建议是为图灵计算机编写一种程序表,可供计算机用于检验由空白单元分开的两串P和Q符号是否变移位置式的。而且,Y符号同样代表“是”,N符号代表“否”。这里需要提示一下,在计算机解题时,计算机会打印出一个假符号字母R。有一种可能的答案似乎是正确的。

    _______

    ① 关于图灵最后几年的悲剧性详情,在安德鲁·霍金斯著的同情性传记文学曾做报道,《艾伦·图灵:谜》(西蒙-舒斯特出版社,纽约, 1983)。