CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

通俗解释P与NP这个世界难题

已有 7748 次阅读 2017-11-8 07:11 |个人分类:P/NP问题|系统分类:科研笔记| 3-SAT

通俗解释PNP这个世界难题

姜咏江

       与人工智能关系重大的PNP问题,是美国克雷数学所千禧年以百万美元大奖悬赏的七大难题之一。通俗地讲,就是“最坏在指数时间可以猜测验证答案的问题,是否可以在多项式时间求出一个正确答案”。前类问题称为NP,后类问题称为P,一般表示为P?=NP

例如,最多由3个不同逻辑变量值的或运算组成的多项式叫子句,若干个子句的与运算叫合取范式。问,能否找到n个变量的一组值使合取范式的结果为1

这个实例叫布尔可满足性问题,也叫3-SAT问题。3-SAT问题直接涉及到集成电路可靠性分析等。人们已经证明了,如果3-SAT可以在多项式时间求出答案,那么P=NP就成立。

每个子句变量值不多于k个的子句所成的合取范式叫SAT。能够将其它NP问题,通过多项式时间转化为SAT问题的一类,称为NP完全问题,简写成NPC。由于所有SAT都可以转化成3-SAT,所以谁能够解决3-SATNPC中任何一个,那么就等同证明了P=NP

NPC问题有很多,典型的还有子集和问题、哈密顿回路问题、背包问题、邮差问题、图的顶点覆盖问题、因素效果分析问题等。

什么是指数时间?就是事情的解决是概率性的。即一次处理得到的结果不一定对,需要验证才能够知道。这多体现为重复进行某种操作才可以得到正确答案。

什么是多项式时间?就是一次性处理就可以得到正确的答案。

变量x多项式的数学表达为:a+bx+cx2+…+ξxk       ,其中k是常数。如果错误地将k理解成变量,就会混淆指数和多项式。例如组合和表达式(n0)+(n1)+…+(nk)+(nk+1) +…+(nn-1) +(nn)=2n,这里n是变量,此为n个元素从0取到n个的组合数之和。实际上这是是指数2n的另一种表达形式,不是PNP问题所说的多项式。

PNP问题从上个世纪70年代,史提芬.库克提出NPC类之后,学界已经认为只要能够找到一个NPC类问题的多项式时间解法,那么就证明了P=NP。近些年国外学者屡次发表PNP的证明,都未被承认。笔者认为这不是一个纯理论证明的问题,而是一个创造理论实现证明的实际依据问题。解决PNP问题,最有力的关键是要找出NPC类某个问题的多项式时间算法,或者没有。由于n是趋于无限大的,这让后者的逻辑证明进入了死穴。

PNP问题国内研究的学者不很多,因而许多问题都不会与其关联。笔者深入研究了SAT,发现用限位数理论去分析逻辑变量的可选值,逐步消去那些只能取唯一值变量,消去结果为真的子句,如果合取范式有解,那么就可在不超过O(n4)时间复杂度,即不超过4次多项式时间,可求出3-SAT满足解。

维基百科上有P/NP问题介绍,想了解更多可以去读。

2017-11-8




https://blog.sciencenet.cn/blog-340399-1084248.html

上一篇:现在一个人能造计算机吗?
下一篇:温故而知新
收藏 IP: 219.147.95.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-21 23:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部