计算理论NP完全性_第1页
计算理论NP完全性_第2页
计算理论NP完全性_第3页
计算理论NP完全性_第4页
计算理论NP完全性_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第7章NP完全性杨莹冷芳玲第7章NP完全性7.1NP完全性定义7.2NP完全问题7.3NP完全性的计算讨论237.1NP完全性定义7-1

语言L是NP完全的,若它满足下面两个条件:(1)L∈NP;(2)NP中的每个LA都多项式时间可归约为L。7.2NP完全问题定理7-19[库克—列文定理]

可满足问题SAT是NP完全的。证明:NP中的每一个语言都可以多项式时间归约到SAT。从NP中任取一个语言L,设MN={Q,Σ,Γ,δ,q0,B,F}是nk多项式时间内判定L的非确定型图灵机,其中k是常数。对于MN的任意输入w,在多式时间内构造公式

Φ,使得w∈L

Φ∈SAT。47.2NP完全问题设f是由w到Φ的归约,下面开始描述归约f。

考虑MN在w上的执行过程。定义MN在w上的画面是一张nknk表格,其中行代表MN在输入上的一个计算分支的瞬时描述。并约定每一个ID都以“#”开始和结束。当然画面的第一行是初始ID,每一行都根据MN的转移函数从上一行得到,如果画面的某一行是接受ID,则称该画面是接受的。57.2NP完全问题我们把画面nknk个的格子中每一格称为一个单元。第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。67.2NP完全问题77.2NP完全问题现在设计公式Φ

,使得变量的一个满足赋值确实对应MN在w上的一个接受画面。为此要满足以下4点:每个单元只能包含一个符号;第一行为初始ID存在接受ID表的每一行都对应于从上一行的ID、按照MN的规则、合法转移得到ID。87.2NP完全问题97.2NP完全问题7.2NP完全问题c1c2c3c4c5c611现在证明上面由w到Φ的映射可以在多项式内完成。画面是一个nknk的表格,所以它包含n2k个单元,每个单元有与它相关的l个变量,l=|C|,因为l只依赖于MN,所以变量的总数是O(n2k)。7.2NP完全问题对画面的每个单元,公式

Фcell包含固定长度的公式片段,故长度为O(n2k),

Фstart对顶行的每个单元包含一个片段,所以长度为O(nk),

Фmove和

Фaccept对画面的每个单元包含固定长度的公式片段,所以它们的长度为O(n2k),于是

Ф总长度为O(n2k),因此可在多项式时间内从w生成Ф

,所以,SAT是NP完全问题。█127.2NP完全问题3SAT问题:将布尔变量或其非称为文字,将由三个文字构成的子句组成的合取范式推论7-33SAT是NP完全的。证明:证明SAT多项式时间归约到3SAT。137.2NP完全问题

NodeCover问题:若G是无向图,k是一整数,则G的顶点覆盖问题是否存在最小的一个节点子集M,使得|M|≤k,且G的每条边都与子集M的节点之一关联。注意顶点覆盖问题要求最小的顶点覆盖规模。147.2NP完全问题顶点覆盖问题(NodeCover)是NP完全的我们可以给出一个3SAT到这个问题的多项式时间内运算的归约,即把布尔公式Φ

映射为<G,k>,其中G是一个图,k是一个正数,表示G的顶点覆盖子集的节点数。为此,(1)对于Φ

中的每个布尔变元x对应G的一条边,边的两个顶点记为x和¬x。当x赋值为TRUE时,表示对应的覆盖选择x;当x赋值为FALSE时,表示对应的覆盖选择¬x。157.2NP完全问题(2)Φ子句中的三个文字对应于G的三个节点,这三节点相互连接,并分别于(1)中具有相同标记的节点相连。167.2NP完全问题易见,3SAT可多项式时间归约为顶点覆盖问题。不难证明

Φ可满足当且仅当G中有k=m+2l个节点的顶点覆盖,其中m是Φ

的变元数,l是Φ子句数。177.2NP完全问题对于一个满足赋值,(1)把变量构件中真文字节点放入M中,(2)把子句中,除为真的文字外的另两个文字加入M中。可见M中G的一个覆盖。187.2NP完全问题对于G的覆盖M,把M中的文字置为真。因为M中包含每个变量构件的一个节点和子句构件的两个节点,所以这个赋值满点3SAT。197.2NP完全问题Clique(团)是图的一个子图,其中任何两点都有边相连。K-Clique问题:给定<G,k>,G是无向图,G中包含至少k节点的团吗?k-Clique是NP完全的证明:(1)k-Clique是NP问题(2)3SAT≤pk-Clique207.2NP完全问题设Φ

是3SAT公式,子句数是k,则G中的节点分成k组,每组三个节点,称为三元组,每个三元组对应Φ中的一个子句。G中的边定义为:不同三元组的节点,若不是相反文字,则两两相连;三元组内节点间无边。可见(1)Φ有一可满足赋值,G存在一个k-团;(2)G存在一个k-团,Φ可满足。217.2NP完全问题SUBSET-SUM(子集和)问题:有一个数集x1,x2,…,xk和一个目标数t,要判定数集是否包含一个加起来等于t的子集。子集和问题是NP完全的(1)子集和问题属于NP类(2)3SAT≤pSUBSET-SUM227.2NP完全问题HAMPATH(Hamilton路)问题也是NP完全的。(1)HAMPATH问题属于NP类;(2)3SAT≤pHAMPATH。从Φ构造图G:把变量xi表示为钻石结构,把子句ci

表示为节点。237.2NP完全问题每个钻石结构都包含一行水平节点,它们由双向边连接起来。247.2NP完全问题如果变量xi出现在子句cj中,就把图中两条从第i个钻石的第j对节点到第j个子句节点的边添加进去。如果变量¬xi出现在子句cj中,就把图中两条从第i个钻石的第j对节点到第j个子句节点的边添加进去。257.2NP完全问题HittingSet问题:给定集合A的子集的集合C和整数k,A是否有一个子集A’,|A’|=k,且对于C中的任意元素(A的子集),A’至少

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论