ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:62.74KB ,
资源ID:2864591      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2864591.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法分析与设计第4讲.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法分析与设计第4讲.docx

1、算法分析与设计第4讲上次内容:(1)确定图灵机与P类,DTM多项式时间可解的-P类(2)非确定图灵机与NP类,NTM多项式时间可解的-NP类-多项式时间可验证的。注意:在定义时空复杂性时,我们只关心NTM程序计算回答为Yes的实例的时空复杂性。回答否的实例不关心。下面逐渐解释。Rabin与Scott两个人最先在IBM做的工作。(3)多项式变换与NP,上次讲到什么是多项式变换。多项式变换的含义: 1=;2= 变换f:1*2*,IL1,f(I)L2,1(I)=2(f(I) f变换可以在p(|I|=n)时间内计算完成。则f称为由1到2的多项式规约。(1)非确定型图灵机与验证机还是不同的,多项式时间可

2、验证的问题被定义为NP问题。(2)但是有一个结论:一个问题是NP问题,当且仅当它是非确定型图灵机多项式时间可计算的。(3) Rabin与Scott两个人最先在IBM做的工作。定义了非确定型图灵机,也就有了非确定型计算。非确定图灵机的时间复杂性难定义。只关心回答Yes的实例的时间就好说了。NP问题的定义,一个问题是多项式时间可验证的含义,一个实例若回答是,当然能猜出来,所以能正确回答yes。NP问题可以认为若实例回答是,则存在不确定多项式时间算法正确回答的问题类。*在定义NP问题时,只关心问题的那些回答Yes的实例。回答No的实例不关心。若对回答Yes的问题实例,存在NTM程序能够多项式时间回答

3、是,则这个问题就是NP类。*用不着关心那些回答No的实例。若1可以多项式归约到2,则若2存在多项式算法,则1也有多项式算法。前面的多项式规约进一步修改如下:认为与前面的定义等价。 1=;2= 变换f: ,IL1,f(I)L2,1(I)=Yes2(f(I)=Yes,充分必要的。IY1f(I)Y2。不关心回答No的实例。实际前面NTM定义中就只关心回答Yes的实例。与猜测能力有关。如果定义猜测能力过于复杂,能力就太大了。P问题可以在多项式时间回答是或否。实际上,只定义那些回答Yes的实例能够多项式式时间验证就足以达到我们所要求的目的。 f变换可以在p(|I|=n)时间内计算完成。*不关心回答no的

4、实例。以后证明都用此定义。再解释非确定Turing机:规定(1)猜测部件把解写在从-1开始向左的存储带上。最多写输入长度的多项式个方格。(2)我们自己编写的验证程序直接使用猜测解带方格中的内容,没写直接用。(3)实际这不是最早的非确定型图灵机。若有一个特殊问题,任意一个NP问题均可多项式规约到该问题,则该问题非常特殊。严格定义时,要求是NP类问题。这样的问题成为NP-Complete,若NP-Complete问题可以多项式时间解决,则其他所有NP问题都可以在多项式时间解决。 首先要搞清楚,现在我们研究的问题是多项式时间可验证的问题类,最后只需要回答是和否即可以。 有很多问题不是多项式时间可验证

5、的,那个留到以后再说。因此也不是NPC的。这就是为什么只研究判定问题了。 判定问题绝大多数都是多项式时间可验证的。多项式变换的符号:引理3.1:若12,2P,则1P。是为什么?注意一点,当多项式可解时,否的实例也能在多项式时间回答。引理3.2:12,23,则13定义3.10:12,21,则称1和2多项式等价。定义3.11:NP,1NP,1,则称是NP-Complete的。NP-完全的。其他人有很多叫法。简称NPC问题。若是NPC问题,有多项式时间算法,则任意NP问题都有多项式时间求解算法。定理3.12:若有, NPC,则下述(1)(2)等价。(1)PNP;(2) P,即:PNP P若1NPC,

6、2NP,12,则2NPC这是最重要的一个定理。只要有了一个NPC,其他问题也可以证明NPC了。下面的问题是寻找第一个NPC问题。3.5Cook定理任意一个NP问题都有一个多项式时间验证程序唯一代表改问题。验证结果回答Yes 或No。SAT的例子:Y = (u1u5)(u2u3)(u4u5)(u1)是否存在真值指派使Y = 1。Instance:U=u1,u2,u3,u4,u5,C=C1,C2,C3,C4Query:If there is assignation of U such that every clause of C is satisefied.定理3.4:SAT NPC。证明:(1)

7、SATNP,首先要验证这个。不验证不能说明是NPC。*不属于NP是否属于NPC?,不属于。(2)将任意一个NP问题多项式规约到sat。每个NP问题有一个对应一个NTM的多项式时间验证程序。该验证程序最后回答Yes或No。但是我们只关心回答Yes的NP问题实例。任意一个NP问题的实例放在NTM存储带上,若回答yes,NTM程序多项式时间步验证给出正确回答。把求解任意一个NP问题的NTM规约到sat。设NTM描述为:描述问题需要符号集 =s1,s2,sm=s1, s2, , sm, si=si Q=q0,q1=qy,q2=qn,q3,qr (qi,si)=(qi,si,i),变化规则早已确定了,就

8、是程序。 P(n):M接受输入I,|I| = n,按照计算,对于猜测的解,经过不超过P(n)步计算,到达停机态,P(n)是n的多项式函数。每个实例都存放在读写带上了,要把这个实例变成SAT的实例。实例为:sk1, sk2, , skn。怎样把这个实例变成SAT实例?这个实例回答Yes变成的SAT实例也回答Yes。要借助别的东西,借助验证程序。可以形式化地描述验证程序,(qi, si)(, , i)Q ss0s1sm-1smq1qrNTM执行程序的每一步状态都可以用SAT布尔变量表示。开始规约:变量描述求解过程,项约束求解中程序遵循的规则。1定义三种变量描述NTM的求解状态,(1)Qi,k:描述

9、状态,0iP(n),0kr,在时刻i,M处于状态qk,(r+1)(P(n)+1)个这样的变量。(2)Hi,j:描述读写头位置,0iP(n),-P(n)jP(n),在时刻i,M读写头正扫描带方格j。(2P(n)+1)(P(n)+1)个变量。(3)Si,j,L:描述带方格内容,0iP(n),-P(n)jP(n),0Lm,在i时刻带方格j中的内容为符号sL,(m+1)(2P(n)+1)(P(n)+1)。解释:从0到p(n)每一个时刻的Turing机状态,读写头位置,读写带上的符号。2NTM程序接受判定问题的实例I,M运行中应遵循下述规则。G1在时刻i,M确切处在一个状态,q0,qrG2在时刻i, 读

10、写头确切地扫描一个带方格。G3在时刻i,每个带方格确切地含有一个符号,中的。G4在时刻0,对于输入I,计算处于验证阶段的起始状态。G5在时刻P(n),M处于qy状态,接受I。G6转换函数决定i时刻到i+1时刻的状态变化。G1中的项如下构成:(1)Qi,0,Qi,1,Qi,r,0iP(n)(2), ,0iP(n),0jjr(1)的个数:P(n)+1(2)的个数:(P(n)+1) G2的构成如下:(1)Hi,-P(n),Hi,-P(n)+1,Hi,0,Hi,P(n)0iP(n)读写头位于上述位置。至少一个为真的。但不能量个同时为真。(2), ,0iP(n),-P(n)jjP(n)读写头不能同时指向

11、两个带方格,所以综合(1)(2),每个时刻,读写头总指向固定一个带方格。(1)的个数:P(n)+1(2)的个数:(P(n)+1) G3的构成:(1)Si,j,0,Si,j,1,Si,j,m,0iP(n),-P(n)jP(n)i时刻,j号带方格中的内容可能是s1,sm(2), ,0iP(n),-P(n)jP(n),0kkm一个时刻一个方格中不可能含有两个符号。(1)的个数:(P(n)+1)(2P(n)+1)。(2)的个数:(P(n)+1)(2P(n)+1) G4的构成:Q0,0:0时刻状态为q0H0,0:0时刻读写头位于0号带方格S0,0,k0,S0,1,k1,S0,n,knS0,n+1,0,S

12、0,n+2,0,S0,P(n),00时刻带方格中的内容分别为:sk0,sk1,skn。其他带方格中是什么内容?G5:QP(n),1,时刻P(n)的NTM状态为qy=q1。接受状态。G6=G61G62,两个子项G61:保证在时刻i,若读写头不扫描带方格j,则在时刻i+1,j带方格的内容与i时刻j带方格的内容相同。,Hi,j,Si+1,j,L,0iP(n),-P(n)jP(n),0LmG61的个数:(P(n)+1)(2P(n)+1)(m+1)G61:当NTM程序从一个状态转到另一个状态时,状态变化,读写头移动,符号改变遵从函数。(qk,sL)=()(1), , ,Hi+1,j+i时刻的状态为qk,

13、读写头位置为j,j方格中的符号为sL则读写头移动为。 0iP(n),-P(n)jP(n),0kr,0Lm所以(1)的clause个数是:(P(n)+1)(2P(n)+1)(r+1)(m+1)(2), ,,Qi+1,k0iP(n),-P(n) j P(n),0kr,0 L m。所以(2)的clause个数是:(P(n)+1)(2P(n)+1)(r+1)(m+1)(3), ,,Si+1,j,L0iP(n),-P(n)jP(n),0kr,0Lm(3)的个数也不超过:(P(n)+1)(2P(n)+1)(r+1)(m+1) 上面是规约,首先说明这个规约是多项式规约,G1,G2,G3,G4,G5,G6都是

14、多项式个clause,因此是多项式规约。 下面说明规约后的计算情况:若任意问题的实例I回答yes,则NTM程序最后停机在qy,此时必存在一个sat变量的真值指派使每个项均满足。若sat实例存在真值指派使每个项均满足,则最后NTM会停机在yes态,相应问题的实例回答yes。这就证明了第一个NP-complete问题。再说明:*为什么SAT能多项式时间可解,则NTM就不用猜测解了。*s0,-1,s1,s0,-1,s2,s0,-1,sm,* s0,-2,s1,s0,-2,s2,s0,-2,sm* s0,-P(n),s1,s0,-P(n),s2,s0,-P(n),sm*0时刻的内容,由SAT实例计算出来。Cook想了一个办法说明问题难度,任意一个NP问题都可以多项时间规约到SAT问题,即若SAT问题能够多项式时间解决,则其他所有NP问题都能多项时间解决。正确回答是和否。若1NPC,2NP,12,则2NPC。已知satNP

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1