NP完全问题

合集下载

世界十大难题

世界十大难题

世界十大难题1、NP完全问题(NP-C问题)NP完全问题(NP-C问题),是世界七大数学难题之一。

NP的英文全称是Non-deterministicPolynomial的问题,即多项式复杂程度的非确定性问题。

简单的写法是NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P。

NP就是Non-deterministicPolynomial的问题,也即是多项式复杂程度的非确定性问题。

而如果任何一个NP问题都能通过一个多项式时间算法转换为某个NP问题,那么这个NP问题就称为NP完全问题(Non-deterministicPolynomialcompleteproblem)。

NP完全问题也叫做NPC问题。

2、霍奇猜想霍奇猜想是代数几何的一个重大的悬而未决的问题。

由威廉·瓦伦斯·道格拉斯·霍奇提出,它是关于非奇异复代数簇的代数拓扑和它由定义子簇的多项式方程所表述的几何的关联的猜想,属于世界七大数学难题之一。

二十世纪的数学家们发现了研究复杂对象的形状的强有力的办法。

基本想法是问在怎样的程度上,我们可以把给定对象的形状通过把维数不断增加的简单几何营造块粘合在一起来形成。

3、庞加莱猜想庞加莱猜想(Poincaréconjecture)是法国数学家庞加莱提出的一个猜想,其中三维的情形被俄罗斯数学家格里戈里·佩雷尔曼于2003年左右证明。

2006年,数学界最终确认佩雷尔曼的证明解决了庞加莱猜想。

1904年,法国数学家亨利·庞加莱提出了一个拓扑学的猜想:“任何一个单连通的,闭的三维流形一定同胚于一个三维的球面。

”简单地说,一个闭的三维流形就是一个有边界的三维空间;单连通就是这个空间中每条封闭的曲线都可以连续的收缩成一点,或者说在一个封闭的三维空间,假如每条封闭的曲线都能收缩成一点,这个空间就一定是一个三维圆球。

4、黎曼假设黎曼猜想是关于黎曼ζ函数ζ(s)的零点分布的猜想,由数学家黎曼于1859年提出。

NP完全问题

NP完全问题
}
2.1.5 判定问题规约的定义
定义:令和是两个判定问题,如果存在一个 具有如下性能的算法A,可以用多项式的时间,把 问题的实例I转换为问题的实例I,使得I与I的 答案一致,就称以多项式时间规约于,记为 p
举例:问题是:给定一个长度为n整数数组D 和一个整数k判断是否存在D中的一个元素和k相等。 问题是:给定一个长度为m整数数组E和一个整 数k判断是否存在E中的两个元素,其和与k相等。 用于的实例I向的实例I转换的多项式算法A
判定问题举例:给定一个带整数权的有向图G和一 个正整数k,是否存在着一条长度小于k的哈密尔顿回 路?
优化问题举例:给定一个带整数权的有向图G,其 最短路径长度的哈密尔顿长度是多少?
1.3 优化问题向判定问题的转换
判定问题举例:给定一个带整数权的有向图G和一个正整数k, 是否存在着一条长度小于k的哈密尔顿回路? 优化问题举例:给定一个带整数权的有向图G,其最短路径 长度的哈密尔顿长度是多少?
第12章 NP完全问题
1. NP完全问题概述 2. P类和NP类问题 3. NP完全问题 4. co_NP类和NPI类问题
1. NP完全问题概述
1.1 Church-Turing论题和Cook-Karp论题 1.2 问题分类 1.3 优化问题向判定问题的转换
1.1 Church-Turing论题和CookKarp论题
性质:NP难题包含NP完全问题。但有些NP难题 不是NP完全问题,因为它可能不在NP问题中
3.2 多项式规约关系的传递性定 理
定理:多项式规约关系满足传递性:令、、 是三个判定问题,满足 p , p , 则有 p
证明:通过规约关系的定义,必定存在着多项 式算法A和A, A使得的实例I(规模是n) 以多项式时间转换为的实例I,A使得的实 例I以多项式时间转换为的实例I。而A和A的 多项式级别性质使得实例I的规模是n的多项式级 别的。综合起来,的任意实例都能在多项式 级别转换为的实例

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

算法10_NP完全问题

算法10_NP完全问题

if(a[j]==x) { cout<<j;
Success();
执行时间都为O(1) //不确定算法成功终止
}
cout<<-1; Failure(); }
若算法执行中需作出一系列的Choice函 数//不选确择定,算当法且失仅败当终C止hoice的任何一组选
择都不会导致成功信号时,算法在O(1)
时间不成功终止。
ch10.6
不确定机的执行方式,可理解为不受限制的并行计算:
➢不确定机执行不确定算法时,每当Choice函数进行 选择时,就好像复制了多个程序副本,每一种可能的 选择产生一个副本,所有副本同时执行。一旦一个副 本成功完成,将立即终止所有其他副本的计算。
➢如果存在至少一种成功完成的选择,一台不确定机 总能做出最佳选择,以最短的程序步数完成计算,并 成功终止。
在不不确确定定搜机索上算执法行:的算法称为不确定算法(non
dveotiedrSmeianricsht(iicntaal[g],oTrxit)hm如)果。一个判定问题实例的解为真,
{
Choice函数每一次总能在O(1)时
int j=Choice(0,n-1); 间//从内{做0,1出,.导..,n致-1成}中功任的意正选确取选一择个。值
算法设计与分析
第10章 NP完全问题
学习要点: 确定算法和不确定算法 判定问题和最优化问题的关系 可满足性问题 P类问题和NP类问题 NP难度(NP hard)和NP完全(NP complete)问题 Cook定理 典型的NP完全(或NP难度)问题的证明
ch10.2
章节内容:
10.1 基本概念 10.2.1 Cook定理 10.3 一些典型的NP完全问题

np完全问题的解题策略

np完全问题的解题策略

np完全问题的解题策略NP完全问题是计算复杂性理论中的一个重要问题类别,指的是在多项式时间内无法求解的问题。

这类问题的解题策略主要有以下几种:暴力穷举法、分支定界法、动态规划法、贪心法、图论法等。

1.暴力穷举法:暴力穷举法是最直观的解题策略,它的基本思想是穷尽所有可能的解,然后逐一验证是否满足问题的条件。

在NP完全问题中,通常会有指数级别的可能解,这导致了暴力穷举法的计算复杂度非常高,因此在实际应用中往往无法使用。

然而,暴力穷举法可以作为验证其他解法的正确性的手段。

2.分支定界法:分支定界法是一种基于搜索的解题策略,它将搜索空间划分为一系列子问题,并通过剪枝策略来减少搜索空间的大小。

分支定界法的基本思想是优先搜索最有可能导致问题解的子问题,当发现某个子问题的最优解不可能超过当前找到的最优解时,剪枝该子问题的搜索。

分支定界法对于某些NP完全问题能够得到较好的近似解,但并不能保证一定能够找到最优解。

3.动态规划法:动态规划法是一种将复杂问题分解为更小的子问题来求解的方法。

在解决NP完全问题时,动态规划法通常涉及将原始问题划分为一系列子问题,并通过计算子问题的最优解来逐步推导出原问题的最优解。

动态规划法的关键是要找到问题的递推关系和边界条件。

然而,由于NP完全问题的特殊性,动态规划法并不一定能够求解最优解,但可以用于部分问题的近似解。

4.贪心法:贪心法是一种通过每一步都选择当前最优解的策略来求解问题的方法。

在解决NP完全问题时,贪心法通常从问题的某个初始解出发,然后根据某个启发式准则逐步构建解。

然而,由于贪心法只考虑当前最优解,而没有考虑全局最优解,因此在NP完全问题中并不一定能够得到最优解。

然而,贪心法常常能够得到较好的近似解,且其计算效率较高。

5.图论法:图论法是一种通过建立问题的图模型来求解问题的方法。

在解决NP完全问题时,图论法通常将问题的实例映射为图的某种形式,并通过对图的遍历、搜索等操作来求解。

NP完全问题

NP完全问题
使用动态规划,回溯法或分支限界法求解 使用概率算法求解 使用启发式算法求解 遗传算法,模拟退火

以多项式作为分界函数?
原因有两个: 一,常见算法大致分为两类: 一类是多项式时间内可实现的 另一类需要指数时间(O(cn)) 多项式时间算法的可实现性远大于指数时间算法. (参见P8,表1.2)
以多项式作为分界函数?
二,多项式时间算法与计算模型无关 算法的研究依赖于计算模型.在不同类型计算模型 上实现算法,计算时间不同. 广义Church—Turing命题:不同计算模型上的计算 时间有多项式关系. 多项式与多项式的复合函数是多项式,因此,多项 式时间算法与计算模型无关.
SATISFIABILITY∝pCLIQUE
几个典型的NPC问题
顶点覆盖问题(VERTEX COVER) 判定问题:VERTEX COVER 输入:无向图G=(V,E),正整数k 问题:图G中是否存在一个大小为k的顶点覆盖
顶点覆盖定义:若存在 V ′ V, ′ = k,使得对 V 任意的 (u , v ) ∈ E,都有 u ∈ V ′或 v ∈ V ′, 则称 V ′为 图 G 的一个大小为 k的顶点覆盖.
NP类问题
一般而言,验证解比求解易. 对具有指数时间的问题,有些可用不确定性算法求 解.该算法包含两个阶段: 推测阶段 对规模为n的输入实例x,产生一个输出y. 验证阶段 检验y是否满足解形式,是否是解.
NP类问题
推测阶段是具有多项式时间的非确定性(nondeterminism)算法,对输入实例x,下次产生的输出 可能不是y. 验证阶段是具有多项式时间的确定性算法.
阿达尔定理告诉我们,对有些难解问题,即使提高计 算机运行速度,也不能在多项式时间内验证.即并非 所有的难解问题都属于NP类.

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 结束.

13 NP-完全问题

13 NP-完全问题
1 i = 0
随机存取存储程序机RASP
1、RASP的结构 、RASP的结构
RASP的整体结构类似于RAM,所不同的是RASP的程序是存 储在寄存器中的。每条RASP指令占据2个连续的寄存器。第一个 寄存器存放操作码的编码,第二个寄存器存放地址。RASP指令用 整数进行编码。
2、RASP程序的复杂性 、RASP程序的复杂性
一些难解问题
(5)可满足性问题
这个问题也称合取范式的可满足问题。 这个问题也称合取范式的可满足问题。 一个合取范式形如:A1∧A2∧…∧An(即若干子句的逻辑乘) ∧An( 一个合取范式形如:A1∧A2∧ ∧An 即若干子句的逻辑乘) 子句Ai形如:a1∨a2∨…∨ak,其中aj(1<=j<=k) Ai形如 ∨ak,其中aj(1<=j<=k)为某一布尔变 子句Ai形如:a1∨a2∨ ∨ak,其中aj(1<=j<=k)为某一布尔变 量或是该变量的非。 量或是该变量的非。 合取范式的可满足性问题:是否有一组对所有命题变量的赋值 合取范式的可满足性问题: T),使得整个CNF取值为真( CNF取值为真 (F或T),使得整个CNF取值为真(T)。
一些难解问题
(6)图的团集问题
图G=<V,E>的团集,是指G的一个完全子图,即该子图中任意两 G=<V,E>的团集,是指G的一个完全子图, 的团集 个互异的顶点都有一条边相连。 个互异的顶点都有一条边相连。 无向图G=<V,E>的团集问题: 无向图G=<V,E>的团集问题:求G的最大子团。 G=<V,E>的团集问题 的最大子团。
13 NP完全问题
Hale Waihona Puke 学习要点• • • •

Chapter-9_NP完全问题

Chapter-9_NP完全问题
南京理工大学
9 NP完全问题 NP Complete Problem
南京理工大学
本章内容提要
• • • • • • • 易解问题与难解问题 P类问题和 类问题 类问题和NP类问题 类问题和 NP完全问题 完全问题 co-NP类问题 类问题 NPI类问题 类问题 P、NP、co-NP、NPI类之间的区别与联系 、 、 、 类之间的区别与联系 NP完全问题的计算机处理技术简介 完全问题的计算机处理技术简介
南京理工大学
9.1.2 易解问题与难解问题的主要区别
在学术界已达成这样的共识: 在学术界已达成这样的共识:把多项式时间复杂性作为 易解问题与难解问题的分界线,主要原因有: 易解问题与难解问题的分界线,主要原因有: 1) 多项式函数与指数函数的增长率有本质差别
问题规模 n logn n
1 10 20 50 100 0 3.3 4.3 5.6 6.6 1 10 20 50 100
特点:对同一输入实例,运行算法 ,所得结果是一样的。 特点:对同一输入实例,运行算法A,所得结果是一样的。
• 定义 定义9.2(P类问题 如果对于某个判定问题 ,存在一个非 类问题): 类问题 如果对于某个判定问题∏, 负整数k,对于输入规模为n的实例 能够以O(nk)的时间运 的实例, 负整数 ,对于输入规模为 的实例,能够以 的时间运 行一个确定性算法,得到yes或no的答案,则称该判定问题 的答案, 行一个确定性算法,得到 或 的答案 ∏是一个 是一个P(Polynomial)类问题。 类问题。 是一个 类问题
3) 多项式时间复杂性忽略了系数,不影响易解问题与难解 多项式时间复杂性忽略了系数,
问题的划分
问题规模n 问题规模 5 10 100 1000 多项式函数 n8 390625 108 1016 1024 108n 5×108 × 109 1010 1011 n1000 51000 101000 102000 103000 1.1n 1.611 2.594 13780.6 指数函数 20.01n 1.035 1.072 2

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。
• 非确定性是指在理论计算机科学中,针对 各种计算机器模型(自动机),在每一时 刻,根据当时的状态和输入,若机器有多 个动作可供选择时,则称机器为非确定性 的;相反,若机器的动作可唯一确定时。 • 且非确定性是相对于确定性来说,对于非 确定性的机器,在性能各方面要高于确定 性机器。

NP完全的问题

NP完全的问题

NP完全的问题一个NP-完全的问题具有如下性质:它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解。

P是所有可在多项式时间内用确定算法求解的判定问题的集合。

NP 问题是所有可用多项式时间算法验证其猜测准确性的问题的集合。

令L1和L2是两个问题,如果有一确定的多项式时间算法求解L1,而这个算法使用了一个在多项式时间内求解L2的确定算法,则称L1约化为L2。

如果可满足性约化为一个问题L,则称L问题是NP-难度的。

如果L是NP难度的且L(-NP,则称L是NP-完全的。

NP并不是NON-POL YNOMIAL,把NP说成是NON-POL YNOMIAL,是望文生义,读书不求甚解。

事实上,如果你能够证明某个NP问题是个NON-POL YNOMIAL的问题,你就可以去领那七个百万美元数学大奖中间的一个了。

数学上著名的NP问题,完整的叫法是NP完全问题,也即“NP COMPLETE”问题,简单的写法,是NP=P?的问题。

问题就在这个问号上,到底是NP等于P,还是NP不等于P。

证明其中之一,便可以拿百万美元大奖。

这个奖还没有人拿到,也就是说,NP 问题到底是Polynomial,还是Non-Polynomial,尚无定论。

NP里面的N,不是Non-Polynomial的N,是Non- Deterministic,P代表Polynomial倒是对的。

NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。

如果一个判定性问题的复杂度是该问题的一个实例规模n的多项式函数,则这种可以在多项式时间内解决的判定性问题属于P类问题。

P类问题就是所有复杂度为多项式时间的问题的集合。

通俗地称所有复杂度为多项式时间的问题为易解的问题类,否则为难解的问题。

有些问题很难找到多项式时间的算法(或许根本不存在),例如“找出无向图中哈米尔顿回路”问题。

但如果给了该问题的一个答案,可以在多项式时间内判断这个答案是否正确。

NP完全问题

NP完全问题
顶点度<=2时,Hamiltonian回路问题有多项 式算法
工程中有灵活性,以某种方式优化是NP-难 度问题;但以另一方式提出问题可能不是. 了解“难问题”的特点
13.3.3续
3-满足问题仍为NP-完全问题,但2-满足问 题有多项式算法 集团问题,当顶点度<=常数d时属于类P 平面图集团问题属于类P,因为平面图至 多有4-集团 实际有意义的做法是提出合理的限制条件 和求近似解, 研究启发式算法.
CNF-satisfiablity问题是NP-完全问题
定理13.5 CNF-satisfiablity问题是NP-完全 问题 这是著名的Cook定理 Cook 定理的推论:如果CNF-可满足问题有 多项式界的算法,则P=NP.
NP-完全问题证明
证明问题Q是NP-完全问题的步骤: (1)选择一已知的NP-完全问题P。
搜索算法有指数的复杂度:须试所有可能的 S的分划。
装箱问题:FFD算法(贪心法)
将物品按尺寸递减排序,箱子从左到右排列 并尽可能放在前面的箱子里。 算法的时间复杂度t(n)=θ(n2)
算法:装箱问题
输入: S=(s1,….,sn) ,0<si≤1 ,1≤i≤n. S 代表货物1,...,n 的尺寸,每个箱子的容量 都是1.0。 输出: bin[i]是放物品i的箱子号,1≤i≤n. 为 了使算法简单,在装箱前,货物已经按尺 寸从大到小排序。
问题4 背包问题
判定问题:是否存在效益值至少为k的可行 子集? 优化问题
问题5 子集和数问题s1,s2,┅,sn,C
判定问题:是否存在和数等于C的子集? 优化问题:求≤C的最大子集和数. 可归约为背包问题: pi=wi.
问题6 CNF(合取范式)-可满足问题

千禧年七大数学难题

千禧年七大数学难题

千禧年七大数学难题千禧年七大难题分别为:NP完全问题、霍奇猜想、庞加莱猜想、黎曼猜想、杨-米尔斯存在性和质量缺口、纳斯-斯托克斯方程、BSD猜想。

庞加莱猜想已被解决。

1.N P完全问题NP完全问题是一道在理论信息学中计算复杂度理论领域里没有解决的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。

复杂度类P包含所有那些可以由一个确定型图灵机在多项式表达的时间内解决的问题;类NP由所有其肯定解可以在给定正确信息的多项式时间内验证的决定问题组成,或者等效的说,那些解可以在非确定图灵机上在多项式时间内找出的问题的集合。

很可能,计算理论最大的未解决问题就是关于这两类的关系的:P和NP相等吗?经过50多年的研究以及百万美元的奖金和大量投入巨大,现在依然没有实质性结果的研究足以显示该问题是困难的,并且一些形式化的结果证明为什么该问题可能很难解决。

如果NP完全问题解决,即P=NP,那么所有属于NP的问题也能在多项式时间内解决。

但事实上,无论P是否等于NP,这个问题在向计算机程序的能力界限发起挑战的同时,也会很大程度上的帮助计算机科学的发展。

(多项式时间(Polynomi al time)在计算复杂度理论中,指的是一个问题的计算时间不大于问题大小的多项式倍数。

任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。

)2.霍奇猜想霍奇猜想是代数几何的一个重大的悬而未决的问题。

由威廉·瓦伦斯·道格拉斯·霍奇提出,它是关于非奇异复代数簇的代数拓扑和它由定义子簇的多项式方程所表述的几何的关联的猜想,与费马大定理和黎曼猜想成为广义相对论和量子力学融合的m理论结构几何拓扑载体和工具。

猜想的主要内容即为在非奇异复射影代数簇上, 任一霍奇类是代数闭链类的有理线性组合,并断言,对于所谓射影代数簇这种特别完美的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合。

NP完全问题证明

NP完全问题证明

均分∈ 8.5.5. 均分∈NPC 子集A :1≤ 子集A’ = {ai:1≤i≤k} 满足
a∈ A'
∑ s( a ) = B
当且仅当 M’ = {mi: ai∈A’}是M的匹配 } A的最后两个元素b1,b2 的最后两个元素b
s ( b1 ) = 2 ∑ s ( a i ) − B
i =1
k
s ( b2 ) = ∑ s ( a i ) + B
均分∈ 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均分是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}

np 完全问题

np 完全问题
多项式时间可验证语言类VP定义为:
VP={L| L Σ*,Σ为一有限字符集,Σ*为Σ中字符生成的字符串全体,
存在多项式p和多项式时间验证算法A(X, Y),使得对任意L Σ*,
则X L,当且仅当存在Y Σ*,|Y|<=p(|X|)且A(X, Y)=1}
定理: VP=NP
定理:设L是NP完全的,则
a) L P,当且仅当P=NP;
b) 若L∝p L’,且L’ NP,则L’是NP完全的。
从定理a)可知,如果任意NP完全问题在多项式时间内可解,则所有NP问题都可以在多项式时间内得解。反之,若P不等于NP,则所有的NPC问题都不可能在多项式时间内求解。
2.1 RAM(随机存取机,Random Access Machine)
2.2 RASP(随机存取存储程序机,Random Access Stored Program Machine)
2.3 图灵机(Turing Machine)
3 P类和NP类语言
P={L| L是一个能在多项式时间内被一台DTM所接受的语言}
NP完全问题综述
1. 为什么研究NP问题:回答“求解的问题到底有多复杂”
通常认为,在多项式时间内可解的问题称为“易”解问题;需要指数时间求解的问题为“难”解问题。
2. 用什么工具求解问题: 三种求解问题的计算模型
这里,计算模型是对求解问题的计算工具的抽象。最重要的3种计算模型包括:
NP完全问题的奇特性质:如果一个NP完全问题能在多项式时间内得到解决,则NP中每个问题都可以在多项式时间内得到解决。
目前还没有一个NP完全问题有多项式时间算法。
4.1 多项式时间变换
设L1啨1*,L2啨2*是两个语言。所谓语言L1能够在多项式时间内变换为语言L2,记作L1∝p L2,是指存在映射f: Σ1*→Σ2*,且f满足:

4.4 一些NP完全问题

4.4 一些NP完全问题

2010-7-30
21
21.瓶颈上的巡回推销员:m个城市的集合C对 21.瓶颈上的巡回推销员: 于每一对城市ci,cj∈C,有距离d(ci,cj)∈Z+, 正整数B. 问:是否有C上的巡回旅行路线,其中最长的 边的长度不大于B,即是否有C的一个排列 <cπ(1), cπ(2),…cπ(m)>, 使得对于l≤i≤m,有d (cπ(i), cπ(i+1))≤B, 并且d (cπ(m), cπ(1))≤B ? 注释:即使对于所有的ci,cj∈C,有 d(ci,cj)∈{1,2},也还是NP完全的.
2010-7-30
23
23.乡村邮递员: 23.乡村邮递员:图G=(V,E),每条边长度为 l (e) ∈ Z + 0 +. 子集E'∈E,界B∈Z 问:G中是否有一条回路包含E'中的每一条边, 并且总长度不趟过B? 注释:即使对于所有e∈E有l(e)=1,仍然是NP 完全的,关于有向图的对应的问题也是如此.
2010-7-30
3
3.三角划分:图G=(V,E),且|V|=3q,q是某 三角划分: 个整数. 问:G的顶点是否能被划分成q个不相交的集合 V1,V2,…,Vq, 其中每个集合恰好包含有三个顶点,使得对于 每个Vi={ui,vi,wi},1≤i≤q,三条边{ui,vi,}, {ui,wi}{vi,wi},都属于E?
5
5.独立集:图G=(V,E),正整数K≤|V|. 独立集: 问:G是否会有大于等于K的独立集,即是否有 子集 V'V 使得|V'|≥K并且V'中的任意两个顶点都不被E 中的边所连接?
2010-7-30
6
6.单连通子图:有向图G=(V,A),正整数 单连通子图: K≤|A|. 问:是否有子集A'A,|A'|≥K,使得 G'=(V,A')在任意一对顶点之间至多只有一条有 向通路? 注释:对于无圈有向图仍然是NP完全的.

NP完全问题详解(共53张PPT)

NP完全问题详解(共53张PPT)

几个典型的NP完全问题
可满足性问题(SATISFIABILITY) 三元可满足性问题(3_SATISFIABILITY) 图的着色问题(COLORING) 集团问题(CLIQUE)
顶点覆盖问题(VERTEX COVER)
可满足性问题(SATISFIABILITY)
一、可满足性问题 1、合取范式:由若干个析取子句的合取构成的布尔表达式 f 。 例: f ( x2 x3 x5 ) ( x1 x3 x4 x5 ) (x2 x3 x4 ) 2、合取范式的可满足性: 对合取范式 f 的相应布尔变量赋值,使 f 的真值为真,就说布尔表达式 f 是可满足的。 例:上式中,只要使 x1、x4和 x5为真,则表达式 f 为真。因此,这个式子是可满足的。 3、可满足性问题: 判定问题:SATISFIABILITY 输入:CNF 布尔表达式 f 问题:对布尔表达式 f 中的布尔变量赋值,是否可使 f 的真值为真
类问题
例 解货郎担判定问题 TRAVELING SALESMAN 的算法 A是 NP类判定问题: A可在推测阶段用多项式时间推测出一条回路,并假定它是问题的解; 在验证阶段用多项式时间的确定性算法, 检查所推测的回路是否恰好每个城市经过一次, 如果是,再进一步判断这条回路的长度是否小于或等于l , 如果是,答案为 yes,否则,答案为no。 存在多项式时间的确定性算法,对推测阶段所作出的推测进行检查和验证。 因此,货郎担判定问题是 NP类判定问题。
否不存在”的判定问题。 例:可排序判定问题的补 NOT_SORT: 给定 n 个元素的数组,是否不可以按非降顺序排序。 最短路径判定问题的补 NOT SHORTEST PATH: 给定有向赋权图G (V , E )(权为正整数)、正整数k 、及两个顶点s,t V , 是否不存在一条由s到t 、长度至多为k 的路径。 2、封闭的定义 定义 12.3 令C 是一类问题,如果对C 中的任何问题C,的补也在C 中,则

NP完全问题

NP完全问题

模拟退火算法(Simulated Annealing)来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加 温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最 后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT), 其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目 标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始, 对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所 得近似最优解。
遗传算法是仿真生物遗传学和自然选择机理,通过人工方式所构造的一类搜索算法,从某种程度上说遗传算 法是对生物进化过程进行的数学方式仿真。生物种群的生存过程普遍遵循达尔文进化准则,群体中的个体根据对 环境的适应能力而被大自然所选择或淘汰。进化过程的结果反映在个体的结构上,其染色体包含若干基因,相应 的表现型和基因型的体现了个体的外部特性与内部机理间逻辑关系。通过个体之间的交叉、变异来适应大自然环 境。生物染色体用数学方式或计算机方式来体现就是一串数码,仍叫染色体,有时也叫个体;适应能力是对应着 一个染色体的一个数值来衡量;染色体的选择或淘汰则按所面对的问题是求最大还是最小来进行。
如果这还不算太糟的话,1993年Razborov和Rudich证明的一个结果表明,给定一个特定的可信的假设,在 某种意义下“自然”的证明不能解决P = NP问题。这表明一些现在似乎最有希望的方法不太可能成功。随着更多 这类的定理得到证明,该定理的可能证明有越来越多的陷阱要规避。这实际上也是为什么NP完全问题有用的原因: 若有一个多项式时间算法,或者没有一个这样的算法,对于NP完全问题存在,这将用一种相信不被上述结果排除 在外的方法来解决P = NP问题。P=NP问题可以用逻辑命题的特定类的可表达性的术语来重新表述。所有P中的语 言可以用一阶逻辑加上最小不动点操作(实际上,这允许了递归函数的定义)来表达。类似地,NP是可以用存在 性二阶逻辑来表达—也就是,在关系、函数、和子集上排除了全域量词的二阶逻辑。多项式等级,PH中的语言对 应与所有的二阶逻辑。这样,“P是NP的真子集吗”这样的问题可以表述为“是否存在性二阶逻辑能够表达带最 小不动点操作的一阶逻辑的所不能表达的语言?”

NP问题NP完全问题(NP-completeproblem)如何判断是否是NP完全问题

NP问题NP完全问题(NP-completeproblem)如何判断是否是NP完全问题

NP问题NP完全问题(NP-completeproblem)如何判断是否是NP完全问题在算法复杂度分析的过程中,⼈们常常⽤特定的函数来描述⽬标算法,随着变量n的增长,时间或者空间消耗的增长曲线,近⽽进⼀步分析算法的可⾏性(有效性)。

引⼊了Big-O,Big-Ω,来描述⽬标算法的上限、下限复杂度函数。

⽤Big-Θ描述和⽬标函数同序的复杂度函数,即由Big-Θ既是上限也是下限。

常常⽤到如下时间复杂度函数标度1, log n, n, n log n, n^2, 2^n, n!通常将具有n^x,x为正整数形式的时间复杂度函数称为多项式复杂度。

通常认为具有多项式时间复杂度的算法是容易求解的。

超过多项式时间复杂度,算法增长迅速,不易求解。

下图将展⽰NP和NP完全问题在所有问题中的位置。

通常问题分为可解决(Solvable)和不可解决(Unsolvable)。

可解决问题⼜可以分为易解决(Tractable)、不易解决(Intractable)和不确定是否容易解决(NP)可解决(Solvable)是指存在算法能够解决的问题不可解决(Unsolvable)是指不存在解决该问题的算法,如The Halting Problem。

易解决(Tractable),即P问题,是指具有最坏时间复杂度为多项式时间的算法能够解决的问题不易解决(Intractable)是指不存在最坏时间复杂度为多项式时间的算法能够解决的问题不确定是否容易解决(NP),还未被证明是否存在多项式算法能够解决这些问题,⽽其中NP完全问题⼜是最有可能不是P问题的问题类型。

判断是否是NP完全问题1.元素较少时算法的运⾏速度⾮常快,但随着元素数量的增加,速度会变的⾮常慢。

2.涉及所有组合问题通常是NP完全问题3.不能将问题分成⼩问题,必须考虑各种情况,这可能是NP问题4.如果问题涉及序列(如旅⾏商问题中的城市序列)且难以解决,它可能是NP问题5.如果问题涉及集合(如⼴播电台集合)且难以解决,它可能是NP完全问题6.如果问题可转化为集合覆盖问题或商旅问题,那它肯定是NP问题。

第八章 NP完全问题

第八章 NP完全问题

第八章 NP-完全问题§1 关于问题及算法的描述为了应用算法复杂性理论,首先要对问题、问题的一般描述、计算模型、算法、算法的复杂性给出严格的定义。

但在给出精确定义之前,我们先回顾一下有关概念的粗略解释。

所谓一个问题(problem)是指一个有待回答、通常含有几个取值还未确定的自由变量的一个一般性提问(question)。

它由两部分构成:一是对其关于参数的一般性描述;二是对该问题的答案所应满足的某些特性的说明。

而一个问题的某个实例则可通过指定问题中所有参数的具体取值来得到。

以下用∏表示某个问题,用I 表示其实例。

旅行商问题的参数是由所需访问城市的一个有限集合},,,{11m C C C C =和C 中每对城市j i C C ,之间的距离),(j i C C d 所组成。

它的一个解是对所给城市的一个排序(1)(2)(),,,m C C C πππ使得该排序极小化下面表达式(目标函数)的值),(),()1()()1(11)(ππππC C d C C d m i m i i ++-=∑旅行商问题的一个实例是通过指定城市的数目,并指定每两个城市之间的具体距离而得到的。

例如:{}4321,,,C C C C C =,3),(,9),(,6),(,9),(,5),(,10),(434232413121======C C d C C d C C d C C d C C d C C d就是旅行商问题的一个实例,这个实例的一个最优解是排序1342,,,C C C C ,因为四个城市的这个排序所对应旅行路线是所有可能环游路线中长度最小的,其长度为27。

目前广泛采用的描述问题的方法主要有两种:一是将任一问题转化为所谓的可行性检验问题(feasibility problem);二是把问题转化为判定问题(decision problem)。

实际中几乎所有问题都可直接或间接地转述为判定问题。

判定问题是答案只有“是”与“非”两种可能的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NP完全问题
NP完全问题,是世界七大数学难题之一。

NP的英文全称是Non-deterministic Polynomial 的问题,即多项式复杂程度的非确定性问题。

简单的写法是NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P。

概述
NP完全问题是不确定性图灵机在P时间内能解决的问题,是世界七大数学难题之一。

NP完全问题排在百万美元大奖的首位,足见他的显赫地位和无穷魅力。

数学上著名的NP问题,完整的叫法是NP完全问题,也即“NP COMPLETE”问题,简单的写法,是NP=P?的问题。

问题就在这个问号上,到底是NP等于P,还是NP不等于P。

证明其中之一,便可以拿百万美元大奖。

这个奖还没有人拿到,也就是说,NP问题到底是Polynomial(意思是多项式的),还是Non-Polynomial,尚无定论。

NP里面的N,不是Non-Polynomial的N,是Non-Deterministic(意思是非确定性的),P代表Polynomial倒是对的。

NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。

非确定性问题详解
什么是非确定性问题呢?有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。

但是,有些问题是无法按部就班直接地计算出来。

比如,找大质数的问题。

有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。

再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式。

这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。

这也就是非确定性问题。

而这些问题通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。

这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内算出来,就叫做多项式非确定性问题。

而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。

完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果。

但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了。

解释
人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。

既然这类问题的所有可能答案,都可以在多项式时间内计算,人们于是就猜想,是否这类问题,存在一个确定性算法,可以在多项式时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。

方法
解决这个猜想,无非两种可能,一种是找到一个这样的算法,只要针对某个特定NP完全问题找到一个算法,所有这类问题都可以迎刃而解了,因为他们可以转化为同一个问题。

另外的一种可能,就是这样的算法是不存在的。

那么就要从数学理论上证明它为什么不存在。

前段时间轰动世界的一个数学成果,是几个印度人提出了一个新算法,可以在多项式时间内,证明某个数是或者不是质数,而在这之前,人们认为质数的证明,是个非多项式问题。

可见,有些看来好象是非多项式的问题,其实是多项式问题,只是人们一时还不知道它的多项式解而已。

如果判定问题π∈NP,并且对所有其他判定问题π∈NP,都有π'多项式变换到
π(记为π'∞π),则称判定问题π 是NP完全的。

对P类,NP类及NP完全问题的研究推动了计算复杂性理论的发展,产生了许多新概念,提出了许多新方法。

但是还有许多难题至今没有解决,P=NP?就是其中之一。

许多学者猜想P≠NP,但无法证明。

简述:
一个NP-完全的问题具有如下性质:它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解。

P是所有可在多项式时间内用确定算法求解的判定问题的集合。

NP问题是所有可用多项式时间算法验证其猜测准确性的问题的集合。

令L1和L2是两个问题,如果有一确定的多项式时间算法求解L1,而这个算法使用了一个在多项式时间内求解L2的确定算法,则称L1约化为L2。

如果可满足性约化为一个问题L,则称L问题是NP-难度的。

如果L是NP难度的且L(-NP,则称L是NP-完全的。

NP并不是NON-POLYNOMIAL,把NP说成是NON-POLYN OMIAL,是望文生义,读书不求甚解。

事实上,如果你能够证明某个NP问题是个N ON-POLYNOMIAL的问题,你就可以去领那七个百万美元数学大奖中间的一个了。

数学上著名的NP问题,完整的叫法是NP完全问题,也即“NP COMPLETE”问题,简单的写法,是NP=P?的问题。

问题就在这个问号上,到底是NP等于P,还是N P不等於P。

证明其中之一,便可以拿百万美元大奖。

这个奖还没有人拿到,也就是说,NP问题到底是Polynomial,还是Non-Polynomial,尚无定论。

Mr. X信口开河
敢说NP就是Non-Polynomial,真是不知天高地厚,惹人笑话。

NP里面的N,不是Non-Polynomial的N,是Non-Deterministic,P代表Polynomial倒是对的。

NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。

[编辑本段]
非确定性问题的概述
什么是非确定性问题呢?有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。

但是,有些问题是无法按部就班直接地计算出来。

比如,找大质数的问题。

有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。

再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式。

这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。

这也就是非确定性问题。

而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。

这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内算出来,就叫做多项式非确定性问题。

而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。

完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果。

但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了。

人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。

既然这类问题的所有可能答案,都可以在多项式时间内计算,人们於是就猜想,是否这类问题,存在一个确定性算法,可以在指数时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。

解决这个猜想,无非两种可能,一种是找到一个这样的算法,只要针对某个特定NP完全问题找到一个算法,所有这类问题都可以迎刃而解了,因为他们可以转化为同一个问题。

另外的一种可能,
就是这样的算法是不存在的。

那么就要从数学理论上证明它为什么不存在。

有些看来好像是非多项式的问题,其实是多项式问题,只是人们一时还不知道它的多项式解而已。

相关文档
最新文档