网站大量收购独家精品文档,联系QQ:2885784924

计算理论第7章.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算理论第7章

7.2 NP完全问题 * * * * * 第7章 NP完全性 杨莹 冷芳玲 第7章 NP完全性 7.1 NP完全性定义 7.2 NP完全问题 7.3 NP完全性的计算讨论 * * 7.1 NP完全性 定义7-1 语言L是NP完全的,若它满足下面两个条件: (1)L∈NP; (2)NP中的每个LA都多项式时间可归约为L。 7.2 NP完全问题 定理7-19 [库克—列文定理] 可满足问题SAT是NP完全的。 证明:NP中的每一个语言都可以多项式时间归约到SAT。从NP中任取一个语言L,设MN={Q, Σ,Γ,δ, q0,B,F}是nk多项式时间内判定L的非确定型图灵机,其中k是常数。对于MN的任意输入w,在多式时间内构造公式 Φ,使得w∈L ? Φ∈SAT。 * 7.2 NP完全问题 设f是由w到Φ的归约,下面开始描述归约f。 考虑MN在w上的执行过程。定义MN在w上的画面是一张nk?nk表格,其中行代表MN在输入上的一个计算分支的瞬时描述。并约定每一个ID都以“#”开始和结束。当然画面的第一行是初始ID,每一行都根据MN的转移函数从上一行得到,如果画面的某一行是接受ID,则称该画面是接受的。 * 7.2 NP完全问题 我们把画面nk?nk个的格子中每一格称为一个单元。第i行第j列的单元称为cell[i,j],它应包含C=Q ∪ {#}中的一个符号。定义变量xi,j,s(1≤i≤nk,1≤j≤nk,s∈C)表示单元中的内容。xi,j,s=1,意味着cell[i,j]包含s。 * 7.2 NP完全问题 * 7.2 NP完全问题 现在设计公式Φ ,使得变量的一个满足赋值确实对应MN在w上的一个接受画面。为此要满足以下4点: 每个单元只能包含一个符号; 第一行为初始ID 存在接受ID 表的每一行都对应于从上一行的ID、按照MN的规则、合法转移得到ID。 * 7.2 NP完全问题 * 7.2 NP完全问题 c1 c2 c3 c4 c5 c6 * 现在证明上面由w到Φ的映射可以在多项式内完成。画面是一个nk?nk的表格,所以它包含n2k个单元,每个单元有与它相关的l个变量,l=|C|,因为l只依赖于MN,所以变量的总数是O(n2k)。 7.2 NP完全问题 对画面的每个单元,公式 Фcell包含固定长度的公式片段,故长度为O(n2k), Ф start对顶行的每个单元包含一个片段,所以长度为O(nk), Ф move和 Ф accept对画面的每个单元包含固定长度的公式片段,所以它们的长度为O(n2k),于是 Ф总长度为O(n2k),因此可在多项式时间内从w生成Ф ,所以,SAT是NP完全问题。█ * 3SAT问题:将布尔变量或其非称为文字,将由三个文字构成的子句组成的合取范式 推论7-3 3SAT是NP完全的。 证明:证明SAT多项式时间归约到3SAT。 * 7.2 NP完全问题 Node Cover问题:若G是无向图,k是一整数,则G的顶点覆盖问题是否存在最小的一个节点子集M,使得|M|≤k,且G的每条边都与子集M的节点之一关联。 注意顶点覆盖问题要求最小的顶点覆盖规模。 * 7.2 NP完全问题 7.2 NP完全问题 顶点覆盖问题(Node Cover)是NP完全的 我们可以给出一个3SAT到这个问题的多项式时间内运算的归约,即把布尔公式Φ 映射为G,k,其中G是一个图,k是一个正数,表示G的顶点覆盖子集的节点数。为此, (1)对于Φ 中的每个布尔变元x对应G的一条边,边的两个顶点记为x和?x 。当x赋值为TRUE时,表示对应的覆盖选择x;当x赋值为FALSE时,表示对应的覆盖选择?x 。 * 7.2 NP完全问题 (2)Φ子句中的三个文字对应于G的三个节点,这三节点相互连接,并分别于(1)中具有相同标记的节点相连。 * 7.2 NP完全问题 易见,3SAT可多项式时间归约为顶点覆盖问题。 不难证明 Φ可满足当且仅当G中有k=m+2l个节点的顶点覆盖,其中m 是Φ 的变元数,l 是Φ子句数。 * 7.2 NP完全问题 对于一个满足赋值, (1)把变量构件中真文字节点放入M中, (2)把子句中,除为真的文字外的另两个文字加入M中。 可见M中G的一个覆盖。 * 7.2 NP完全问题 对于G的覆盖M, 把M中的文字置为真。因为 M中包含每个变量构件的一个节点和子句构件的两个节点,所以这个赋值满点3SAT。 * 7.2 NP完全问题 Clique(团)是图的一个子图,其中任何两点都有边相连。 K-Clique问题:给定G,k,G是无向图,G中包含至少k节点的团吗? k-Clique是NP完全的 证明: (1)k-Clique是NP问题 (2)3SAT ≤p k-Clique * 7.2 NP完全问题 设Φ

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档