第二讲:计算模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
q2 0 0 H q1 ;
q2 1 1 H q1 ; 我们可以画出对应的状态转换图,然后使用一些输入 输出对,来判断该图灵机的功能。
图灵可计算函数
可以在图灵机上构造实现的函数,称为图 灵可计算函数。以下函数都是图灵可计算 的,大家可以思考一下具体的构造过程。 自然数如何编码? 零函数: 后继函数: 射影函数:
数字逻辑与集成电路
数字逻辑是数字电路逻辑设计的简称,其内容是应用数字 电路进行数字系统逻辑设计。电子数字计算机是由具有各 种逻辑功能的逻辑部件组成的,这些逻辑部件按其结构可 分为组合逻辑电路和时序逻辑电路。组合逻辑电路是由与 门、或门和非门等门电路组合形成的逻辑电路;时序逻辑 电路是由触发器和门电路组成的具有记忆能力的逻辑电路。 有了组合逻辑电路和时序逻辑电路,再进行合理的设计和 安排,就可以表示和实现布尔代数的基本运算。而布尔代 数只使用1(真)和0(假)两个数,这样,当二进
-m
= ∑
i=n
ki×2i
其中,2称为二进制的基数,ki∈{0,1},m,n为正整数。
进一步,读者可从十进制数和二进制数的一般表示公 式得到启发,将这种表示推广到更一般的任意进制,不同 之处只是基数不一样。 二进制的运算规则比十进制的运算规则简单得多。只 要建立两种进制的数据之间的转换方法,那么,二进制将 具有更多的优势。计算机的理论基础是逻辑和代数。当二 进制与同样只使用“真”和“假”两个值的逻辑代数建立 了联系后,这就为计算机的逻辑设计提供了便利的工具。
计算模型的实现:存储程序式 计算机
图灵机的带子可以看成是计算机的存储设备,数据可 以存储在上面,也可以根据需要擦去。图灵机的命令相当 于一组事先设计、存储好了的程序,它们在控制器安排下, 决定读写头的每一步操作。这样一种数学机器,如果不考 虑它的实用性,就思想和原理而言,确实包含了存储程序 的重要思想。 图灵机诞生后不到十年,在以冯·诺依曼为代表的一批 科学家的努力下,现代存储程序式电子数字计算机的基本 结构与工作原理被确定下来。它主要由如下的五部分组成 (见P25图):存储器,运算器,控制器,输入设备,输出 设备
制的加法、乘法等运算与布尔代数的运算建立了对应关系 后,就可以用逻辑部件来实现二进制数据的加法、乘法等 各种运算。 例 基本的“与”、“或”、“非”门电路。
“与”门电路一般有两个以上的输入和一个输出。图 (a)表示了一个“与”门电路,其输出P和输入A、B、C之 间的逻辑关系可用下面的式子表示: P=A· C B·
图灵机的计算能力等价于递归函数的计算能 力 如何来证明递归可计算的函数,一定是图 灵可计算的? 三个初始函数是图灵可计算的。 三个算子形成的复合函数也是图灵可计算 的。 如何来证明图灵可计算的函数,一定是递 归可计算的?
图灵机的优点
图灵机的计算能力与其他计算模型是等价 的。 图灵机的优点是模拟人类的纸和笔的功能, 比较符合人类对于“何为计算”的直观理 解。 图灵机简洁的构造和运行原理隐含了存储 程序的原始思想,深刻地揭示了现代通用 电子数字计算机最核心的内容。
“与”、“或”、“非”三种门电路示意图
P P P ↑ ↑ ↑ ┌──┻──┓ ┌──┻──┓ ┌──┻──┓ │ · │ │ + │ │ ~ │ └┳─┳─┳┛ └┳─┳─┳┛ └──┳──┛ ↑ ↑ ↑ ↑ ↑ ↑ ↑ A B C A B C A
(a) (b) (c)
将布尔代数和前面谈到的二进制联系起来,我们可以 看出,“与”、“或”、“非”门电路的作用与集合运算 “交”、“并”、“补”是一致的。一旦门电路中仅使用 两个电平信号0和1,引入二进制及其运算规则,那么,用
电路设计中,用高电平信号表示1,低电平信号表示0, 那么,“与”门电路只有当输入A、B、C同时为1时,输出P 才为1,否则,P为0。 “或”门电路可以用图(b)表示。一般地说,“或” 门电路是一种具有逻辑加法功能的电路,它有两个以上的
一个输出,其输出P和输入A、B、C之间的逻辑关系可用下 面的式子表示: P=A+B+C 在具体的电路设计中,如果我们用高电平信号表示1, 低电平信号表示0,那么,“或”门电路仅当输入A、B、C 中有一个为1时,输出P就为1,否则,P为0。 “非”门电路可以用图(c)表示。一般地说,“非” 门电路是一种具有逻辑取反功能的电路,它只有一个输入 和一个输出,其输出P和输入A之间的逻辑关系可用下面的 式子表示: P=~A 在具体的电路设计中,如果我们用高电平信号表示1, 低电平信号表示0,那么,“非”门电路当输入A为0时,输 出P就为1,否则,当输入A为1时,输出P为0。
例如,十进制数与二进制数中的一些可作如下对应: 十进制 (0) (1) (2) (3) (4) (5) … … … (9) (10)
… … …
二进制 (0) (1) (10) (11) (100) (101) (1001) (1010)
一般地,任何一个二进制数S都可以表示为:
S=knkn-1 … k0. … k-m =kn×2n+kn-1×2n-1+…+k0×20+…+k-m×2-m
常用函数
加函数可以如下递归定义: f1(m,0)=m; f1(m,n+1)=s(m+n); 乘函数可以如下定义: f2(m,0)=z(m); f2(m,n+1)=f1(m,f2(m,n)); 减一函数可以如下定义: p(0)=0; p(n+1)=n; 常用的函数,都可以这样定义出来。
计算模型之二:图灵机
控制器的命令可表示为: (状态,符号)→(写符号,移动,状态);
┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬── │0│0│0│1│1│1│0│1│1│1│ ┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴── ↑ ┌─┐ │ │ ┌┘ └┐ │控制器│ └───┘
输入:图灵机运行前,工作带上的内容就是输入。(输入 之前用一个空格隔开,连续遇到两个空格表示结束)
它由一个控制器和一条两端可无限延长的工作带组成: 工作带起着存储器的作用,它被划分为无穷多个可写可擦 的方格。 控制器则可以在带上左右移动,控制带有一个读写头,读 写头可以读出当前方格内的符号,然后根据预先设计的状 态转换指令,选择改写或抹去这一符号,然后选择往左移 一格,往右移一格或者不移动,并进入下一个状态。当状 态转换到停机状态,则停止运行。
计算模型
wk.baidu.com
所谓计算模型是刻划计算这一概念的一种抽 象的形式系统或数学系统,而算法是对计算 过程步骤(或状态的一种刻划),是计算方 法的一种能行实现方式。 由于观察计算的角度不同,产生了各种不同 的计算模型,比如递归函数,图灵机, lambda函数等。 有趣的是,这些计算模型的计算能力被证明 是等价的。
合就可以实现二进制的各种运算,而对复杂电路的计算, 如电路的化简就有可能通过布尔代数的方法进行。事实上 也正是如此。
计算与计算机
由此可见,真正构成计算机科学基本的、核心的 内容是围绕计算而展开的大量带有规律性的知识, 而不是具体的实现技术。 因为,在将来,我们完全可能发展一种能表示二 进制数及其运算的新技术,它比今天的微电子技 术精度更高、生产价格更便宜。如果真是那样, 这种技术就可能取代微电子技术在计算科学中的 地位。 因此,我们常说,从这个意义上讲,软件技术比 微电子技术对计算科学更重要一些。
计算模型之一:递归函数
递归函数论是由厄布朗、哥德尔、克林等发展起来的 计算理论。 三个初始函数:
(1) s(x)=x+1
(2) z(x)=0
(后继函数);
(零函数); (射影函数)。
(3) Pj(n)(x1,x2,…,xn)=xj
三个算子:复合算子,递归算子,取极小算子。 由初始函数通过有限次使用算子可以构造的函数,称 为递归函数。
输出:图灵机运行后进入结束状态,那么,图灵机就停机, 此时带上的内容就是计算的输出结果。
例 M的字母表A={0,1,b},b表示空格。状态集Q= {q1,q2,q3},其中,指定q1是开始状态,q3是终止状态。 M的程序(控制器的命令)如下: q1 0 1 R q1 ; q1 1 0 R q1 ; q1 b b R q2 ; q2 b b L q3 ;
二进制
也许是图灵机读写带上只出现两个符号启发了研究者,在 当时的技术条件下,从便于元器件的设计和制造考虑,计 算机的研制很自然地选择了二进制。后来的实践也证明了 这种选择具有极大的优点。 十进制数的表示 例如,1997.630这个数可以写成: 1997.630=1×103+9×102+9×101+7×100
+6×10-1+3×10-2+0×10-3
一般地,任何一个十进制数S都可以表示为: S=knkn-1 … k0.… k-m =kn×10n+kn-1×10n-1+…+k0×100+…+k-m×10-m
-m
= ∑
i=n
ki×10i
其中,10称为十进制的基,ki∈{0,1,2,3,4,5,6,7,8,9}, m,n为正整数。小数点的位置不言自明。 二进制和十进制一样,是一种数制,它用于表示数的 符号(数字)由于在书写中的位置不同而具有不同的值。 二进制表示数的符号只有两个,即0和1,其数值与十进制 中的0和1相同。此外,与十进制不同之处在于二进制数是 逢二进一。