不确定性的困惑与NP理论分享 http://blog.sciencenet.cn/u/liuyu2205 平常心是道

博文

“不确定性问题(NP)”案例分析 - HCP与CP

已有 5614 次阅读 2017-2-13 21:40 |个人分类:不确定性问题和算法讨论|系统分类:科研笔记| HCP

众所周知,判断哈密尔顿回路的存在是一个NP问题,而判断普通回路的存在却是一个P问题。我们对比分析这二个问题,帮助直觉体会NP的本质属性,揭示“多项式时间可验证”的流行NP定义所隐藏的认知错误。

一,Cycle Problem(CP)与Hamiltonian Cycle Problem(HCP)

设G=(V,E)是无向图,V是结点的集合,E是边的集合,记结点数n和边数m:|V|=n,|E|=m。

CP:任给一个无向图,判断是否存在普通回路。

HCP:任给一个无向图,判断是否存在哈密尔顿回路。

这里我们只考虑连通无向图,举二个实例:图G1存在哈密尔顿回路(6 1 2 3 4 5 7 6);图G2不存在哈密尔顿回路。



二,求解CP

由图论即可判断普通回路的存在性:若m=n-1,则G是树,不存在回路;若m>=n,则G不是树,存在普通回路。

若普通回路存在,通常可采取深度优先搜索(DFS)算法构造此回路:在搜索的过程中,如果发现正在访问的结点有一条边指向已经访问过的结点,则表示是回路,算法停止搜索。

深度优先搜索算法的复杂度是多项式:O(n+m)。

对于G1和G2,假设每个结点的相邻结点按序号从小到大排列,以结点6作为搜索的起点,深度优先搜索出一条普通回路:1 2 3 1。

三,求解HCP

对于一般的无向图,没有如判断普通回路存在的分析性质,只能采取“猜测+验证”的搜索方法来判断。

这里依然采取深度优先搜索算法的框架来说明,在搜索的过程中保存正在构造的回路,每次只加还未出现于其中的结点,若没有这样的结点可加,则说明所得是一条回路,若此回路是哈密尔顿回路,则搜索停止,见图G1;若此回路不是哈密尔顿回路,则需回溯到某个可以继续搜索的结点,再重复上述过程。如果寻找不到哈密尔顿回路,则搜索会一直进行下去,见图G2。

这个加了回溯机制的搜索算法,其算法复杂度成为指数型,对应HCP的搜索空间规模。

四,对比HCP与CP

我们可以看到,对于搜索过程中的一个结点序列:v1 v2…vk v1,vi/=vj,通过检查vi与vi+1是否相邻,及根据k<n或k=n,就可以验证此序列是普通回路还是哈密尔顿回路。但此“多项式时间可验证”是HCP与CP共有的属性,并不能区别HCP与CP,也就是说,当问:HCP与CP有什么不同?不能回答:“多项式时间可验证”。

那么HCP与CP到底有什么不同?表现在“判定问题”的层次:普通回路具有“线性结构”,在实际构造回路之前,就能通过分析性质判断回路的存在。然而,哈密尔顿回路具有“非线性结构”,无分析性质可判断哈密尔顿回路的存在,只能通过实际构造回路来判断:当算法搜索到一条哈密尔顿回路时,回答yes;但是当搜索的结果不是哈密尔顿回路时,不能回答no,需回溯继续搜索。又因HCP的搜索空间规模为指数型,而图灵机的计算能力无法胜任问题规模的指数级增长,故在实时意义下,搜索可能无穷进行下去,永远无法判断该图是否存在哈密尔顿回路,这正是HCP与CP的根本区别,反映的是“确定性”与“不确定性”的本质区别,也是基于NDTM诸NP流行定义最大的认知盲点所在(见从集合论的观点看NP)!

由此可见,“多项式时间可验证”的本质是P,根本无法定义NP,如果坚持用之定义NP,只能导致NP的本质“不确定性”消失,引起对NP认知的混淆和表达的混乱,让NP理论的研究从此失去方向,无法与现在蓬勃发展的人工智能理论衔接。




https://blog.sciencenet.cn/blog-2322490-1033428.html

上一篇:从集合论的观点看NP
下一篇:国际科普活动:脑宣传周(Brain Awareness Week)(1)
收藏 IP: 58.19.18.*| 热度|

1 杨正瓴

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

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

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

GMT+8, 2024-11-26 11:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部