首页 > 编程知识 正文

特别难回答的问题,np难问题有哪些

时间:2023-05-06 16:58:47 阅读:27656 作者:844

定义33558www.Sina.com/NP问题和p类问题,并介绍常见NP问题和NP问题的几种求解方法,最后展望NP问题求解的发展方向。摘要:

NP难题p型问题算法优化问题

关键词:

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

为了说明NP难题和p型问题,首先介绍了确定性算法和非确定性算法两个概念,把a作为求解问题的一个算法,在算法执行过程中,每个步骤只有一个确定性选择的情况下,算法a为http://www 假设称为http://www.Sina.com/3358 www.Sina.com.3358 ww的a是求解问题的算法,则当算法a运行时,算法a推测并验证如下: http://www.Sina.com/:(1)猜测阶段)本阶段,针对问题;(2)验证阶段)本阶段,用一个确定性算法进行验证。 检查猜测阶段生成的串y是否为合适的形式,否则停止算法得到否。 如果串y是合适的形式,验证它是否是问题的解,否则停止算法得到是,否则停止算法得到否。

NP难题是什么? 如果存在对于给定判决问题的非负整数k,并且可以在o(NK )的时间内对输入规模为n的实例执行非确定性算法以获得是或否的答案,则判决问题为http://www.Sina.com/http://www.no

是判定问题。 据悉,针对NP类问题分别存在'p时,判定问题为http://www.Sina.com/3358 www.Sina.com /。

什么是p类问题? 对于某个判决问题,如果存在非负整数k且输入规模为n的实例的o (在NK的时间内可以执行确定性算法得到是或否的答案,则该判决问题为http://www.Sina.com/http://www

p类问题和NP类问题的主要区别: p类问题可以用多项式时间确定性算法判定或求解; NP类问题可以用多项式时间的非确定性算法来判定或求解。

正文:

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

我介绍了什么是NP问题,下面是我调查过的一些常见的NP问题。 他们同时也是有名的NP问题。

3358 www.Sina.com/http://www.Sina.com /如图所示着色16边,无论从哪里出发,只要沿着“蓝红蓝红红红红红红红”的路线走9步,最后一定会到达黄色的顶点。 路线着色定理是指,在满足一定条件的有向图中,一定存在这种着色方法。 的数学描述如下。 首先,定义同步着色。 g是有限的有向图,g的各顶点的出度为k。 g的一个同时着色满足以下两个条件: 1 )有g的各顶点,只有一条边缘染成1~k之间的颜色; 2 ) g的每个顶点对应一种行走方式,无论从哪里出发,只要照着走,最后都以那个顶点结束。 有向图g是同步的

http://www.Sina.com/http://www.Sina.com /

颜色的必要条件是g紧密相连且非周期性。 有向图非周期性意味着该图中包含的所有循环的长度都不具有大于1的公约数。 路线着色定理这两个条件(强连通和非周期)也是充分的。 也就是说,有向图g中存在同步着色当量,只在g为强连通且非周期性的情况下存在。

一.天文学家汉密尔顿(William Rowan Hamilton )建议在有多个城市的地图网络中寻找从特定起点到特定终点正好经过所有其他城市一次的路径这个问题和有名的过桥问题的区别在于,一些城市之间的旅行不一定是双向的。 例如AB,但不允许BA。 换句话说,对于一个网络,确定了起点和终点后,就存在路径,穿过该网络,就说在该网络中存在哈密顿路径。 哈密路问题在20世纪70年代初,终于被证明是“NP完备”。 据说具有这种性质的问题很难找到有效的算法。 实际上,一些顶点数小于100的网络即使使用现有的最好算法和计算机,也需要时间来确定是否存在这样的路径。

NP

ng>问题:旅行商问题,即TSP问题(Traveling Salesman Problem)是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路经的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。

上面三个即是非常著名的NP问题,也是比较常见的NP问题。它们的求解算法非常复杂,要寻找到一个最优算法需要花费很长的时间,但正因为这些问题的复杂性,使得它们备受人们的关注。当然NP问题本身也是世界七大数学难题之一。

 

三.求解NP类问题的常见方法

对于那些棘手的NP问题,我们也并非束手无策,有一些方法可供我们去探究NP问题。

①近似算法:所有已知的解决NP难问题算法都有指数型运行时间。但是,如果我们要找一个“好”解而非最优解,有时候多项式算法是存在的。给定一个最小化问题和一个近似算法,我们按照如下方法评价算法:首先给出最优解的一个下界,然后把算法的运行结果与这个下界进行比较。对于最大化问题,先给出一个上界然后把算法的运行结果与这个上界比较。近似算法比较经典的问题包括:最小顶点覆盖、旅行售货员问题、集合覆盖等。

②概率算法:很多算法的每一个计算步骤都是固定的,而概率算法允许算法在执行的过程中随机选择下一个计算步骤。许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时。因此概率算法可在很大程度上降低算法的复杂度。概率算法的一个基本特征是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的效果。这两次求解问题所需的时间甚至所得到的结果可能会有相当大的差别。一般情况下,可将概率算法大致分为四类:数值概率算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法。

③并行计算:并行计算或称平行计算是相对于串行计算来说的。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本 ― 使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。包含以下三个特征:1,将工作分离成离散部分,有助于同时解决;2,随时并及时地执行多个程序指令;,3,

 

 

多计算资源下解决问题的耗时要少于单个计算资源下的耗时。

④智能算法:在工程实践中,经常会接触到一些比较“新颖”的算法或理论,比如模拟退火,遗传算法,禁忌搜索,神经网络等。这些算法或理论都有一些共同的特性(比如模拟自然过程),通称为“智能算法”。智能优化算法要解决的一般是最优化问题。最优化问题可以分为(1)求解一个函数中,使得函数值最小的自变量取值的函数优化问题和(2)在一个解空间里面,寻找最优解,使目标函数值最小的组合优化问题。典型的组合优化问题有:旅行商问题(Traveling Salesman Problem,TSP),加工调度问题(Scheduling Problem),0-1背包问题(Knapsack Problem),以及装箱问题(Bin Packing Problem)等。优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬山法,最速下降法等,本文介绍的模拟退火、遗传算法以及禁忌搜索称作指导性搜索法。而神经网络,混沌搜索则属于系统动态演化方法。

 

四.NP问题求解未来发展方向

NP问题是世界七大数学难题之一,在名称上就有别于其它六个问题,也是其中唯一一个不是用人名来命名的数学难题。因为它不是某个数学家火花一闪、灵机一动所提出的理论或是猜测,而是一个非常古老的问题,涉及到了最基础的数学理论,并且经过了几百年来无数数学家们持之以恒的努力,直到现在仍然是一个没有得到解决的公开问题。

NP问题排在世界七大数学难题之首,七个问题都是经过美国克雷数学研究所的科学顾问委员会精心挑选出来的,这些问题的获解上哪怕是获得了些许的进展,就将对数学理论的发展和应用产生极其巨大的推动作用。研究这些“千年大奖问题”已经成为世界数学界的热点,不少国家的数学家正在组织联合攻关,同时它们也是任何一个数学工作者都梦寐以求予以摘取的数学皇冠上的耀眼明珠。可以预期,这些“千年大奖问题”将会改变新世纪数学发展的历史进程。因此NP问题的求解将会不断地被注视着,当然如果有一天它被人求解出来,那么我们身边的许多问题将会被解决。

 

参考文献:

[1] 英勇的鸭子 整齐的超短裙. 《近世计算理论导引:NP难度问题的背景、前景及其求解算法研究》. 科学出版社 2004.  87

[2] hsjd 沉静的小丸子. 《计算机数学:计算复杂性理论与NPC、NP难问题的求解》 科学出版社.  2001.  292

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。