下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,NP完全性,高文宇 ,2,Contents,P和NP (Nondeterministic Polynomial time) 归约 NPC问题,3,P和NP,最短与最长路径 欧拉回路与哈密顿回路 2-CNF (Conjunctive normal form, 合取范式)可满足性和3-CNF可满足性,4,P和NP,P类中包含的是在多项式时间内可以解决的问题。 NP类中包含的是在多项式时间内“可验证”的问题。是指给定某一解决方案的“证书”,就能在问题输入规模的多项式时间内,验证该“证书”是正确的。 P中任何问题都属于NP,因为若某一问题属于P,则可以在不给出证书的情况下,在多项式时间内解决它。
2、通俗地说,如果一个问题属于NP,且与NP中的任何问题一样“难”的,则说它属于NPC类,即NP完全的(NP Complete)。,5,判定问题和最优化问题,Optimization problem Decision problem NP完全性不直接适合于最优化问题,但适用于判定问题,因为这种问题的答案是简单的“是”或“否”。,6,归约,Reduction 考虑一个判定问题(A),希望在多项式时间解决该问题。称某一特定问题的输入为该问题的一个实例(instance)。现在,假设另一个不同的判定问题(B),我们知道如何在多项式时间内解决它。最后,假设有一个过程,它能将A的任何实例a转换为B的、具有如
3、下特征的某个实例b: (1)转换操作需要多项式时间; (2)两个实例的答案是相同的。即a的答案若是“yes”,则b的答案亦是“yes”。 称这样一种过程为多项式时间的归约算法(Reduction Algorithm),并且,它提供了一种在多项式时间内解决问题A的方法。,7,NP完全性的证明,考虑一个判定问题A,若我们已知其不存在多项式时间算法。进一步假设有一个多项式时间规约,它将一个A的实例转换成B的实例,则B一定不存在多项式时间算法。 对NP完全性的证明亦是如此。,8,电路可满足性问题,电路可满足性问题:给定一个由“与”,“或”,“非”门组成的布尔组合电路,它是可满足电路吗? 回答:Yes
4、/ No,9,证明C-SAT是NP完全(1),引理34.5:电路可满足性问题属于NP类。 证明:Circuit-SAT可在多项式验证,因此属于NP类。,10,证明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完全的。,1
5、1,第一个NP完全问题,电路可满足性问题(Circuit satisfiability problem)。已知一个布尔组合电路,它由And、Or、Not门组成,我们希望知道这个电路是否存在一组布尔输入,是的它的输出为1.,12,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 i
6、mplicitly 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 th
7、e 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 direc
8、tly how to reduce from every language in NP.,13,公式可满足性问题,电路可满足性问题的任何实例可以在多项式时间内,归约为公式可满足性问题的一个实例。利用归纳法可以将任意布尔组合电路表示为一个布尔公式。例如对下图的布尔电路进行归约。 CIRCUIT-SAT P SAT 为什么仅当公式可满足时,电路C才是可满足的呢?因为若是可满足的,则中每个子句都取得1值,这种赋值同样使得电路中的每个门的输出取得1值,因此C也是可满足的。, =x10 (x4 x3) (x5 (x1 x2) (x6 x4) (x7 (x1 x2 x4) (x8 (x5 x6) (x9
9、(x6 x7) (x10 (x7 x8 x9).,14,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),15,思考题,34.4-1,Consider the straightforward (nonpolynomial-time) reduction in the proof of Theorem 34.9.
10、描述一个规模为 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
11、 negate and apply DeMorgans laws to produce a 3-CNF formula equivalent to . 请指出这种策略不能产生多项式时间归约。 34.4-5,3-CNF是NP完全的,3-DNF呢?(析取范式),16,广泛存在的NP完全问题,NP-complete problems arise in diverse domains: boolean logic, graphs, arithmetic, network design, sets and partitions, storage and retrieval, sequencing and
12、 scheduling, mathematical programming, algebra and number theory, games and puzzles, automata and language theory, program optimization, biology, chemistry, physics, and more.,17,NP完全问题,团(Clique) 点覆盖(Vetex Cover) 哈密顿回路 旅行商问题(Traveling-salesman problem) 子集和问题(Subset-sum problem),18,团问题,无向图 G = (V, E)
13、 中的团Clique是一个节点集 V V 其中每一对节点间都有边相连。即团是图G 的一个完全子图。 团问题是寻找图中的最大团。其判定问题是:在给定图中是否存在一个规模为k 的团。 一个朴素的算法就是列出V 的所有 k-子集然后检验它们是否构成团。其时间复杂度为? 若 k 为常数,则它是多项式时间,但 k 可能接近 |V| /2,这样一来算法的运行时间就是超多项式时间,因此,人们猜想团问题不大可能存在有效算法。,19,定理34.11,定理34.11:团问题是NP完全的。 证明: (1)团问题显然是多项式可验证的。 (2)从 3-CNF-SAT开始归约。设 = C1 C2 Ck 是一个具有 k 个
14、子句的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), t
15、hen G is the graph shown in Figure 34.14.,20,定理34.11,定理34.11:团问题是NP完全的。 = (x1 x2 x3) (x1 x2 x3) (x1 x2 x3),21,点覆盖,无向图 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.,22,定理34.12,定理34.12:点覆盖问题是NP完全的。 证明: 定义补图如下:图 G 的补图就是G是包含不在G中的那些边的图。Figure
16、34.15 展示了图 G 和它的补图G。,23,定理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
17、, 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.,24,独立集问题,独立集问题:设G = (
18、V, E) 是一个简单无向图,S是V的子集,若S中的节点在图G中都无边相连,则称S是一个独立集。,25,点覆盖和独立集,定理:设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中的任意两个节
19、点之间都没有边,从而S是独立集。,26,点覆盖和独立集,推论:设G = (V, E) 是一个图,S是V的子集,若S是图G的最大独立集,当且仅当它的补V-S是图G的最小点覆盖。 推论:设G = (V, E) 是一个图,若图G中存在大小为k 的独立集,当且仅当图G中存在大小为|V|-k的点覆盖。,27,点覆盖和独立集,从最优化的角度来看,解决了最小点覆盖问题就解决了最大独立集问题,反之亦然。 这种关系称为“对偶”。 然而,这并不意味着这两个问题是完全“等价”的。若PNP,则这两个问题的求解方法,求解难度事实上是不一样的。从参数算法(确定性)或近似算法的角度来考察,这两个问题的难度可能都不一样。 类
20、似的“对偶”还有连通支配集和多叶子生成树。,28,点覆盖和集合覆盖,Set-Cover,下图中,F=S1, S2, S3, S4, S5, S6,一个最小的集合覆盖为C=S3, S4, S5。可用矩阵表示每个子集能覆盖的元素个数。 点覆盖是集合覆盖的一个特例。,29,哈密顿回路,哈密顿回路(hamiltonian-cycle),30,定理34.13,定理34.13:哈密顿回路问题是NP完全的。,31,旅行商问题,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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 送别 作文课件
- 第11课《短文二篇·记承天寺夜游》八年级语文上册精讲同步课堂(统编版)
- 西南林业大学《材料科学基础》2021-2022学年第一学期期末试卷
- 西京学院《文案创意与写作》2022-2023学年第一学期期末试卷
- 西京学院《模式识别技术》2021-2022学年期末试卷
- 西京学院《结构力学》2022-2023学年第一学期期末试卷
- 西华师范大学《舞台实践与服务》2022-2023学年第一学期期末试卷
- 2024-2025学年高中物理举一反三系列专题4.5 氢原子光谱和玻尔的原子模型(含答案)
- 西华师范大学《教师礼仪》2021-2022学年第一学期期末试卷
- 西华师范大学《当代中国政治制度》2022-2023学年第一学期期末试卷
- 2024年浙江杭州钱塘新区城市发展集团限公司招聘30人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 成人住院患者静脉血栓栓塞症Caprini、Padua风险评估量表
- 股骨粗隆间骨折
- 小班安全我要跟着老师走
- (正式版)JBT 14795-2024 内燃机禁用物质要求
- 基于核心素养初中数学跨学科教学融合策略
- 200TEU 长江集装箱船设计
- 办公楼物业服务管理的培训
- 智慧能源管理平台建设项目解决方案
- JTG∕T F30-2014 公路水泥混凝土路面施工技术细则
- 2024年高中语文学业水平过关测试四-名句名篇默写积累过关训练(全国通用)学生版
评论
0/150
提交评论