Lecture11-NP完全性.ppt_第1页
Lecture11-NP完全性.ppt_第2页
Lecture11-NP完全性.ppt_第3页
Lecture11-NP完全性.ppt_第4页
Lecture11-NP完全性.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

NP完全性 高文宇 1 Contents P和NP (Nondeterministic Polynomial time) 归约 NPC问题 2 P和NP 最短与最长路径 欧拉回路与哈密顿回路 2-CNF (Conjunctive normal form, 合取范式 )可满足性和3-CNF可满足性 3 P和NP P类中包含的是在多项式时间内可以解决的问题 。 NP类中包含的是在多项式时间内“可验证”的问题 。是指给定某一解决方案的“证书”,就能在问题 输入规模的多项式时间内,验证该“证书”是正确 的。 P中任何问题都属于NP,因为若某一问题属于P ,则可以在不给出证书的情况下,在多项式时间 内解决它。 通俗地说,如果一个问题属于NP,且与NP中的 任何问题一样“难”的,则说它属于NPC类,即NP 完全的(NP Complete)。 4 判定问题和最优化问题 Optimization problem Decision problem NP完全性不直接适合于最优化问题,但适 用于判定问题,因为这种问题的答案是简 单的“是”或“否”。 5 归约 Reduction 考虑一个判定问题(A),希望在多项式时间解决该问题 。称某一特定问题的输入为该问题的一个实例(instance )。现在,假设另一个不同的判定问题(B),我们知道 如何在多项式时间内解决它。最后,假设有一个过程,它 能将A的任何实例a转换为B的、具有如下特征的某个实例 b: (1)转换操作需要多项式时间; (2)两个实例的答案是相同的。即a的答案若是“yes”, 则b的答案亦是“yes”。 称这样一种过程为多项式时间的归约算法(Reduction Algorithm),并且,它提供了一种在多项式时间内解决问 题A的方法。 6 NP完全性的证明 考虑一个判定问题A,若我们已知其不存在 多项式时间算法。进一步假设有一个多项 式时间规约,它将一个A的实例转换成B的 实例,则B一定不存在多项式时间算法。 对NP完全性的证明亦是如此。 7 电路可满足性问题 电路可满足性问题:给定一个由“与”,“或” ,“非”门组成的布尔组合电路,它是可满足 电路吗? 回答:Yes / No 8 证明C-SAT是NP完全(1) 引理34.5:电路可满足性问题属于NP类。 证明:Circuit-SAT可在多项式验证,因此 属于NP类。 9 证明C-SAT是NP完全(2) 证明Circuit-SAT是NP完全问题的第二部分,就是 要证明该语言是NP难度的,即必须证明NP中的 每一种语言,都可以在多项式时间归约为Circuit- SAT。教材上基于计算机硬件的工作机理,给出 了一个简要的证明过程。 引理34.6:C-SAT问题是NP难度的。 证明:,C-SAT至少与NP中的任何语言具有同 样的难度,并且它又是属于NP的,因此它是NP 完全的。 定理34.7:C-SAT问题是NP完全的。 10 第一个NP完全问题 电路可满足性问题(Circuit satisfiability problem)。已知 一个布尔组合电路,它由And、Or、Not门组成,我们希 望知道这个电路是否存在一组布尔输入,是的它的输出为 1. 11 NP完全性的证明 引理34.8: If L is a language such that LP L for some L NPC, then L is NP-hard. Moreover, if L NP, then L NPC. In other words, by reducing a known NP-complete language L to L, we implicitly reduce every language in NP to L. Thus, Lemma 34.8 gives us a method for proving that a language L is NP-complete: Prove L NP. Select a known NP-complete language L. Describe an algorithm that computes a function f mapping every instance x 0, 1* of L to an instance f(x) of L. Prove that the function f satisfies x L if and only if f (x) L for all x 0, 1*. Prove that the algorithm computing f runs in polynomial time. (Steps 2-5 show that L is NP-hard.) This methodology of reducing from a single known NP-complete language is far simpler than the more complicated process of showing directly how to reduce from every language in NP. 12 公式可满足性问题 电路可满足性问题的任何实例可以在多项式时间内,归约为公式可满 足性问题的一个实例。利用归纳法可以将任意布尔组合电路表示为一 个布尔公式。例如对下图的布尔电路进行归约。 CIRCUIT-SAT P SAT 为什么仅当公式可满足时,电路C才是可满足的呢?因为若是可满 足的,则中每个子句都取得1值,这种赋值同样使得电路中的每个门 的输出取得1值,因此C也是可满足的。 =x10 (x4 x3) (x5 (x1 x2) (x6 x4) (x7 (x1 x2 x4) (x8 (x5 x6) (x9 (x6 x7) (x10 (x7 x8 x9). 13 3-CNF可满足性 (1)为公式构造一棵二叉语法分析树。 (2)把树看做电路,构造公式。 (3)利用真值表将公式的子句变换为析取式。 例如: = (x1 x2)(x1 x3) x4)x2. =y1 (y1 (y2 x2) (y2 (y3 y4) (y3 (x1 x2) (y4 y5) (y5 (y6 x4) (y6 (x1 x3) 14 思考题 34.4-1,Consider the straightforward (nonpolynomial- time) reduction in the proof of Theorem 34.9. 描述一个规 模为 n 的电路,使用这种归约方法将其转换为一个公式时 ,会产生出一个规模为n 的指数的公式。 34.4-3,Professor Jagger 提议通过真值表技术来证明 SAT P 3-CNF-SAT (Theorem 34.10)。That is, the professor proposes to take the boolean formula , form a truth table for its variables, derive from the truth table a formula in 3-DNF that is equivalent to , and then negate and apply DeMorgans laws to produce a 3-CNF formula equivalent to . 请指出这种策略不能产生多项式 时间归约。 34.4-5,3-CNF是NP完全的,3-DNF呢?(析取范式) 15 广泛存在的NP完全问题 NP-complete problems arise in diverse domains: boolean logic, graphs, arithmetic, network design, sets and partitions, storage and retrieval, sequencing and scheduling, mathematical programming, algebra and number theory, games and puzzles, automata and language theory, program optimization, biology, chemistry, physics, and more. 16 NP完全问题 团(Clique) 点覆盖(Vetex Cover) 哈密顿回路 旅行商问题(Traveling-salesman problem ) 子集和问题(Subset-sum problem) 17 团问题 无向图 G = (V, E) 中的团Clique是一个节点集 V V 其中每一对节点间都有边相连。即团是图G 的一个完全子图。 团问题是寻找图中的最大团。 其判定问题是:在给定图中是否存在一个规模为k 的团。 一个朴素的算法就是列出V 的所有 k-子集然后检 验它们是否构成团。其时间复杂度为? 若 k 为常 数,则它是多项式时间,但 k 可能接近 |V| /2,这 样一来算法的运行时间就是超多项式时间,因此 ,人们猜想团问题不大可能存在有效算法。 18 定理34.11 定理34.11:团问题是NP完全的。 证明: (1)团问题显然是多项式可验证的。 (2)从 3-CNF-SAT开始归约。设 = C1 C2 Ck 是一个 具有 k 个子句的3-CNF布尔公式。我们根据公式构造一个图G。 图 G = (V, E) 构造如下,对中每个子句Cr=(l1Vl2Vl3),将3个顶点v1 、v2、v3放入V中。若一些两个条件同时满足,则用一条边连接两个 顶点vi和j。 vi和vj处于不同的三元组中,即 r s; 它们的相应文字是一致的,即li不是lj的非。 This graph can easily be computed from in polynomial time. As an example of this construction, if we have = (x1 x2 x3) (x1 x2 x3) (x1 x2 x3), then G is the graph shown in Figure 34.14. 19 定理34.11 定理34.11:团问题是NP完全的。 = (x1 x2 x3) (x1 x2 x3) (x1 x2 x3) 20 点覆盖 无向图 G = (V, E) 的点覆盖是一个节点集 V V ,满足若 (u, v) E,则 u V 或 v V 。 例如 Figure 34.15(b) has a vertex cover w, z of size 2. 21 定理34.12 定理34.12:点覆盖问题是NP完全的。 证明: 定义补图如下:图 G 的补图就是G是包含 不在G中的那些边的图。Figure 34.15 展示 了图 G 和它的补图G。 22 定理34.12 归约:图 G 有一个大小为 k 的团,当且仅当其补图G有一个大小为 |V| - k 的点覆盖。 证明:假设G 包含一个团 V V ,且 |V| = k。我们可以断言 V - V 是 G 的一个点覆盖。设 (u, v) 是 E 中的任意边。则(u, v) E, 这意 味着 u 或 v 至少有一个不属于团 V ,因为 V 中的每一对节点间都有 一条E中的边相连,等价地,u 或 v 中至少有一个属于V - V 此即边 (u, v) 被 V - V所覆盖。由于 (u, v) 是从E中任选的边,因此E被 V - V 所覆盖。 Conversely, suppose that G has a vertex cover V V, where |V| = |V| - k. Then, for all u, v V, if (u, v) , then u V or v V or both. The contrapositive of this implication is that for all u, v V, if u V and v V, then (u, v) E. In other words, V -V is a clique, and it has size |V |-|V| = k. 23 独立集问题 独立集问题:设G = (V, E) 是一个简单无向图,S 是V的子集,若S中的节点在图G中都无边相连, 则称S是一个独立集。 24 点覆盖和独立集 定理:设G = (V, E) 是一个图,S是V的子集,那么S是一 个独立集,当且仅当它的补V-S是一个点覆盖。 证明: (1)若S是一个独立集。考虑任意一条边e=(u, v)。因为 S是独立集,所以u和v不可能都在S中,因而u和v必有一 个在V-S中,得证每一条边至少有一个端点在V-S中,所 以V-S是一个点覆盖。 (2)反之,若V-S是一个点覆盖,考虑S中的任意两个节 点u和v,如果它们之间有一条边e,那么e的两个端点都不 在V-S中,与假设V-S是点覆盖相矛盾。因此,S中的任意 两个节点之间都没有边,从而S是独立集。 25 点覆盖和独立集 推论:设G = (V, E) 是一个图,S是V的子 集,若S是图G的最大独立集,当且仅当它 的补V-S是图G的最小点覆盖。 推论:设G = (V, E) 是一个图,若图G中存 在大小为k 的独立集,当且仅当图G中存在 大小为|V|-k的点覆盖。 26 点覆盖和独立集 从最优化的角度来看,解决了最小点覆盖问题就 解决了最大独立集问题,反之亦然。 这种关系称为“对偶”。 然而,这并不意味着这两个问题是完全“等价”的 。若PNP,则这两个问题的求解方法,求解难度 事实上是不一样的。从参数算法(确定性)或近 似算法的角度来考察,这两个问题的难度可能都 不一样。 类似的“对偶”还有连通支配集和多叶子生成树。 27 点覆盖和集合覆盖 Set-Cover,下图中,F=S1, S2, S3, S4, S5, S6,一个最小的集合覆盖为C=S3, S4, S5。可用矩阵表示每个子集能覆盖的 元素个数。 点覆盖是集合覆盖的一个特例。 28 哈密顿回路 哈密顿回路(hamiltonian-cycle) 29 定理34.13 定理34.13:哈密顿回路问题是NP完全的。 30 旅行商问题 traveling-salesman problem与 hamiltonian-cycle问题 密切相关。一个旅行商要访问 n 个城市,用有 n 节点的完 全图表示城市间的道路,旅行商希望进行一次巡回旅行, 即一个哈密顿回路。从城市i 到城市j 的费用为 c(i, j) ,旅 行商希望整个旅行费用最低。 Figure 34.18中的一个最小 费用线路为u, w, v, x, u其费用为 7。 TSP判定问题的 形式化描述如下: TSP = G, c, k : G = (V, E) 是一个完全图,c 是 V V Z上的一个函数, k Z,且G 包含一个费用最多为 k 的旅

温馨提示

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

评论

0/150

提交评论