书签 分享 收藏 举报 版权申诉 / 45
上传文档赚钱

类型计算引论2-计算模型1课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4531700
  • 上传时间:2022-12-17
  • 格式:PPT
  • 页数:45
  • 大小:321.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《计算引论2-计算模型1课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算 引论 模型 课件
    资源描述:

    1、第二章 计算模型n计算复杂性nRAM机器(Random Access Machine)nRAM程序复杂性分析nRASP机器n图灵机模型n Lambda计算模型2.1 计算计算复杂性复杂性n设n为自然数,f(n)是n的一个函数。O 表示量级,令O(f(n)表示不超过f(n)数量级的量。n例:O(n)=常数,n1/2,3n,108n,在数量级上,这些量都不会超过变量n的量级。2.1 计算计算复杂性复杂性n例:O(n2)=O(n),O(n2/3),a n2+bn+c,.在数量级上这些量都不会超过变量n2的量级。即上述这些量的数量级可以用O(n2)来表示。n O(n)相对于 O(n2)可以忽略不计,表

    2、示为 O(n)O(n2)2.1 计算计算复杂性复杂性n设:f(n)=aKnK+aK-1nK-1+a1n+a0 为n的K阶任意多项式,系数相对n来说是个常数。则:O(f(n)=O(nK),称O(nK)为多项式数量级。2.1 计算计算复杂性复杂性n量级演算性质:若A、B为量级,且AB,则 (1)ABB (2)有限个B相加,BBBB (3)任意常数与B相乘,kBB2.1 计算计算复杂性复杂性n求解问题 VS 识别语言(1)每个问题由多个例示集合而成;(2)每个例示可由符号串表示,构成符号串的基本符号给定;(3)一个问题可抽象为符号串的无穷集合;2.1 计算计算复杂性复杂性(4)符号串称为句子,所以问

    3、题是句子的句子的集合集合,称为形式语言;(5)求解一个问题抽象为识别一个语言。2.1 计算计算复杂性复杂性n时间复杂性与空间复杂性(1)问题的规模用例示长度n刻画。(2)算法对时间的需求记为C(n),对空间的 需求记为S(n),它们都依赖于例示的长度n。2.1 计算计算复杂性复杂性(3)时间复杂性:设X是输入,|X|=n(指输入X的规模,n个基本符号),L(X)表示算法接受输入X执行计算需要的时间,则可把时间复杂性分为:n最坏情况时间复杂性n等概率时间复杂性n概率时间复杂性2.1 计算计算复杂性复杂性1)最坏情况时间复杂性 若 即对于长度为n的输入,最坏情况下应用多少时间,也称最坏情况时间复杂

    4、性(worst-case)。)X(Lmax)n(C|X|n2.1 计算计算复杂性复杂性 例如对于n=3的情况,假设长度为3的输入共有6种,6种情况下运行时间最长为A,则C(3)=A。2.1 计算计算复杂性复杂性2)等概率时间复杂性 对于|X|=n,称为等概率时间复杂性(也称平均情况时间复杂性)。|X|nXn1)X(L)n(C3.1 计算计算复杂性复杂性Xn)X(L)X(p)n(C3)概率时间复杂性 对于|X|=n,称为概率时间复杂性,其中p(X)表示输入X的分布概率。2.1 计算计算复杂性复杂性 (4)空间复杂性,同上述讨论。讨论:最坏情况复杂性不太合理,但分析方便;平均情况复杂性则相反,比较

    5、合理,但不易分析,目前使用大多为最坏情况复杂性。2.1 计算计算复杂性复杂性 (5)C(n)、S(n)具体的解析结果很难写出,故二式的分析仅停留在数量级的分析阶段。多项式时间复杂性是指存在常数K,使C(n)=O(nk)2.1 计算计算复杂性复杂性n一般而言,复杂度与N(问题规模)有关。nO(1):常量时间nO(N):线性时间,求解时间与问题规模呈线性关系nO(log N):求解时间与问题规模呈对数关系nO(N2):求解时间与问题规模呈二次方关系nO(eN):求解时间与问题规模呈指数关系2.1 计算计算复杂性复杂性n例如,对排序问题,如果我们只能通过元素间的相互比较来确定元素间的相互位置,而没有

    6、其他的附加可用信息,则排序问题的复杂性是O(nlgn)。n但排序算法有很多,冒泡法是O(n2),快速排序平均情况下是O(nlgn)等等。2.1 计算计算复杂性复杂性n排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。2.1 计算计算复杂性复杂性n计算复杂性,通俗说来,就是用计算机求解问题的难易程度。其度量标准:一是计算中执行的步数或指令条数(即时间复杂度),二是计算过程中所需要的存储单元数量(即空间复杂度)。2.1 计算计算复杂性复杂性n在采用图灵提出的理想化的计算模型即图灵机作为标准的计算工具的情况下,可以非形式化地定义如下几类计算问题:nP、NP、NP完全问题2.1 计算计算

    7、复杂性复杂性 多项式时间复杂问题:对于给定的一个问题,若存在一个求解该问题的多项式时间算法,则称给定的问题是多项式可解问题,所有多项式时间可求解的问题的集合记为P类问题。2.1 计算计算复杂性复杂性 形象地说,在多项式时间内可以验证一个解的问题称为NP问题。2.1 计算计算复杂性复杂性 对一个问题,如果所有的NP问题都能归结为它,则称该问题为NP完全问题。2.2 RAM机器机器 RAM(Random Access Machine)机器是介于图灵机与实际数字计算机之间的机器。2.2 RAM机器机器2.2 RAM机器机器n RAM指令集:LOAD opr STORE opr ADD opr SUB

    8、 opr MULT opr DIV oprREAD oprWRITE oprJMP labelJGTZ labelJZERO labelHALT2.2 RAM机器机器n存储器映射:C(i)表示寄存器 Ri 的值n操作数定义:(1)i 表示Ri寄存器的内容,即C(i)(2)*i间接寻址,操作数是Ri 的内容 j=C(i),即其值是C(C(i),若j 0,则位置计数器 bJZERO b 若C(0)=0,则位置计数器 bHALT 停机2.3 RAM程序复杂性分析程序复杂性分析n一致性标准一致性标准:为简化问题求解,定义时间单位、空间单位。假设,每条指令执行需要一个时间单位,即需要时间为1;每个寄存器

    9、占用一个空间单位。2.3 RAM程序复杂性分析程序复杂性分析n 对数标准对数标准:每条指令需要执行的时间和空间与操作数的长度成正比。操作数的长度:l(k)=1当k0 l(k)=lint(log(k)+1,当k0 其中,lint()表示向下取整。2.3 RAM程序复杂性分析程序复杂性分析操作数a Cost(a)i l(i)+l(C(i)*i l(i)+l(C(i)+l(C(C(i)=i l(i)2.3 RAM程序复杂性分析程序复杂性分析n时间复杂性分析:LOAD a:COST(a)STORE i:l(C(0)+l(i)STORE*i:l(C(0)+l(i)+l(c(i)ADD a:l(C(0)+

    10、COST(a)SUB a:l(C(0)+COST(a)MULT a:l(C(0)+COST(a)DIV a:l(C(0)+COST(a)WRITE a:COST(a)写带不用寻址READ i:l(i)READ*i:l(i)+l(C(i)JUMP b:1JGTZ b:l(C(0)+1/*其中1可以忽略*/JZERO b:l(C(0)HALT:1 2.3 RAM程序复杂性分析程序复杂性分析例例:输入X1 X2XiXn0,其中Xi为1或 2,判断1和2出现的个数是否相同?设计思路:读到1则加一,读到2则减一,若结果为0则个数相等。2.3 RAM程序复杂性分析程序复杂性分析程序如下:LOAD=0 (累

    11、加器清零)STORE 2 (差值寄存器2清零)READ 1 (读入第一个数)REPEAT:LOAD 1 (将寄存器1中的数读入累加器中)JZERO END(如果为零,说明输入带已无数据,程序 结束)LOAD 1 (再次将寄存器1中的数读入累加器中)SUB=1 (将读入的数减1,使得1变为0,2变为1)JZERO ONE(如果是零(原数为1),则跳到ONE)LOAD 2 (否则,则将差值寄存器的数读入累加 器)SUB=1 (因为是2,所以差值减1)STORE 2 (将结果传回差值寄存器)JMP NEXT (跳转到NEXT,读入下一个数)ONE:LOAD 2 (读入的数为1,则将差值寄存器的数 读

    12、入累加器)2.3 RAM程序复杂性分析程序复杂性分析 ADD=1 (因为读入的数为1,所以差值加1)STORE 2 (将结果传回差值寄存器)NEXT:READ 1 (读入输入带上的下一个数)JMP REPEAT (跳回REPEAT进行检查)END:LOAD 2 (结束,将差值寄存器的值读入累加器 中)JZERO EQUAL(如果为零,说明1和2的个数相等,跳转 到EQUAL)WRITE=0 (将不相等的结果0写到输出带中)HALT (程序结束,系统停机)EQUAL:WRITE=1 (相等,则输出1到输出带中)HALT (程序结束,系统停机)2.3 RAM程序复杂性分析程序复杂性分析n分析分析:

    13、1、对于一致性标准来说,这个程序一共用了3个寄存器,所以空间复杂度为O(1)。在程序中,其指令共需循环n次,每次为一个时间单位,所以时间复杂度为O(n)。2.3 RAM程序复杂性分析程序复杂性分析2、对于对数标准来说,这个程序中最多要有n个循环,在每次的指令中,空间所需值和操作数的长度成正比,在差值寄存器2中,可能达到的最大值为n(当输入数全部为1时)。另外,累加器中的值最坏情况下也会达到n(当输入数全部为1或2时),所以空间复杂度为O(logn)。而由于每条指令至多需要执行n次,所以该算法的时间复杂度为O(nlogn)。2.3 RAM程序复杂性分析程序复杂性分析n线性算法:对于O(n)这样复杂度的算法,称为线性复杂度算法。n拟线性算法:对于O(nlogn)这样复杂度的算法,称为拟线性复杂度算法。2.3 RAM程序复杂性分析程序复杂性分析(续)n使用不同标准的情况:1、对于字符串演算的算法,即一般的非数值计算,如文档处理、编译系统等,一般采用对数标准来评价,数据长度变化剧烈。2.3 RAM程序复杂性分析程序复杂性分析 2、对于科学计算,如解方程、矩阵等,数据一般采用科学法表示,所以一般采用一致性标准来评价,处理较为简单,并可以认为固定字长。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:计算引论2-计算模型1课件.ppt
    链接地址:https://www.163wenku.com/p-4531700.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库