《计算之魂》是吴军老师关于计算机科学方面的新书,试图将计算机科学的本质讲透,此书据吴军老师言:提供计算机思维本质的理解,进而深刻认知计算机,从而对生活学习以及职业发展都有提升作用,并破除程序猿工作一段时间后就干不了或转管理层的“魔咒”,保持“人本猿”对计算机的热爱以及持续探索。计算机在近百年内为人类作出的贡献巨大,作为一个不可或缺的创造工具,我有一些读过了才有的答案和问题。计算机曾经是什么?为什么吴军老师不建议杞人忧天似的去畅想如何逾越图灵画的红线,而这条红线本身具备什么样的思想渊源等等。作者本人吴军老师在计算机领域成就不菲,此书的序也是院士所写,所以很期待精读此书。
序
- 李国杰院士在序中谈及了一些精要提点。
- 人类习惯自下而上、从小到大的正向递推思维,而计算机往往是采用自上而下、先全局后局部的逆向递归思维。
递推和递归思维的表面区别在于人自认为前者更省事,后者还需要更多思考,花费更多精力,极其体现了人的懒惰。而二者的真正的区别在于处理对象是否会持续“增殖”下去,如若以后铁定不会处理这类对象或极少遇到,那么自然前者更省事,但如果对象事件会随着时间而增加,考虑后续大规模处理任务的递归思维则更高效。- 知识三分类:把可以表达的知识叫做“明知识”或“显知识”,不可表达但可感受的知识叫做“潜知识”或“默知识”,现在又多出了一类既不可表达又不可感受但机器能明白的知识,可称为“暗知识”。
潜知识的不可表达却可感受指的是我们无法通过机械地采用分析方法对这种知识内在地加以研究,类似于某种黑箱操作,你不知道它如何操作的(即无法表达),但是却能够 touch 到它呈现出来的结果,知道起始,不明过程,却知结果,弗洛伊德说的潜意识也是如此,但依然无法知道潜意识的作用机制。而暗知识之所以不可表达不可感受在于,首先它是装在机器里的;其次是计算机依据指令序列所进行的数学计算次数过多,于人而言难以表达和感受;而机器能明白就是机器能够依据指令序列按部就班地进行机械计算,每一步在它“心中”都清楚明白。- 读者应该反思自己的思维方式为什么与计算机的“思维”方式背道而驰。
- 与其他学科不同,计算机科学特别关注做不到哪些事情,关注一个算法能解决的问题的边界。······ 人工智能解决的问题的必要条件是应用场景的封闭性,但具体应用场景往往不满足封闭性的要求,需要进行场景裁剪。可以正确判断什么时间点发明什么技术是高水平人才的标志,这需要其具备掌握算法边界的真本事。
吴军老师常说一句话:“人总是容易高估自己的能力,低估自己的潜力。”这从一定程度上来说就是理解了边界的本质,以及巴菲特和芒格常说的要在自己边界里做事也是同一回事。
在具体行业掌握边界需要的是对具体行业纵贯性理解,即从大尺度上理解它的发展渊源,对其历史有着本质性认识,才能够在合适的时间做能做的事情。于人也一样,人一生短短几十年,在哪个时候能做什么事情和最好做什么事情,在历史上其实说的很明白。子曰:三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。
- 郑纬民院士在序中谈及了一些精要提点。
- 计算机专家们在考虑问题时,通常都会把问题的规模设定为近乎无穷大,并且在此基础上考虑解决问题。
这是我自己经常犯的错误,因为为了图当下省事、爽快,做事往往只注重短尺度经验可行性,而懒得想在未来事物数量级增加后造成的不良后果。但如果一开始多花时间想到更普遍、能够容纳更多现象事物的“指令序列”(算法)就好了。- 人们平时在追求着卓越时,通常追求的是单一的目标。但是在应用计算机算法时,我们始终要考虑成本和效率之间的平衡,特别是在时间和空间上的平衡。
这就让我想起了我之前老师说他为联合利华研究产品,虽然东西是搞出来了,但是就是成本太高了,未能市场化。所以能做到是一回事,将做到的东西投入市场化就需要考虑多项针对性因素是更重要的另一回事。
Reference
- 吴军——《计算之魂》