- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲:计算模型
计算模型 所谓计算模型是刻划计算这一概念的一种抽象的形式系统或数学系统,而算法是对计算过程步骤(或状态的一种刻划),是计算方法的一种能行实现方式。 由于观察计算的角度不同,产生了各种不同的计算模型,比如递归函数,图灵机,lambda函数等。 有趣的是,这些计算模型的计算能力被证明是等价的。 常用函数 加函数可以如下递归定义: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; 常用的函数,都可以这样定义出来。 计算模型之二:图灵机 它由一个控制器和一条两端可无限延长的工作带组成: 工作带起着存储器的作用,它被划分为无穷多个可写可擦的方格。 控制器则可以在带上左右移动,控制带有一个读写头,读写头可以读出当前方格内的符号,然后根据预先设计的状态转换指令,选择改写或抹去这一符号,然后选择往左移一格,往右移一格或者不移动,并进入下一个状态。当状态转换到停机状态,则停止运行。 图灵可计算函数 可以在图灵机上构造实现的函数,称为图灵可计算函数。以下函数都是图灵可计算的,大家可以思考一下具体的构造过程。 自然数如何编码? 零函数: 后继函数: 射影函数: 图灵机的计算能力等价于递归函数的计算能力 如何来证明递归可计算的函数,一定是图灵可计算的? 三个初始函数是图灵可计算的。 三个算子形成的复合函数也是图灵可计算的。 如何来证明图灵可计算的函数,一定是递归可计算的? 图灵机的优点 图灵机的计算能力与其他计算模型是等价的。 图灵机的优点是模拟人类的纸和笔的功能,比较符合人类对于“何为计算”的直观理解。 图灵机简洁的构造和运行原理隐含了存储程序的原始思想,深刻地揭示了现代通用电子数字计算机最核心的内容。 计算与计算机 由此可见,真正构成计算机科学基本的、核心的内容是围绕计算而展开的大量带有规律性的知识,而不是具体的实现技术。 因为,在将来,我们完全可能发展一种能表示二进制数及其运算的新技术,它比今天的微电子技术精度更高、生产价格更便宜。如果真是那样,这种技术就可能取代微电子技术在计算科学中的地位。 因此,我们常说,从这个意义上讲,软件技术比微电子技术对计算科学更重要一些。 * * 递归函数论是由厄布朗、哥德尔、克林等发展起来的计算理论。 三个初始函数: (1) s(x)=x+1 (后继函数); (2) z(x)=0 (零函数); (3) Pj(n)(x1,x2,…,xn)=xj (射影函数)。 三个算子:复合算子,递归算子,取极小算子。 由初始函数通过有限次使用算子可以构造的函数,称为递归函数。 计算模型之一:递归函数 控制器的命令可表示为: (状态,符号)→(写符号,移动,状态); ┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬── │0│0│0│1│1│1│0│1│1│1│ ┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴── ↑ ┌─┐ │ │ ┌┘ └┐ │控制器│ └───┘ 输入:图灵机运行前,工作带上的内容就是输入。(输入之前用一个空格隔开,连续遇到两个空格表示结束) 输出:图灵机运行后进入结束状态,那么,图灵机就停机,此时带上的内容就是计算的输出结果。 例 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; q2 0 0 H q1; q2 1 1 H q1; 我们可以画出对应的状态转换图,然后使用一些输入输出对,来判断该图灵机的功能。 也许是图灵机读写带上只出现两个符号启发了研究者,在当时的技术条件下,从便于元器件的设计和制造考虑,计算机的研制很自然地选择了二进制。后来的实践也证明了这种选择具有极大的优点。 十进制数的表示 例如,1997.630这个数可以写成: 1997.630=1×103+9×102+9×101+7×100 +6×10-1+3×10-2+0×10-3 二进制
文档评论(0)