`
bingtears
  • 浏览: 185207 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

np完全性意义

阅读更多
什么是NP-完全性语言?什么是NP-完全性问题?什么是NP-hard问题?

答:NP-完全性语言

定义1(狭义,Karp):称满足下述2条的语言L0是NP-C的:

1)L0∈NP; 2) ∀L∈NP,都有L≤pL0。

NP-完全性问题 :若某个判定问题进行编码后,所对应的语言L0是NP-C的, 则称该问题是NP-C的。

有些最优化问题(对应的编码ω∈L0)可以满足 NP-完全性定义的第2条要求:∀L∈NP,都有L≤p L0。 满足上述条件的问题被称为NP-hard问题。

引入NP-完全性概念有什么意义?列举20个NP-完全性或NP-hard问题。

答:如果存在一台DTM在多项式时间里接受某个NP-C语言,

则所有NP类语言均可找到DTM在多项式时间里接受,从而有P=NP。

如果某个NP类语言不存在DTM在多项式时间里接受(即P≠NP),

则所有NP-C语言都不存在DTM在多项式时间里接受,

即有NP-C∩P=Φ。

NP wanquanxing

NP完全性

NP-completeness

计算复杂性理论中的一个重要概念,它表征某些问题的固有复杂度。一旦确定一类问题具有NP完全性时,就可知道这类问题实际上是具有相当复杂程度的困难问题。

探讨各种各样问题是否具有NP完全性,研究NP完全问题的处理方法,这对许多实际问题的算法设计和分析很有帮助,并与NP=?P等理论问题密切相关(见非确定性)。人们在这方面开展了大量研究工作,已逐渐形成一个专门性的理论──NP完全性理论。

巡回销售员问题  也称货郎担问题,是一个著名的NP完全问题。假定有一个销售员要到n个城镇去推销产品,已知各城镇间的距离和一个界限B。问是否有一条旅行路线,恰好通过每个城镇一次,最后回到出发点,且使旅行路线的总长不超过B。巡回销售员问题实际是一类问题。当对城镇数、城镇间距离和界限 B给定具体数值后,就能得到其中一个具体问题,有时也称作巡回销售员问题的一个“实例”。算法是针对巡回销售员这类问题而言的,即对其中任何实例都应是行之有效的。

P和NP  对于一个问题,如果存在一个图灵机,对这个问题的任何实例,都能给出回答,那么这个问题就称作可解的;如果存在一个图灵机,又存在一介多项式P,在给定问题的实例后(设n是给定实例在0、1编码下的长度),这个图灵机能在P(n)步内给出回答,那么该问题称作多项式时间可解的。

图灵机可分为确定型和非确定型。确定型图灵机在多项式时间内可解决的全部问题类记作 P。非确定型图灵机在多项式时间内可解决的全部问题类,记作NP。由于确定型机器是非确定型机器的特殊情形,故P∈NP。有趣的是相反的问题:NP∈P? 这就是著名的“NP=?P问题”。许多人猜测NP≠P,即在NP中有不是多项式时间可解的问题。在直觉上如果这种问题存在的话,它就是NP中“最难的”问题。NP完全问题就是NP中最难问题的一种形式化。

多项式时间归约  假定给了两个问题类q和q0,如果存在一个确定型图灵机Мq和一个多项式p,对于q中任意一个实例x,Мq都能在p(n)时间内计算出q0中一个实例y(其中n是实例x的编码长度),使得x是q中有肯定回答的实例,当且仅当y是q0中有肯定回答的实例,我们就说q多项式时间归约到q0。

NP完全问题  对于一个问题q0,如果q0属于NP,且NP中任意一个问题,都能够多项式时间归约到q0,则称q0为NP完全的,或q0具有NP完全性。除巡回销售员问题外,在实践中还发现有大量的NP完全问题,它们来自计算机科学、数学、逻辑学等许多学科领域,总数已超过2000。下面是若干有代表性的NP完全问题。

①  顶点覆盖问题:给定一个图G=(V,E),V为顶点集合,K为边集合,又给定一个正整数K。问V是否有一个子集V′,其顶点数不超过K,并使G中每条边都能被V′覆盖,即每条边的两个顶点中至少有一个在V′中。

②  三维匹配问题:三个班级,各有K人,共同参加某项活动。活动中,要求三人一组,组中每班一人。三人彼此认识的组称为相识组。假定已知全部可能的相识组,问从中能否选出K个相识组,使得每人能参加且仅能参加一个相识组。

③  分割问题:给定一堆自然数, 是否能将它们分成两部分,使得这两部分自然数各自的和彼此相等。

④  带优先次序的调度问题:有m个处理机和一个任务集合,每个任务的执行时间为1,已知任务间的优先次序(不一定每对任务间都有优先次序)和一个截止时间D。问是否有一个m个处理机的调度方法,满足给定的优先次序,且在截止时间D以前结束全部任务。

⑤  可满足性问题:对任意给定布尔表达式,是否可对式中各变元赋予真值和假值,使该表达式的值为真。

可满足性问题是历史上第一个NP完全问题,它由S.A.库克于1971年提出。

意义  NP完全性的研究在理论上有重要意义。已经证明,只要有一个NP完全问题属于P,则NP中一切问题都属于P。实际上,NP中任何一个问题都可以多项式时间归约到这个NP完全问题,而该问题又可在多项式时间内解决,故NP中任何问题都可在多项式时间内解决。因此,只要能证明任何一个NP完全问题属于P,就能推出NP=P。这将导致十多年来计算机科学中一个重大问题──“NP=?P问题”的肯定性解决。反之,要否证NP=P,一个明显的方法,就是到NP中去找一个不属于P的问题。作为NP中“最难”问题的NP完全问题,自然是最有希望的候选对象。总之,无论是要证明还是要否证NP=P,NP完全问题的研究,都是很有意义的。

NP完全性的研究在实践中有重要指导作用。在算法设计和分析过程中,如果已证明某问题是NP完全的,这就意味着面临的是一个难于处理的问题。对于它,要找出一个在计算机上可行的(即多项式时间的)算法是十分困难的,甚至可能根本找不到(因为很可能有NP≠P)。因此,对于NP完全问题,最好是去寻找近似解法,或者针对该问题的某些有实用价值的特殊情况,寻找多项式时间算法。

参考书目

M. R. Garey and  D.S.Johnson, Computers  and Intractability, A  Guide   to   Theory  of  NP-Completeness , W.H.Freeman and Co.,San Francisco,1979.

P vs NP是理论计算机科学的核心问题。从数学的角度来说,它和其他历史上有名的数学问题一样,给与人们一个智力上重大的挑战。而更为重要的是,在无数与计算有关的的学术领域中,NP-完全问题以各种不同形式层出不穷。因此,这并不是一个纯粹的与世独立的智力游戏,而是对计算机科学有全面影响力的问题。

人们在七十年代开始对NP-完全问题的研究主要是横向发展,也就是以许多不同的计算模型来分析难解问题的本质。这些新的计算模型包括了平行计算模型、概率计算模型、布尔线路、判断树、平均复杂性、交互证明系统以及程式长度复杂性等等。对这些新的计算模型的研究一方面使我们对难解问题有了更深一层的认识,一方面也产生了一些预想不到的应用。最显著的一个例子就是计算密码学的革命性突破:基于NP问题的公钥密码体系。另一个有名的例子是线性规划的多项式时间解的发现。

到了八十年代中,对NP-完全问题的研究有了纵向的突破,在许多表面看来并不相关的计算模型之间发现了深刻的刻划关系。这些刻划关系不但解决了几个令人困扰多年的未解问题,同时也刺激了其它相关领域的发展。其中之一是对线路复杂性的研究发现了一些问题在某种有限制的线路模型中必有指数下界。这些结果使用了组合数学与概率方法等新的数学工具,并且解决了一个有名的有关多项式分层的未解问题。另一个更重大的结果是以概率可验证明对NP类的刻划。由此得出了许多组合优化问题近似解的NP-完全性,从而刺激了算法界对近似算法研究的新热潮。这个结果来自于对交互证明系统这个概念的扩展,并且使用了线性代数与编码理论等数学证明技巧
分享到:
评论

相关推荐

    哈密顿图判定问题的多项式时间算法_姜新文.pdf

    NP=?P(即NP是否等于P)的问题是计算机科学和数学中的重要问题。美国克雷数学研究院将其列为新千年七大...如果NP=P,所有在NP≠P假定之上开展的计算研究都至少需要重新审视其意义。NP 完全问题的求解

    论文研究-物流信息网络安全的风险评估.pdf

    三维集装箱装载是一个复杂的组合优化问题,约束条件多,属于NP完全问题,求解难度大.在考虑方向性约束和稳定性约束的情况下,提出了一种DNA遗传算法(DNA-GA),给出了有效的编码和解码方法。实例计算结果表明,利用...

    计算理论引论 课后答案

    计算理论引论 英文版课后答案 、导引 掌握自动机、可计算性与复杂性的基本概念复习了解集合、序列、元组、函数等概念。能掌握常用的定理证明方法并利用解决实际问题...(5)能够掌握几个经典NP完全问题的来源和性质。

    基于miniSAT实现的SAT求解器.zip

    SAT 问题即命题逻辑公式的可满足性问题(satisfiability problem),是计算机科学与人工智能基本问题,是一个典型的 NP 完全问题,可广泛应用于许多实际问题如硬件设计、安全协议验证等,具有重要理论意义与应用价值...

    基于SAT的数独游戏求解程序

    AT问题即命题逻辑公式的可满足性问题(satisfiability problem),是计算机科学与人工智能基本问题,是一个典型的NP完全问题,可广泛应用于许多实际问题如硬件设计、安全协议验证等,具有重要理论意义与应用价值。...

    一类0-1背包问题算法程序的形式化推导 (2009年)

    0-1背包问题是经典的组合优化问题与NP完全问题,具有重要的应用价值与理论意义.本文使用 PAR (Partition and Recurrence)方法形式化推导了。0-1背包问题的高效动态规划算法程序.通过类比分析,该问题的若干变形问题...

    基于C++ DPLL 算法的 SAT 求解器和二进制数独【100012381】

    SAT 问题即命题逻辑公式的可满足性问题(satisfiability problem),是计算机科学与人工智能基本问题,是一个典型的 NP 完全问题,可广泛应用于许多实际问题如硬件设计、安全协议验证等,具有重要理论意义与应用价值...

    计算机视觉-决策树学习MATLAB源码

    (1)训练一棵最优的决策树是一个完全NP问题。因此, 实际应用时决策树的训练采用启发式搜索算法例如 贪心算法 来达到局部最优。这样的算法没办法得到最优的决策树。 (2)决策树创建的过度复杂会导致无法很好的预测...

    布局问题的复杂性和建模方法 (2003年)

    由于其本身具有NP完全的性质和建模复杂性,求解具有很大的难度。文中着重介绍了布局问题的复杂性和目前存在的多种建模方法,并根据智能工程的理论指出布局问题建模方法的发展方向—建立复杂布局问题的复合知识模型。

    使用序列模型学习表型结构

    我们证明了表型结构发现的问题是NP完全的。 开发了一种有效的算法FINDER,该算法包括三个步骤:1)琐碎的g *序列识别,2)表型结构发现和3)细化。 开发了有效的修剪策略以进一步提高效率。 我们使用合成和真实基因...

    高速通信网络路由算法优化研究

    满足多个约束的QoS路由问题已经被证明是NP完全问题,在分析了多种路由算法 的基础上,设计了一种高效的多约束路由算法。该算法采用了非线性路径长度计算方法, 为提高算法的成功率,在节点的松弛过程中设计了节点...

    大智慧股票本地数据读取接口(含源码)

    iskchjlr 扣除经常性损益后的净利润 num iswfplr 未分配利润 num cfjyhdxjlr 经营活动现金流入 num cfjyhdxjlc 经营活动现金流出 num cfjyhdxjje 经营活动现金净额 num cftzxjlr 投资现金...

    vc++ 开发实例源码包

    2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会涉及多次请求-应答的来回. ...

Global site tag (gtag.js) - Google Analytics