《计算机科学导论》一1.1 图灵模型

本节书摘来华章计算机《计算机科学导论》一书中的第1章 ,第1.1节,[美]贝赫鲁兹A. 佛罗赞(Behrouz A. Forouzan)著 刘艺刘哲雨等译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 图灵模型

Alan Turing(阿兰·图灵)在1937年首次提出了一个通用计算设备的设想。他设想所有的计算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。尽管图灵对这样一种机器进行了数学上的描述,但他还是更有兴趣关注计算的哲学定义,而不是建造一台真实的机器。他将该模型建立在人们进行计算过程的行为上,并将这些行为抽象到用于计算的机器的模型中,这才真正改变了世界。

1.1.1 数据处理器

在讨论图灵模型之前,让我们把计算机定义成一个数据处理器。依照这种定义,计算机就可以被看作是一个接受输入数据、处理数据并产生输出数据的黑盒(如图1-1所示)。尽管这个模型能够体现现代计算机的功能,但是它的定义还是太宽泛。按照这种定义,也可以认为便携式计算器是计算机(按照字面意思,它也符合定义的模型)。

image


另一个问题是这个模型并没有说明它处理的类型以及是否可以处理一种以上的类型。换句话说,它并没有清楚地说明基于这个模型的机器能够完成操作的类型和数量。它是专用机器还是通用机器呢?
这种模型可以表示为一种设计用来完成特定任务的专用计算机(或者处理器),比如用来控制建筑物温度或汽车油料使用。尽管如此,计算机作为一个当今使用的术语,是一种通用的机器,它可以完成各种不同的工作。这表明我们需要将该模型改变为图灵模型来反映当今计算机的现实。

1.1.2 可编程数据处理器

图灵模型是一个适用于通用计算机的更好模型。该模型添加了一个额外的元素—程序到不同的计算机器中。程序是用来告诉计算机对数据进行处理的指令集合。图1-2显示了图灵模型。

image


在这个图灵模型中,输出数据是依赖两方面因素的结合作用:输入数据和程序。对于相同的数据输入,如果改变程序,则可以产生不同的输出。类似地,对于同样的程序,如果改变输入数据,其输出结果也将不同。最后,如果输入数据和程序保持不变,输出结果也将不变。让我们看看下面三个示例。
1.相同的程序,不同的输入数据
图1-3显示了对于同样的程序输入不同的数据时,尽管程序相同,但因为处理的输入数据不同,输出也就不同。
2. 相同的输入数据,不同的程序
图1-4显示了对于不同的程序输入相同的数据时的情形。每个程序使计算机对相同的输入数据执行不同的操作。第一个程序是使输入数据按大小顺序排列,第二个程序是使所有的数据相加,第三个程序是找出输入数据中最小的数。

image


3.相同的输入数据,相同的程序
我们希望无论何时对于同样的输入数据和程序,其输出结果一致。换句话说,当程序在输入相同的数据运行时,我们希望有相同的输出。
1.1.3 通用图灵机
通用图灵机是对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。可以证明,一台很强大的计算机和通用图灵机一样能进行同样的运算。我们所需要的仅仅是为这两者提供数据以及用于描述如何做运算的程序。实际上,通用图灵机能做任何可计算的运算。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值