算法分析与设计2009第8讲【荐】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计2009第8讲【荐】.doc

上次内容: (1)限制技术,局部替换技术,分支技术证明NPC。 (2)划分三角形,多任务排工,区间排工,最小迟序排工,是NPC。 (3)NPC问题子问题是NPC吗?是多项式时间可解的吗,具体问题看。 (4)Sat, 3Sat, 3DM, par, vc, VI, CL, HC, X3C, MC, PIT, Scedule1, Schedule2, Schedule3, (5)SAT问题为NPC问题,SAT问题的子问题3SAT问题也NPC问题。 实例:布尔变量集合U={u1,u2,…,un},其项的集合Ci={c1,c2,…,cm},且每个项ci(1≤i≤m)恰含有2个字母,即|ci|=2。 询问:是否存在U的真值指派t,使项集合C满足。 证明一个问题属于NPC类,需要一个已知NPC问题到该问题的多项式变换,但要想证明一个问题属于P类,则需要找到该问题的多项式时间求解算法。下面我们来考虑2SAT问题复杂性。 定理5.1:2SAT(P。 证明:根据2SAT问题的任意实例构造有向图G=(V,E)。假定布尔变量集合U={u1, u2, …, un},其项的集合C={c1,c2,…,cm},且ci = {xi, yi}(1≤i≤m) V = { u1,…,un,,…,} E = {((yi), ((xi)| ci={xi,yi}(C,xi,yi,,(V,1≤i≤m} 例子: U={x1, x2, x3, y1, y2, y3, z1, z2, z3} C={(,x2), (,x3), (,x1), (,y2), (,y3), (,y1), (,z2), (,z3), (,z1), (,y1), (,z1), (,y2), (,z2), (,y3), (,z3),(,)} 项图为: (,y1), (,z1), (,),(,z2), (,y2), (,x2) 存在一条从u1到的通路,u1赋值1肯定不行。 引理:在2SAT项图中,若存在uj(的通路,则t(uj)≠1。即t(uj)=0才可能使所有项满足。就是只能赋值0。 证明: uj(w1(w2(…(wk(,则在C中必有如下项: (,w1),(,w2),…,(,)。 若uj=1,则必有一个项不能满足。说明一下。 引理:若在2sat项图中,存在路径(uj,则必须t(uj)(1才可能使所有项满足。t(uj)≠0。 证明:设路径为: (z1(z2(…(zl-1(zl(uj,则该路径对应如下项: (uj, z1),(,z2),(,z3),…,(,zl),(,uj),矛盾。 在图G上可以观察到2SAT实例存在可满足真值指派的充分必要条件即:2SAT问题的实例有可满足的真值指派当且仅当其项图G=(V,E)中,顶点uj与(1≤j≤n)不在同一强连通分支内。我们分别用两个表述必要性和充分性。5.1:若存在j, 1(j(n,使顶点uj,在图G的同一个连通分支中,则2SAT实例不存在可满足的真值指派。x2), (,x3), (,x1), (,y2), (,y3), (,y1), (,z2), (,z3), (,z1), (,y1), (,z1), (,y2), (,z2), (,y3), (,z3),(,)} 项图为: 引理5.2:若任意uj,,1(j(n,均不在图G的同一个强连同分支,则存在满足C的真值指。 证明:x({uj,},一个项图顶点为x,则uj赋值t(uj)后,也将x的赋值称为顶点x的赋值,记为t(x)。即若x=uj,则t(x)=t(uj);若x=,则t(x)=t(),另外t(x)=(表示x尚未给出赋值。 相当于有一个项:(,y),当然不能t(x)=T(1), t(y)=F(0) 若一条边(x,y)两个端点的赋值t(x), t(y)为F,F或F,T或T,T,称边(x,y)满足。因此只需要给项图的每个顶点赋值,使所有边均满足,即可使2SAT所有项满足。 性质5.2:设x({uj,},y({uk,}。若存在x到,y到的通路,则不存在到y和到x的通路。 注意:到y和到x的通路,同时存亡 保证放心赋值:t(x)=F(0),t()=T(1)没有问题。 (1)根据有向通路布尔变量赋值: 不在同一个强连同分支中,1(i(n,根据有向通路首先为布尔变量赋值的方法如下。 Assignation1(U,C,G) //U为布尔变量集,C为项集,G为由U和C得到的项图。 1 For i=1 to n do 2 若G存在由 ui到的有向通路,则t(ui)=F。 3 若G存在由到ui的有向通路,则t(ui)=T。 4 End for 为ui赋值图-5.1。 经过(()为布尔变量赋值后,不存在有向边(x,y),使t(x)=T, t(y)=F。(由性质5.2保证) (2)剩余布尔变量的赋值

文档评论(0)

ucut + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档