欢迎来到天天文库
浏览记录
ID:37687131
大小:570.60 KB
页数:38页
时间:2019-05-28
《《NP完整性理论》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第8章NP完全性理论28.1计算模型8.1.1随机存取机RAM8.1.2随机存取存储程序机RASP8.1.3RAM模型的变形与简化8.1.4图灵机8.1.5图灵机模型与RAM模型的关系8.1.6问题变换与计算复杂性归约38.1.1随机存取机RAM1.RAM的结构48.1.1随机存取机RAM2.RAM程序一个RAM程序定义了从输入带到输出带的一个映射。可以对这种映射关系作2种不同的解释。解释一:把RAM程序看成是计算一个函数若一个RAM程序P总是从输入带前n个方格中读入n个整数x1,x2,…,xn,并且在输出带的第一个方格上输出一个整数y后停机,那么就说程序P计算了函数f(x1,x2
2、,…,xn)=y解释二:把RAM程序当作一个语言接受器。将字符串S=a1a2…an放在输入带上。在输入带的第一个方格中放入符号a1,第二个方格中放入符号a2,…,第n个方格中放入符号an。然后在第n+1个方格中放入0,作为输入串的结束标志符。如果一个RAM程序P读了字符串S及结束标志符0后,在输出带的第一格输出一个1并停机,就说程序P接受字符串S。58.1.1随机存取机RAM3.RAM程序的耗费标准标准一:均匀耗费标准在均匀耗费标准下,每条RAM指令需要一个单位时间;每个寄存器占用一个单位空间。以后除特别注明,RAM程序的复杂性将按照均匀耗费标准衡量。标准二:对数耗费标准对数耗费标准
3、是基于这样的假定,即执行一条指令的耗费与以二进制表示的指令的操作数长度成比例。在RAM计算模型下,假定一个寄存器可存放一个任意大小的整数。因此若设l(i)是整数i所占的二进制位数,则68.1.2随机存取存储程序机RASP1.RASP的结构RASP的整体结构类似于RAM,所不同的是RASP的程序是存储在寄存器中的。每条RASP指令占据2个连续的寄存器。第一个寄存器存放操作码的编码,第二个寄存器存放地址。RASP指令用整数进行编码。2.RASP程序的复杂性不管是在均匀耗费标准下,还是在对数耗费标准下,RAM程序和RASP程序的复杂性只差一个常数因子。在一个计算模型下T(n)时间内完成的输
4、入-输出映射可在另一个计算模型下模拟,并在kT(n)时间内完成。其中k是一个常数因子。空间复杂性的情况也是类似的。78.1.3RAM模型的变形与简化1.实随机存取机RRAM在RRAM模型下,一个存储单元可以存放一个实数。下列的各运算为基本运算且每个运算只耗费单位时间。(1)算术运算+,-,×,/。(2)2个实数间的比较(<,≤,=,≠,≥,>)。(3)间接寻址(整数地址)。(4)常见函数的计算,如三角函数,指数函数,对数函数等。优点:能够方便处理实数;适合于用FORTRAN,PASCAL等高级语言写的算法。88.1.3RAM模型的变形与简化2.直线式程序对于许多问题,所设计的RAM程
5、序中的转移指令仅用于重复一组指令,而且重复的次数与问题的输入规模n成比例。在这种情况下,可以用重复地写出相同指令组的方法来消除程序中的循环。由此,对每一个固定的n得到一个无循环的直线式程序。经过对RAM模型的简化,得到直线式程序的指令系统如下:x←y+zx←y-zx←y*zx←y/zx←i其中x,y和z是符号地址(或变量),而i是常数。每条指令耗费一个单位时间。98.1.3RAM模型的变形与简化3.位式计算直线式程序计算模型显然是基于均匀耗费标准的。在对数耗费标准下,使用另一个RAM的简化计算模型,称之为位式计算(BitwiseComputation)模型。除了下列2点外,该计算模型
6、与直线式程序计算模型基本相同:(1)假设所有变量取值0或1,即为位变量。(2)所用的运算是逻辑运算而不是算术运算。用∧代表与,∨代表或,代表异或,代表非。在位式计算模型下,每个逻辑运算指令耗费一个单位时间。108.1.3RAM模型的变形与简化4.位向量运算(BitVectorOperations)若在直线式程序计算模型中,假设所有变量均为位向量,而且所用的运算均为位操作指令,则得到位向量运算计算模型。例如,要表示一个有100个顶点的图中从顶点v到其余各顶点间有没有边相连,可以用100位的一个位向量表示。若顶点v到顶点vj之间有边相连,则该位向量的第j位为1,否则为0。缺点:所需的
7、机器字长要远大于其他模型。118.1.3RAM模型的变形与简化5.判定树判定树是一棵二叉树。它的每个内结点表示一个形如x∶y的比较。指向该结点左儿子的边相应于x≤y,标号为≤。指向该结点右儿子的边相应于x>y,标号为>。每一次比较耗费一个单位时间。下图是对a,b,c三个数进行排序的一棵判定树。在判定树模型下,算法的时间复杂性可用判定树的高度衡量。最大的比较次数是从根到叶的最长路径的长度。128.1.3RAM模型的变形与简化6.代数计算树ACT以x=(x1,
此文档下载收益归作者所有