什么是NP问题,什么有是NP完全问题

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 19:11:52
什么是NP问题,什么有是NP完全问题

什么是NP问题,什么有是NP完全问题
什么是NP问题,什么有是NP完全问题

什么是NP问题,什么有是NP完全问题
NP问题:完全(NP Complete,NPC)问题是指这样一类NP问题,所有的NP问题都可以用多项式时间划归到他们中的一个.所以显然NP完全的问题具有如下性质:它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解.
首先需要介绍P(Polynomial,多项式)问题.P问题是可以在多项式时间内被确定机(通常意义的计算机)解决的问题.NP(Non-Deterministic Polynomial,非确定多项式)问题,是指可以在多项式时间内被非确定机(他可以猜,他总是能猜到最能满足你需要的那种选择,如果你让他解决n皇后问题,他只要猜n次就能完成----每次都是那么幸运)解决的问题.这里有一个著名的问题----千禧难题之首,是说P问题是否等于NP问题,也即是否所有在非确定机上多项式可解的问题都能在确定机上用多项式时间求解.
这样一来,只要我们找到一个NPC问题的多项式解,所有的NP问题都可以多项式时间内划归成这个NPC问题,再用多项式时间解决,这样NP就等于P了.
换一种说法,如果一个问题的复杂度是该问题的一个实例规模n的多项式函数,则这种可以在多项式时间内解决的问题属于P类问题.通俗地称所有复杂度为多项式时间的问题为易解的问题类,否则为难解的问题.
有些问题很难找到多项式时间的算法(或许根本不存在),例如“找出无向图中哈密顿回路”问题.但如果给了该问题的一个答案,可以在多项式时间内判断这个答案是否正确.例如说对于哈密顿回路问题,给一个任意的回路,很容易判断它是否是哈密顿回路(只要看是不是所有的顶点都在回路中就可以了).这里给出NP问题的另一个定义,这种可以在多项式时间内验证一个解是否正确的问题称为NP问题,亦称为验证问题类.
简单的说,存在多项式时间的算法的一类问题,称之为P类问题;而像梵塔问题,推销员旅行问题等问题,至今没有找到多项式时间算法解的一类问题,称之为NP问题.同时,P类问题是NP问题的一个子集.
NP完全问题:NP完全问题,是世界七大数学难题之一.NP的英文全称是Non-deterministic Polynomial的问题,即多项式复杂程度的非确定性问题.简单的写法是 NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P.
NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题.
而如果任何一个NP问题都能通过一个多项式时间算法转换为某个NP问题,那么这个NP问题就称为NP完全问题(Non-deterministic Polynomial complete problem).NP完全问题也叫做NPC问题.
以上来自百度.