NP完全问题证明1

合集下载

第十章 NP完全问题

第十章  NP完全问题

第十章 NP 完全问题10.1 引言首先说明一下问题的复杂性和算法的复杂性的区别,下面只考虑时间复杂性。

算法的复杂性是指解决问题的一个具体的算法的执行时 间,这是算法的性质;问题的复杂性是指这个问题本身的复杂程度,是问题的性质。

比如对于排序问题,如果我们只能通过元素间的相互比较来确定元素间的相互位置,而没有其他的附加可用信息,则排序问题的复杂性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情况下是O(nlgn)等等,排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。

问题的复杂性不可能通过枚举各种可能算法来得到,一般都是预先估计一个值,然后从理论上证明。

如果∏是任意一个问题,对∏存在着一个算法,他的时间复杂度是)(k n O ,其中n 是输入规模,k 是非负整数,则认为存在一个解问题∏的多项式时间算法。

多项式时间算法是一个有效算法。

把存在多项式时间算法的问题,称为易解决问题;把时间复杂度是以指数函数或排列时间算法的问题,称为难解问题。

为什么用多项式作为划分的标准呢?1) 对于使用的多项式算法来说,多项式的次数很少大于三;2) 多项式时间可解问题类具有很好的封闭性。

即加、减、组合等运算封闭;3) 对很多合理的计算模型来说,在一个模型上用多项式时间可解的问题,在另一个模型上也可以在多项式时间内获得解决。

有两类问题:一类是判定问题,另一类是优化问题。

判定问题的只牵涉到两种情况:yes 或no。

优化问题则牵涉到极值问题(最大化或最小化)。

判定问题很容易转换为优化问题。

为了研究问题的复杂性,我们必须将问题抽象,为了简化问题,我们只考虑一类简单的问题,判定性问题,即提出一个问题,只需要回答yes或者no的问题。

任何一般的最优化问题都可以转化为一系列判定性问题,比如求图中从A到B的最短路径,可以转化成:从A到B是否有长度为1的路径?从A到B是否有长度为2的路径?…从A 到B是否有长度为k的路径?如果问到了k的时候回答了yes,则停止发问,我们可以说从A到B的最短路径就是k。

np问题的字面解释 非确定型多项式完全问题

np问题的字面解释 非确定型多项式完全问题

NP问题的字面解释非确定型多项式完全问题一、背景介绍1. NP问题的概念NP问题是计算机科学和数学领域中一个重要的概念,即“非确定性多项式时间”(Non-deterministic Polynomial time),它代表了一类能在多项式时间内被验证的问题。

这类问题的解决方案虽然不能在多项式时间内被找到,但一旦有了一个解,却能够在多项式时间内被验证。

简而言之,如果一个问题可以在多项式时间内被验证,则它是一个NP问题。

2. 多项式完全问题的概念多项式完全问题是一类特殊的NP问题,它具有以下两个性质:它是一个NP问题;任何一个NP问题都可以在多项式时间内规约到它。

也就是说,如果有一个多项式时间算法能够解决任何一个多项式完全问题,那么就能够解决所有的NP问题。

3. 非确定型多项式完全问题非确定型多项式完全问题是NP问题中最困难的一类问题,它要求在多项式时间内验证一个解的存在,并且这个验证需要非确定性算法。

换言之,虽然这类问题的解可以在多项式时间内被验证,但却无法在多项式时间内被求解。

非确定型多项式完全问题是计算理论中一个极具挑战性的问题。

二、定义和性质1. 非确定型多项式完全问题的定义非确定型多项式完全问题是指一个问题,如果它是一个NP问题,并且任何一个NP问题都可以在多项式时间内归约到它,那么它就是一个非确定型多项式完全问题。

每一个非确定型多项式完全问题都是NP 问题,但不是所有的NP问题都是非确定型多项式完全问题。

2. 非确定型多项式完全问题的性质非确定型多项式完全问题具有以下一些重要性质:(1)困难性:非确定型多项式完全问题是计算上的一类最困难问题,它们无法在多项式时间内被求解。

(2)通用性:任何一个NP问题都可以在多项式时间内归约到非确定型多项式完全问题,因此解决了一个非确定型多项式完全问题就意味着可以解决所有的NP问题。

(3)实际意义:非确定型多项式完全问题在实际生活中具有广泛的应用,例如在计划问题、调度问题、网络设计等方面都有重要的地位。

如何用整数规划求解NP完全问题

如何用整数规划求解NP完全问题

如何⽤整数规划求解NP完全问题如何⽤整数规划求解NP完全问题⼀、NP完全问题NP完全问题是⼀类具有⾮常⾼难度的组合最优化问题,所有NP完全问题都是NP难问题。

虽然P问题是⽐较容易的问题,NP问题却不⼀定是困难问题,必须看见NP完全或者NP难这样的字才能说这个问题求解起来很困难。

经常听砖家说,NP完全/NP难问题不能⽤整数规划求解。

实际情况怎样?实事证明砖家的话只能信⼀半:)。

这⾥咱就看看⽤整数规划求解⼀个NP完全问题⾏也不⾏。

这⾥有⼀个货真价实的整数规划问题——划分问题(The partition problem)。

问题是:给定⼀个⼤⼩不等的整数集合,问是否可以把这些整数划分成两个集合,任何⼀个整数或者在集合S1中或者在S2中,但不能同时在两个集合中;对任意给的⼀个整数集合,请设计算法,解决是否存在⼀个划分,使得S1种整数之和恰好等于S2集合的整数之和。

⼆、建⽴整数规划模型对每个整数定义⼀个0-1变量xi, xi=1 表⽰第i个整数位于集合S1中, xi=0表⽰第i个整数位于S2中。

⽤s1表⽰第⼀集合的整数之和,⽤s2表⽰第⼆个集合⾥的整数之和。

即:设d是s1和s2之间差的绝对值。

于是:我们只要极⼩化d就可以了,即:完整模型:三、上⾯的模型的⽂本表达上⾯的模型不只是⽤来摆摆看的,还可以真的被求解哈。

我们需要把模型写成⽂本格式(Leapms建模语⾔格式),让计算机理解。

⽬标函数就写成min d加上其余约束部分(注意西格玛符合的写法)subject tos1=sum{i=1,...,n}x[i]S[i]s2=sum{i=1,...,n}((1-x[i])S[i])d>=s1-s2d>=s2-s1加上符号说明(符号必须说明,不然计算机不知道哪些是常数,哪些是变量)wheren is an integerS is a sets1,s2,d are variables of numberx[i] is a variable of binary|i=1,...,n加上数据(注意整数个数是从集合S上⾃⼰数出来的)data_relationn=_$(S)dataS={11,47,159,137,85,47,142,35,119,61,88,175,13,96,-11,176,126,15,98,46,163}四、求解把如下完整模型贴到记事本上,保存为 partition.leap⽂件。

(完整word版)顶点覆盖问题的NP完全证明和近似算法求解

(完整word版)顶点覆盖问题的NP完全证明和近似算法求解

顶点覆盖问题的NP 完全证明和顶点覆盖优化问题的近似算法顶点覆盖(VERTEX COVER )给定一个无向图),(E V G =和一个正整数k ,若存在V V ⊆',k V =',使得对任意的E v u ∈),(,都有'V u ∈或'V v ∈,则称'V 为图G 的一个大小为k 的顶点覆盖。

顶点覆盖问题的描述判定问题:VERTEX COVER输 入:无向图),(E V G =,正整数k问 题:G 中是否存在一个大小为k 的顶点覆盖,这是一个NP 完全问题 顶点覆盖的NP 完全性证明NP 性的证明:对给定的无向图),(E V G =,若顶点V V ⊆'是图G 的一个大小为k 顶点的覆盖,则可以构造一个确定性的算法,以多项式的时间验证k V =',及对所有的E v u ∈),(,是否有'V u ∈或'V v ∈。

因此顶点覆盖问题是一个NP 问题。

完全性的证明:我们已知团集(CLIQUE )问题是一个NP 完全问题,若团集问题归约于顶点覆盖问题,即VERTEX CLIQUE poly αCOVER ,则顶点覆盖问题就是一个NP 完全问题。

我们可以利用无向图的补图来说明这个问题。

若向图),(E V G =,则G 的补图--=),(E V G ,其中}),(|),{(E v u v u E ∉=-。

例如,图1(b)是图1(a)的补图。

在图1(a)中有一个大小为3的团集},,{y v u ,在图1(b)中,则有一个大小为2的顶点覆盖},{w v 。

显然可以在多项式时间里构造图G 的补图-G 。

因此,只要证明图),(E V G =有一个大小为k V -||的团集,当且仅当它的补图-G 有一个大小为k 的顶点覆盖。

(a) (b)图1无向图及补图必要性:如果G 中有一个大小为k V -||的团集,则它具有一个大小为k V -||个顶点的完全子图,令这k V -||个顶点集合为'V 。

np完全问题

np完全问题


P类和NP类问题
确定性算法 :算法执行的每一个步骤,都有确定的选择. 重新用同一输入实例运行该算法,所得到的结果严格一致. P类判定问题 类判定问题是由具有多项式时间的确定性算法来解的判定 问题
最短路径判定问题 SHORTEST PATH: 给定有向赋权图 G = ( V , E ) (权为正整数),正整数 k ,及两个顶点 s, t ∈V ,是否 存在着一条由 s 到 t ,长度至多为 k 的路径. 可排序的判定问题 SORT: 给定 n 个元素的数组,是否可以按非降顺序排序.
P类判定问题的补 改变判定问题的提法,"是否可以","是否存在"改为 "是否不可以","是否不存在"的判定问题
可排序判定问题的补 NOT_SORT: 给定 n 个元素的数组,是否不可以按非降顺序排序. 最短路径判定问题的补 NOT SHORTEST PATH: 给定有向赋权图 G = ( V , E ) (权为正整数),正整数 k ,及两个顶点 s, t ∈V ,是否不存 在一条由 s 到 t ,长度至多为 k 的路径.
NP类问题
非确定性算法 1,问题 ∏ 的非确定性算法的两个阶段:推测阶段和验证阶段. 2,推测阶段:对规模为 n 的输入实例 x ,以多项式时间 O ( n i ) 产生输出 y ,而不管 y 的 正确性 3,验证阶段:以多项式时间 O ( n j ) 的确定性算法验证两件事情: 1)检查上一阶段的输出 y 是否具有正确的形式. 如果 y 不具正确的形式,算法就以答案 no 结束; 2)如果 y 具有正确的形式,则继续检查 y 是否是问题的输入实例 x 的解. 如果它确实是问题实例 x 的解,则以答案 yes 结束,否则,以答案 no 结束.

NP完全问题证明

NP完全问题证明
设V’是V中不超过K的顶点覆盖, 则V’中必包含Ti中的一个顶点 和每个Ej’中的两个顶点, 至少要n+2m个顶点. 而K=n+2m, 故V’中一
定只包含每个Ti中的一个顶点和每个Ej’中的两个顶点.
如下得到赋值 uiV’ t(ui)=T
ūiV’ t(ui)=F
Ej’’中的三条边有两条被Vj’V’中的顶点覆盖, 第三条必被 V’Vi中的顶点覆盖. 这表示在Vi中的这个顶点对应的文字取真.
12
8.5.4 顶点覆盖问题 (VERTEX-COVER)
问题描述:给定一个无向图G=(V,E)和一个正整数k,判 定是否存在V’V,|V’|=k,使得对于任意(u,v)∈E有u∈V’或 v∈V’。如果存在这样的V’,就称V’为图G的一个大小为k顶点覆 盖。 证明思路: 首先,VERTEX-COVER∈NP。因为对于给定的图G和正整数k 以及一个“证书”V’,验证|V’|=k,然后对每条边(u,v)∈E, 检查是否有u∈V’或v∈V’,显然可在多项式时间内完成。 其次,通过CLIQUE∝pVERTEX-COVER来证明顶点覆盖问题 是NP难的。
几个NP完全问题
什么是NP完全问题

NP完全问题,是世界七大数学难题之一。 NP 的英文全称是Non-deterministic Polynomial的 问题,即多项式复杂程度的非确定性问题。简 单的写法是 NP=P?,问题就在这个问号上, 到底是NP等于P,还是NP不等于P
七大数学难题

表的段的最右位为1,其它为0.
s(ai ) 2 p( 3q f ( i )) 2 p( 2q g( i )) 2 p(qh( i ))
w1 w2 … wq x 1 x2 … xq y1 y2 … yq 注:plog(k+1),2p k+1,k 2p1 , 当 k个1相加时不会产生段之间的进位 令

NP完全问题

NP完全问题
NP完全问题
时间复杂度:时间复杂度并不是表示一个程
序解决问题需要花多少时间,而是当问题规模扩大 后,程序需要的时间长度增长得有多快。
• 也就是说,对于高速处理数据的计算机来说,处理某一个 特定数据的效率不能衡量一个程序的好坏,而应该看当这 个数据的规模变大到数百倍后,程序运行时间是否还是一 样,或者也跟着慢了数百倍,或者变慢了数万倍。 • 不管数据有多大,程序处理花的时间始终是那么多的,我 们就说这个程序很好,具有O(1)的时间复杂度,也称常数 级复杂度;数据规模变得有多大,花的时间也跟着变得有 多长,这个程序的时间复杂度就是O(n),比如找n个数中 的最大值;而像冒泡排序、插入排序等,数据扩大2倍, 时间变慢4倍的,属于O(n^2)的复杂度。还有一些穷举类 的算法,所需时间长度成几何阶数上涨,这就是O(a^n)的 指数级复杂度,甚至O(n!)的阶乘级复杂度。
如何证明一个问题是NP完全性问题
• 首先找出一个已知为NP完全性问题,通过 归约说明待证明的问题也是NP完全性问题, 其原因是如果可以再多项式时间解决这个 问题,就可以在多项式时间解决所有的已 知的全部NP完全问题。
例如:
• • • • 已知顶点覆盖问题为NP完全问题 顶点覆盖问题: 输入:图G和一个整数K。 输出:如果图G中不超过k个定点的一个子集s使得图G中 的每一条边至少有一个端点在S中,则输出YES,否则输 出NO。 证明团问题是NP完全问题 团问题: 输入:图G和一个整数K。 输出:如果图G中不少于k个定点的一个子集S是一个完全 图,则输出YES,否则输出NO。
• 非确定性是指在理论计算机科学中,针对 各种计算机器模型(自动机),在每一时 刻,根据当时的状态和输入,若机器有多 个动作可供选择时,则称机器为非确定性 的;相反,若机器的动作可唯一确定时。 • 且非确定性是相对于确定性来说,对于非 确定性的机器,在性能各方面要高于确定 性机器。

第10章NP完全问题(自己写的)

第10章NP完全问题(自己写的)
第10章 NP完全问题
主讲:王培崇
对一个已确定是可计算的问题,人们总试图寻求实现它的最优算法。然而 对有些问题,这个工作难度很大,目前还不能做到这点。
1、P类问题:问题的时间复杂性是多项式阶的,这只须设 计一个实现它的时间复杂性是多项式阶的算法即可,例如分类 (又称排序)问题。 2、顽型问题:人们已经设计出实现它的时间复杂性为指数阶 的算法,并且已证明该问题不存在多项式阶的算法,例如梵塔 问题;但是有这样一类问题, 3、NP问题:人们目前已设计的实现它的算法其时间复杂性 为指数阶的,但还不能肯定它有或没有多项式阶的算法。
如果是,则停机回答yes,如果不是则停 机回答no。
(上述是以图灵机计算模型实现的。)
• 定义10.3
NP类问题由下面的判定问题组成,对 于它们存在着多项式时间内运行的不确定性 算法。
例子10.4
coloring问题:
(1)设I是coloring的一个实例,s宣称是I的 解。容易建立一个确定性算法验证s选择、送餐车辆指派问题、车 间调度问题等。
见表1.1,现存的求解方法,中等输入也 需要几百年时间才能求解成功。
4、NP问题的描述转换 转换为判定问题。
两种答案:yes或no。 最优化问题:关心的是某个量的最大化或 最小化问题。
5、问题转化举例: 10.1设s是一个实数序列,EU问题是:是否S 中的所有的数都不相同。
判定问题:
输入:一个整数序列S; 问题:在S中存在两个数据相等吗。 10.2 给出一个无向图G=(V,E),用k种颜色对G 着色.......,使得图中没有两个邻接点有相同的 颜色。
• 判定问题: 输入:一个无向图G=(V,E)和一个正整数k>=1; 问题:G可以k着色吗?即G最多可以用k种颜 色着色吗?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7
对于一个合取范式, 若每个子句有且仅有3个变元 时, 它的可满足性问题便称为3SAT问题。 定理 3SAT问题属于NPC。下证
8.5.3 团问题CLIQUE
问题描述: 问题描述:给定一个无向图G=(V,E)和一个正整 数k,判定图G是否包含一个k团,即是否存在,V’⊆V, |V’|=k,且对任意u,w∈V’有(u,w)∈E。 证明思路: 证明思路: 已经知道CLIQUE∈NP。通过3-SAT∝pCLIQUE来证 明CLIQUE是NP难的,从而证明团问题是NP完全的。
8.5.4 顶点覆盖问题 (VERTEX-COVER) 例如 U = {u1,u2,u3,u4}, C = {{u1,ū3,ū4},{ū1,u2,ū4}}, 2× 则G如下,K = 4 + 2×2 = 8 如下,
8.5.4 顶点覆盖问题 (VERTEX-COVER)
中必包含T 设V’是V中不超过K的顶点覆盖, 则V’中必包含Ti中的一个顶点 是 中不超过K的顶点覆盖, 中必包含 和每个E 中的两个顶点 至少要n+2m个顶点. 中的两个顶点, n+2m个顶点 和每个Ej’中的两个顶点, 至少要n+2m个顶点. 而K=n+2m, 故V’中一 中一 定只包含每个T 中的一个顶点和每个E 中的两个顶点 中的两个顶点. 定只包含每个Ti中的一个顶点和每个Ej’中的两个顶点. 如下得到赋值 ui∈V’ ⇔ t(ui)=T
6
8.5.2 3元合取范式的可满足性问题 (3-SAT)
问题描述: 问题描述:给定一个3元合取范式α,判定它是否 可满足。 证明思路: 证明思路: 3-SAT∈NP是显而易见的。为了证明3-SAT∈NPC, 只要证明CNF-SAT∝p 3-SAT,即合取范式的可满足性 问题可在多项式时间内变换为3-SAT。
i =1
k
均分∈ 8.5.5. 均分∈NPC
a∈ A
∑ s(a ) = ∑ s(a i ) + s(b1 ) + s(b2 )
i =1 k
k
= ∑ s( a i ) + 2 ∑ s ( a i ) − B + ∑ s ( a i ) + B
8.5 一些典型的NP完全问题
部分NP完全问题树
5
8.5.1 合取范式的可满足性问题 (CNF-SAT)
问题描述:给定一个合取范式α,判定它是否可满足。 问题描述: 如果一个布尔表达式是一些因子和之积,则称之为合取范 式,简称CNF(Conjunctive Normal Form)。这里的因子是变量 x 或 x 。例如:( x 1 + x 2 )( x 2 + x 3 )( x 1 + x 2 + x 3 ) 就是一个合取范 式,而 x 1 x 2 + x 3 就不是合取范式。 要证明CNF-SAT∈NPC,只要证明在Cook定理中定义的布尔表 达式A,…,G或者已是合取范式,或者有的虽然不是合取范式, 但可以用布尔代数中的变换方法将它们化成合取范式,而且合取 范式的长度与原表达式的长度只差一个常数因子。
8.5.4 顶点覆盖问题 (VERTEX-COVER) 联络边: 联络边: 沟通分量之间的关系 对于每个子句c 对于每个子句cj, 设cj = {xj,yj,zj}, 则 Ej’’={{a1[j],xj},{a2[j],yj},{a3[j],zj}} ={{a G = (V,E) ...∪ V = (V1∪V2∪...∪Vn)∪(V1’∪V2’∪...∪Vm’) ∪ ∪...∪ ) ...∪ E = E1∪E2∪...∪En)∪(E1’∪E2’∪...∪Em’) ∪ ∪...∪ ) ∪(E1’’∪E2’’∪...∪Em’’) ∪ ∪...∪ ) K = n +2m 显然构造可在多项式时间完成
几个NP完全问题
什么是NP完全问题
NP完全问题,是世界七大数学难题之一。 NP 的英文全称是Non-deterministic Polynomial的 问题,即多项式复杂程度的非确定性问题。简 单的写法是 NP=P?,问题就在这个问号上, 到底是NP等于P,还是NP不等于P
七大数学难题
这七个“千年大奖问题”是: NP完全问题、霍奇猜想、 庞加莱猜想、黎曼假设、杨-米尔斯理论、纳卫尔- 斯托可方程、BSD猜想 千年大奖问题 美国麻州的克雷(Clay)数学研究所于2000年5月 24日在巴黎法兰西学院宣布了一件被媒体炒得火热的 大事:对七个“千年数学难题”的每一个悬赏一百万 美元。 其中有一个已被解决(庞加莱猜想),还剩六个.(庞 加莱猜想,已由俄罗斯数学家格里戈里·佩雷尔曼破解。 我国中山大学朱熹平教授和旅美数学家、清华大学兼 职教授曹怀东做了证明的封顶工作。)
s( a i ) = 2 p ( 3 q − f ( i )) + 2 p ( 2 q − g ( i )) + 2 p ( q − h( i ))
w1 w2 … wq x1 x2 … xq y1 y2 … yq log(k+1), 注:p≥log(k+ 当 k个1相加时不会产生段之间的进位 令
均分∈ 8.5.5. 均分∈NPC
构造A 构造A,|A| = k +2 对应于每个m 对应于每个mi = (wf(i),xg(i),yh(i)) 有ai. 为二进制数,分成3q 3q段 每段有p log(k+1) s(ai)为二进制数,分成3q段,每段有p = log(k+1)位,共计 3pq位 每段对应一个W 3pq位,每段对应一个W∪X∪Y中的元素. Wf(i),xg(i),yh(i) 所代 中的元素. 表的段的最右位为1 其它为0. 表的段的最右位为1,其它为0.
均分∈ 8.5.5. 均分∈NPC
实例:有穷集A s(a)∈ 实例:有穷集A,∀a∈A, s(a)∈Z+. 问:是否存在A’⊆A,使得 是否存在A ⊆
a∈ A'
∑ s( a ) =
a∈ A− A'
∑ s( a )
证:显然均分是NP类问题。下面将3DM变换到均分问题 显然均分是NP类问题。下面将3DM变换到均分问题 NP类问题 3DM 3DM的实例 的实例, 设W,X,Y,M ⊆ W×X×Y 是3DM的实例, 其中|W| q, 其中|W| = |X| = |Y| = q, W = {w1,w2,… ,wq} X = {x1,x2,… ,xq} Y = {y1,y2,… ,yq} M = {m1,m2,… ,mk}
9
8.5.4 顶点覆盖问题 (VERTEX-COVER)
问题描述: 问题描述:给定一个无向图G=(V,E)和一个正整数k,判 定是否存在V’⊆V,|V’|=k,使得对于任意(u,v)∈E有u∈V’或 v∈V’。如果存在这样的V’,就称V’为图G的一个大小为k顶点覆 盖。 证明思路: 证明思路: 首先,VERTEX-COVER∈NP。因为对于给定的图G和正整数k 以及一个“证书”V’,验证|V’|=k,然后对每条边(u,v)∈E, 检查是否有u∈V’或v∈V’,显然可在多项式时间内完成。 其次,通过CLIQUE∝pVERTEX-COVER来证明顶点覆盖问题 是NP难的。
10
8.5.4 顶点覆盖问题 (VERTEX-COVER)
证 3SAT变换到 变换到VC. 将3SAT变换到VC. 设U={u1,u2,...,un}, C={c1,c2,...,cm}
是3SAT的实例. 如下构造图G, 分量设计法. 3SAT的实例. 如下构造图G, 分量设计法. 的实例 真值安排分量: 真值安排分量: 1≤ 其中V Ti=(Vi,Ei), 1≤i≤n, 其中Vi={ui,ūi}, Ei={{ui,ūi}} 任意覆盖必至少包含u 中的一个,否则不能覆盖边{u 任意覆盖必至少包含ui或ūi中的一个,否则不能覆盖边{ui或ūi}. 满足性检验分量: 满足性检验分量: Sj=(Vj’,Ej’), 1≤ j≤ m, ,E ), 1≤ 其中 Vj’={a1[j],a2[j],a3[j]} ={a Ej’={{a1[j],a2[j]},{a1[j],a3[j]},{a2[j],a3[j]}} ={{a 覆盖至少包含V 中的两个顶点 否则不能覆盖E 中的三角形 中的两个顶点, 覆盖至少包含Vj’中的两个顶点,否则不能覆盖Ej’中的三角形
ūi∈V’ ⇔ t(ui)=F
中的三条边有两条被V 中的顶点覆盖, Ej’’中的三条边有两条被Vj’∩V’中的顶点覆盖, 第三条必被 中的三条边有两条被 ∩ 中的顶点覆盖 V’∩Vi中的顶点覆盖. 这表示在Vi中的这个顶点对应的文字取真. ∩ 中的顶点覆盖. 这表示在V 中的这个顶点对应的文字取真. 所以子句c 被满足. 从而C被满足. 所以子句cj被满足. 从而C被满足. U→{T,F}是满足 的一组赋值. 是满足C 则在T 设t: U→{T,F}是满足C的一组赋值. 若t(ui)=T, 则在Ti中取 顶点u 否则取ū 因为t满足子句c 顶点ui, 否则取ūi. 因为t满足子句cj, 在Ej’’中的三条联络边中至 中的三条联络边中至 少有一条被覆盖, 那么取E 中的另两条边的端点作为 中的端点 中的另两条边的端点作为V 少有一条被覆盖, 那么取Ej’’中的另两条边的端点作为V’中的端点 即可. 即可.
B = ∑ 2 pj = 2 p( 3q −1) + 2 p( 3q − 2 ) + ... + 2 2 p + 2 p + 20
j =0
3 q −1
B的段数与s(ai)一样,每段的最右位为1,其它为0 的段数与s(a 一样,每段的最右位为1 其它为0
均分∈ 8.5.5. 均分∈NPC
例如: 例如: W={w1,w2},X={x1,x2},Y={y1,y2}, M={(w1,x2,y2),(w1,x2,y1),(w2,x1,y1)} p=log(3+1)=2 p= og(3+1) 元素a1,a2,a3分别对应 元素a (w1,x2,y2),(w1,x2,y1),(w2,x1,y1) s(a1) = 01 00 00 01 00 01 = 210 + 24 + 20 s(a2) = 01 00 00 01 01 00 = 210 + 24 + 22 s(a3) = 00 01 01 00 01 00 = 28 + 26 + 22 B = 01 01 01 01 01 01
相关文档
最新文档