P对NP问题的定义
答案:1 悬赏:80
解决时间 2021-01-12 17:55
- 提问者网友:酱爆肉
- 2021-01-12 10:03
P对NP问题的定义
最佳答案
- 二级知识专家网友:煞尾
- 2021-01-12 11:22
为了研究问题的复杂性,我们必须将问题抽象,为了简化问题,我们只考虑一类简单的问题,判定性问题,即提出一个问题,只需要回答yes或者 no的问题。任何一般的最优化问题都可以转化为一系列判定性问题,比如求图中从A到B的最短路径,可以转化成:从A到B是否有长度为1的路径?从A到B是否有长度为2的路径?。。。从A到B是否有长度为k的路径?如果问到了k的时候回答了yes,则停止发问,我们可以说从A到B的最短路径就是k。如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。然而有些问题很难找到多项式时间的算法(或许根本不存在),比如找出无向图中的哈米尔顿回路问题,但是我们发现如果给了我们该问题的一个答案,我们可以在多项式时间内判断这个答案是否正确。比如说对于哈米尔顿回路问题,给一个任意的回路,我们很容易判断他是否是哈米尔顿回路(只要看是不是所有的顶点都在回路中就可以了)。这种可以在多项式时间内验证一个解是否正确的问题称为NP问题。显然,所有的P类问题都是属于NP问题的,但是现在的问题是,P是否等于NP?这个问题至今还未解决。这就是P对NP问题。
“P类”、“NP类”、“更复杂的类”,是确定型Turing机DTM中的不同复杂性分类。这些分类是由不同问题的性质决定的,还是我们目前没有找到好的DTM解决方法形成的?这就是“P对NP”问题上。它的基本意思是:
(1)P=NP:我们最终能够找到一些计算方法,使得NDTM能够快速解决的问题,在DTM上也能够快速解决。快速的意思是“使用不超过输入字符串的多项式时间”。
(2)P≠NP:NP只能用NDTM快速解决,而不能用DTM快速解决。
假如P≠NP,关于NP类内部的结构,可以再分成3个区域:P、NPC和NPI。
NPC和是NP里“最难的”问题,因为任何NP中的问题可以在多项式时间内变换成为任何特定NPC(NP-完全问题,NP-completeness)的一个特例。这就是说,如果找到一个NPC问题的快速解决方法,则所有的NP问题都可以快速解决了。NPI是NP中既不是P又不是NPC的问题类,如果P≠NP。
例如,密码学中的“素数分解”(大数分解和素性检测),就是一个NPC问题。假如P=NP,密码学的工作者必须改造的工作,实在是太多了!如果P=NP,则现有的大量密文都是容易解密的。
“P类”、“NP类”、“更复杂的类”,是确定型Turing机DTM中的不同复杂性分类。这些分类是由不同问题的性质决定的,还是我们目前没有找到好的DTM解决方法形成的?这就是“P对NP”问题上。它的基本意思是:
(1)P=NP:我们最终能够找到一些计算方法,使得NDTM能够快速解决的问题,在DTM上也能够快速解决。快速的意思是“使用不超过输入字符串的多项式时间”。
(2)P≠NP:NP只能用NDTM快速解决,而不能用DTM快速解决。
假如P≠NP,关于NP类内部的结构,可以再分成3个区域:P、NPC和NPI。
NPC和是NP里“最难的”问题,因为任何NP中的问题可以在多项式时间内变换成为任何特定NPC(NP-完全问题,NP-completeness)的一个特例。这就是说,如果找到一个NPC问题的快速解决方法,则所有的NP问题都可以快速解决了。NPI是NP中既不是P又不是NPC的问题类,如果P≠NP。
例如,密码学中的“素数分解”(大数分解和素性检测),就是一个NPC问题。假如P=NP,密码学的工作者必须改造的工作,实在是太多了!如果P=NP,则现有的大量密文都是容易解密的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯