|||
世纪难题“P versus NP”,通俗地讲,P代表计算机易解决的一类问题,NP代表计算机难解决的一类问题,“P versus NP”就是问:NP这类困难的问题到底能否被计算机有效解决(NP=P)?与此问题相关的研究,就形成了计算复杂性理论。
库克(Cook)1971年的那篇论文《The Complexity of Theorem Proving Procedures》,奠定了计算复杂性理论的基础。一方面,该论文提出了逻辑问题SAT(Boolean satisfiability problem)来表达NP;另一方面,却将“求解”与“验证”混淆,得出了NP二个定义等价:
-The two definitions of NP as the class of problems solvable by a nondeterministic Turing machine in polynomial time and the class of problems verifiable by a deterministic Turing machine in polynomial time are equivalent. The proof is described by many textbooks, for example Sipser’s Introduction to the Theory of Computation, section 7.3 [5] (http://en.wikipedia.org/wiki/NP (complexity) )。
将“求解”与“验证”混淆,可类比于音乐作曲与音乐欣赏的混淆,即发生了概念偷换,照理说这样的认知错误不难被人们识别,但是NP二个定义等价却被学术界和大众广泛认可,至今不疑,这表明其中隐藏着深层次的认知问题,。。。
这里,我们用中国古代哲学家公孙龙(约公元前320-250)提出的著名的逻辑问题“白马非马”,来帮助解读此认知错误。
一,“白马非马”
1,“白马非马”典故
一天,公孙龙骑着一匹白马要进城,城门的门卫说,“白马是马”,依照规定马不可以进城。于是,公孙龙就开始他的论证 – “白马非马”,最后说服了门卫,骑着他的白马进城去了。
2,“白马非马”论证-《公孙龙·白马论》
『白马非马』,可乎?
曰:可。
曰:何哉?
曰:马者,所以命形也;白者所以命色也。命色者非命形也。故曰:『 白马非马』。
曰:有白马不可谓无马也。不可谓无马者,非马也?有白马为有马,白之,非马何也?
曰:求马,黄、黑马皆可致;求白马,黄、黑马不可致。使白马乃马也,是所求一也。所求一者,白者不异马也。所求不异,如黄、黑马有可有不可,何也?
可与不可,其相非,明。故黄、黑马一也,而可以应有马,而不可以应有白马,是白马之非马,审矣!
3,“白马非马”的解读
“白马非马”典故包含了二个命题:
-“白马是马”:站在门卫的立场,他只注意⼀般的马类,不管是黄马、黑马、白马都属于⼀般的马类。
-“白马非马”:站在公孙龙的立场,他在马类中还要分别白马类,故“白马非马”指白马类不是马类。
这两个命题各自都是正确的,但两者发生混淆就错了,由于门卫不能坚持自⼰原来的认知立场,附和了公孙龙的逻辑,被绕晕成了糊涂⾍。
二,“白马非马”与“P versus NP”
基于“验证”的NP定义,指面对具体对象,验证其是否为解,其本质是P,故若用“可验证性”来定义NP,就意味着NP=P,也就是说,“不确定性”从NP中消失了,就相当于混淆了门卫的立场与公孙龙的立场,这二个不同层次。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-24 07:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社