|||
克莱因的书“数学:确定性的消失”(Mathematics: The Loss of Certainty,Par Morris Kline),追溯数学在19世纪、20世纪的发展,从非欧几里得几何、悖论、公理化运动到哥德尔不完备定理,揭示了人们对数学的认识从“确定性”到“不确定性”的变化。“确定性的消失”一说,指当人们看到数学的“不确定性”如沉在海水下面的冰山开始崭露头角时的困惑,如罗素所说:“我在数学里总是希望得到的那种壮丽的确定性,消失在不知所措的困惑之中了”,此“不确定性”与关于数学基础的反思密切相关,谓之“问题的问题”,。。。
后起之秀的计算机科学,在20世纪30、40年代,伴随着数学的公理化运动,为了定义什么是机器可以计算的问题,提出“可计算性”概念,进一步表达为“图灵-丘奇定律”。于可计算问题,计算与判断一致,故“可计算问题”具有“确定性”。与哥德尔不完备定理的角度不同,图灵是从计算的角度,证明了存在着“不可计算问题”-“停机问题”,“停机问题”不可判断,也就是说,“停机问题”具有“不确定性”。
然而随着计算机运用的广泛开展,相对于算法可以求解的问题(P),出现了某些实际问题算法求解困难(NP)。从可计算性的角度,问题可以算法求解实际上就是指“可计算性”,只是这里人们用算法的“多项式时间复杂度”表达了“可计算性”,指机器的能力与问题实例的规模增长相匹配,故机器对这样的问题具有计算的能力:P是可计算的;而问题算法求解困难就是指“不可判定性”,即可计算性意义的算法的存在出现了问题,机器对这样问题不具有(精确)计算的能力:NP“难”到不可计算。然而,就是在这里人们的认知开始出现了偏差:没有看透“多项式时间复杂度”的本质是“可计算性”,仅仅局限于具体问题,混淆了“多项式时间复杂度”与实际计算的“多项式时间”的本质区别(见博文:对“多项式时间复杂度”的误解)!从而,把P认为是一类可计算问题,而NP是另一类可计算问题,NP由此失去了“不确定性”的本质(见博文:NP是可计算的吗?- “问题”的分类)。
在这种意义上,我们或许也可以说,“流行的算法理论:不确定性的消失”!但是,这里的“不确定性的消失”是一种认知的迷失,而克莱因所说的“数学:确定性的消失”的困惑,实际上是一种认知的觉醒。正如克莱因在书的开篇所说:
-战争、饥荒和瘟疫能引起悲剧,然而,人类思想的局限性也能引起智力悲剧。(There are tragedies caused by war, famine, and pestilence. But there are also intellectual tragedies caused by the limitations of the human mind.)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-25 01:30
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社