第8章NP完全性理论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第8章NP完全性理论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NP 完全性 理论 课件
- 资源描述:
-
1、1第8章NP完全性理论28.1 计算模型 8.1.1 随机存取机RAM 8.1.2 随机存取存储程序机RASP 8.1.3 图灵机 8.1.4 图灵机模型与RAM模型的关系 8.1.5 问题变换与计算复杂性归约38.1.1 随机存取机RAM1. RAMRAM的结构的结构48.1.1 随机存取机RAM2. RAMRAM程序程序 一个RAM程序定义了从输入带到输出带的一个映射。可以对这种映射关系作2种不同的解释。解释一:把解释一:把RAMRAM程序看成是计算一个函数程序看成是计算一个函数若一个RAM程序P总是从输入带前n个方格中读入n个整数x1,x2,xn,并且在输出带的第一个方格上输出一个整数y
2、后停机,那么就说程序P计算了函数f(xf(x1 1,x x2 2,x xn n)=y )=y 解释二:把解释二:把RAMRAM程序当作一个语言接受器。程序当作一个语言接受器。将字符串S=a1a2an放在输入带上。在输入带的第一个方格中放入符号a1,第二个方格中放入符号a2,第n个方格中放入符号an。然后在第n+1个方格中放入0,作为输入串的结束标志符。如果一个RAM程序P读了字符串S及结束标志符0后,在输出带的第一格输出一个1并停机,就说程序P接受字符串S。 58.1.1 随机存取机RAM3. RAMRAM程序的耗费标准程序的耗费标准标准一:均匀耗费标准标准一:均匀耗费标准在均匀耗费标准下,每
3、条RAM指令需要一个单位时间;每个寄存器占用一个单位空间。以后除特别注明,RAM程序的复杂性将按照均匀耗费标准衡量。 标准二:对数耗费标准标准二:对数耗费标准对数耗费标准是基于这样的假定,即执行一条指令的耗费与以二进制表示的指令的操作数长度成比例。在RAM计算模型下,假定一个寄存器可存放一个任意大小的整数。68.1.2 随机存取存储程序机RASP1. RASPRASP的结构的结构RASP的整体结构类似于RAM,所不同的是RASP的程序是存储在寄存器中的。每条RASP指令占据2个连续的寄存器。第一个寄存器存放操作码的编码,第二个寄存器存放地址。RASP指令用整数进行编码。2. RASPRASP程
4、序的复杂性程序的复杂性不管是在均匀耗费标准下,还是在对数耗费标准下,RAM程序和RASP程序的复杂性只差一个常数因子。在一个计算模型下T(n)时间内完成的输入-输出映射可在另一个计算模型下模拟,并在kT(n)时间内完成。其中k是一个常数因子。空间复杂性的情况也是类似的。 78.3 图灵机1. 多带图灵机多带图灵机88.1.3 图灵机1. 多带图灵机多带图灵机 根据有限状态控制器的当前状态及每个读写头读到的带符号,图灵机的一个计算步可实现下面3个操作之一或全部。 (1)改变有限状态控制器中的状态。 (2)清除当前读写头下的方格中原有带符号并写上新的带符号。 (3)独立地将任何一个或所有读写头,向
5、左移动一个方格(L)或向右移动一个方格(R)或停在当前单元不动(S)。 k带图灵机可形式化地描述为一个7元组(Q,T,I,b,q0,qf),其中:(1)Q是有限个状态的集合。 (2)T是有限个带符号的集合。(3)I是输入符号的集合,IT. (4)b是惟一的空白符,bT-I。(5)q0是初始状态。 (6)qf是终止(或接受)状态。(7)是移动函数。它是从QTk的某一子集映射到Q(TL,R,S)k的函数。 98.1.3 图灵机1. 多带图灵机多带图灵机图灵机M的时间复杂性T(n)是它处理所有长度为n的输入所需的最大计算步数。如果对某个长度为n的输入,图灵机不停机,T(n)对这个n值无定义。 图灵机
6、的空间复杂性S(n)是它处理所有长度为n的输入时,在k条带上所使用过的方格数的总和。如果某个读写头无限地向右移动而不停机,S(n)也无定义。 与RAM模型类似,图灵机既可作为语言接受器,也可作为计算函数的装置。 108.1.4 图灵机模型与RAM模型的关系图灵机模型与RAM模型的关系是指同一问题在这2种不同计算模型下的复杂性之间的关系。 定理定理8-3 8-3 对于问题P的任何长度为n的输入,设求解问题P的算法A在k带图灵机模型TM下的时间复杂性为 ,那么,算法A在RAM模型下的时间复杂性为 。)(nT)(2nTO定理定理8-4 8-4 对于问题P的任何长度为n的输入,设求解问题P的算法A在R
7、AM模型下,不含有乘法和除法指令,且按对数耗费标准其时间复杂性为 ,那么,算法A在k带图灵机模型TM下的时间复杂性为 。 )(nT)(2nTO118.1.5 问题变换与计算复杂性归约具体地说,假设有2个问题A和B,将问题问题A A变换为问题变换为问题B B是指:(1)将问题A的输入变换为问题B的适当输入。(2)解出问题B。(3)把问题B的输出变换为问题A的正确解。若用O(n)时间能完成上述变换的第(1)步和第(3)步,则称问题A是(n)时间可变换到问题B,且简记为AA(n)(n)B B。其中的n通常为问题A的规模(大小)。当(n)为n的多项式时,称问题A可在多项式时间内变换为问题B。特别地,当
8、(n)为n的线性函数时,称问题A可线性地变换为问题B。 通过问题变换的技巧,可以将2个不同问题的计算复杂性联系在一起。这样就可以将一个问题的计算复杂性归结为另一个问题的计算复杂性,从而实现问题的计算复杂性归约。128.1.5 问题变换与计算复杂性归约命题命题1(1(计算时间下界归约计算时间下界归约) ):若已知问题A的计算时间下界为T(n),且问题A是(n)可变换到问题B,即A(n)B,则T(n)-O(n)为问题B的一个计算时间下界。命题命题2(2(计算时间上界归约计算时间上界归约) ):若已知问题B的计算时间上界为T(n),且问题A是(n)可变换到问题B,即A(n)B,则T(n)+O(n)是
9、问题A的一个计算时间上界。 问题的变换与问题的计算复杂性归约的关系:在命题1和命题2中,当(n)=o(T(n)时,问题A的下界归约为问题B的下界,问题B的上界归约为问题A的上界。 138.2 P类与NP类问题 8.2.1 非确定性图灵机 8.2.2 P类与NP类语言 8.2.3 多项式时间验证148.2.1 非确定性图灵机 非确定性图灵机非确定性图灵机( NDTM NDTM ):一个k带的非确定性图灵机M是一个7元组:(Q,T,I,b,q0,qf)。与确定性图灵机不同的是非确定性图灵机允许移动函数具有不确定性具有不确定性,即对于QTk中的每一个值(q;x1,x2,xk),当它属于的定义域时,Q
10、(TL,R,S)k中有惟一的一个子集子集(q;x1,x2,xk)与之对应。可以在(q;x1,x2,xk)中随意选定一个值作为它的函数值。 在图灵机计算模型中,移动函数是单值的是单值的,即对于QTk中的每一个值,当它属于的定义域时,Q(TL,R,S)k中只有惟一的值与之对应,称这种图灵机为确定性图灵机确定性图灵机,简记为DTMDTM(Deterministic Turing Machine)。 158.2.2 P类与NP类语言 P类和NP类语言的定义: P=L|L是一个能在多项式时间内多项式时间内被一台DTMDTM所接受的语言 NP=L|L是一个能在多项式时间多项式时间内被一台NDTMNDTM所
展开阅读全文