推荐四本能深刻展现数学和计算科学魅力的书:《数学之美》、《计算之魂》、《吴军数学通识讲义》、《魔法数学》。
一、《数学之美》
吴军博士的《数学之美》,读起来淋漓而畅快。

先抛出一个问题:怎样辨别一个人是否有趣?
我的答案是:那些觉得数学有趣的人,往往最有趣。
1。
数学之美是内敛的,是极其富有逻辑性的,是需要经过深刻思考和体悟的。因而能体会到数学美感的人,他们看待这个世界的角度和态度往往是异于常人的,他们总能观察到那些平凡事物背后的有趣之处。
如果你也是觉得数学是一门有趣的学科,那请相信,吴军博士的这本《数学之美》就是献给你的最好的礼物。
作为一本数学方面的科普读物,它在信息量与可理解性上达到了完美的平衡。它内容稍显硬核,却又通过各种实例把高深的数学原理讲述的足够通俗易懂,让非专业的读者也能一窥数学之美。
2。
说到这里,就不得不先介绍一下本书的作者吴军博士。他曾作为资深研究员和副总裁分别任职于Google和腾讯。在Google时,他和同事一同开创了搜索反作弊研究领域,领导了Google自然语言处理和自动问答等研究型项目。在腾讯,他又负责了搜索、搜索广告和街景地图等项目。


所以在《数学之美》中,吴军博士谈及了很多常见的数学原理和概念是如何在这些巨头企业运用的,比如搜索引擎与布尔运算的紧密联系,手机导航中用到的动态规划技术,运用余弦定理实现对新闻内容的准确分类,以及逻辑回归模型对提升搜索广告匹配度的重要性等等。
除了上述提到的这些,吴军博士也在本书中介绍了一些数学史故事。
我们会惊讶地发现,在人类历史上,数学也经常在人们面临绝境之际,以一种“山重水复疑无路,柳暗花明又一村”的姿态闪亮登场。
比如当众多天文学家还在学习着托勒密的那套用 40-60 个大圆套小圆的极端复杂的方式来描写行星运动的轨迹时,开普勒用一个椭圆就能将星体运动规律描述得很清楚。


当二战时的盟军被日德等国打得灰头土脸之际,一大批数学家对敌方情报密码的成功破译,极大推动了盟军胜利的步伐。
真真是一群数学家,堪挡十万敌。


3。
说句实在话,数学这门学科,对于我们这些普通人的影响往往不是外显的。
日常生活中我们经常会用到互联网产品和服务,几乎都与数学有着千丝万缕的联系。譬如,淘宝的千人千面、微信的朋友圈广告,乃至在知乎这个平台里的回答排序逻辑等等。只是少有人去关心这些罢了。
但或许通过《数学之美》这本书,就能够稍微帮助你打开一扇新世界的大门。
你也许可以从中得到一些获取新知识的愉悦感,也许能够在日常工作生活中实际应用到,也许可以帮你触类旁通、开拓思路,最不济也是增加几分钟的饭桌谈资嘛。
就以我自己为例。
在我阅读的第三版的《数学之美》中,较之前增加了关于区块链、量子通信以及人工智能等近几年颇为热门产业内容。


本来呢,因为国内数字货币、区块链的行业乱象,我对区块链本身是无甚好感的。但通过吴军老师的介绍,我才算是明白区块链本身的技术原理和其背后巨大的实用价值。
所以你看,数学也是能够对一个人的价值体系进行补全和优化,使之成为一个包容性更强的人。
4。
另外,在《数学之美》中,吴军老师也提到数学是一种思维。
许多现实存在的复杂问题,往往可以抽象成为一种简单的数学模型,用极其简单的数学概念或者公式就能表达。比如数学家欧拉就曾把看似复杂哥尼斯堡七桥问题,抽象为简单的数学模型,然后分分钟完成破解。


诸如此类的数学思维,在我们的日常生活和工作中,完全可以派上用场。
最后,总结陈词。
数学作为人类思维的表达形式,反映的是人类缜密的思维、对自然科学的进取之心等极端美好的人格特质。
它值得我们多花些时间和精力去了解、去瞻仰、去学习、去探索,甚至是补全。
P.S.
我读书有个习惯,遇到一本觉得特别棒的书,会注意记录作者在这本书中提及的其他书。
吴军博士在 《数学之美》中推荐了两本书:《从一到无穷大》,一本介绍宇宙的科普读物。《时间简史》,同样是一本经典的科普读物,用最简单的语言把宇宙学原理讲得很透彻。
啊,科普作家真得是最一群最可爱的人。
他们总是有办法深入浅出地把大道理讲给外行听,用很简单的比喻就能将领域内最深奥的道理说得很清楚。
二、《计算之魂》
《计算之魂》的作者也是吴军博士,而且《计算之魂》也是《数学之美》的姊妹篇。虽然是主讲计算机算法,但也贯穿地讲述了很多数学思想。
杨振宁先生说过,科学也是有“品位”一说的。科学的品位不足,只能解决一般的工程问题,自然就陷入了成长停滞。
同样的,计算机从业者要想获得持续进步,找到进步的方向,那就必须要有计算机科学的“品位”。
那究竟应该如何提升“品位”呢?
《计算之魂》的作者、信息领域的知名专家吴军博士给了 3 点建议。
1、洞悉计算机科学的本质、精髓和灵魂
一句话总结,熟知计算机科学的发展变化规律,详细深入地掌握计算机领域的广度和深度,知识的广度能告诉你什么是正确的方向,知识的深度则可以让你在该方向上快速前进。
比如说,《计算之魂》中吴军博士提到如果说在计算机科学中第一重要的思想是递归,那第二重要的恐怕就是分治算法。对分治算法理解的水平和应用的熟练程度,是衡量一个计算机工程师的标尺。


很多人肯定都会说,分治算法我了解的。但是,很抱歉,你可能只是了解它最浅层面的东西。实际上,对分治算法的理解可以包括三个层次。
第一个层次,是了解皮毛,会做算法书上的一些练习题,这个层次的人可以从事计算机的技术工作,但是很快就会遇到职业发展的天花板。
第二个层次,是能灵活运用分治的思想方法,用计算机来解决大问题。
第三个层次,是能把分治算法发扬光大,解决那些在别人看来无解的问题,比如发明云计算工具 MapReduce 的那些人。
2、清楚计算机科学的边界在哪里
计算机科学不是万能的,同其他学科一样也是存在固有的边界,有些问题属实从理论上就做不到的。
关于这点,《计算之魂》里的很多观点能刷新我们的认知。
比如说,人工智能是基于大数据的深度数学,我们可以把人工智能系统理解为由特定程序控制的、能够解决某一类问题的计算机,像语音识别、无人驾驶、下围棋等。


但人工智能可解决的问题只是有答案的问题中很少的一部分,他并没有超过图灵机可计算的范畴。
甚至 80 多年前图灵为计算机所能解决的问题划的那条线,至今还没有被逾越。
3、理解计算机科学的美感
计算机科学的美感很大程度上与数学、物理的美感都是相通的,简洁而优雅。
很多看似复杂的问题,解决方法都是如此地简洁而优雅。比如哈夫曼编码算法,网页排名的算法,图论中的最短路径。


吴军博士在《计算之魂》中对 Dijkstra 算法进行讲解时,也不禁赞叹该算法最了不起的地方在于:采用 Dijkstra 算法计算某些问题要比枚举法快了百万倍、千万倍,它成功地将原本一个指数复杂度的问题,变成了一个平方复杂度的问题。
二、值得读三遍的《计算之魂》
《计算之魂》这本书以点带面串联起很多计算机科学的知识点,在阅读过程中需要读者专注和联结——专注讲解的过程,联结自己的知识体系。
如果你是计算机工程师,并有着提升技术的渴求,推荐将《计算之魂》读 3 遍。
第一遍:读懂例题
在读第一遍的时候,需要跟着吴军博士的思路,读懂 40 余道算法相关的例题;
在《计算之魂》中,吴军博士非常详细地讲解了覆盖大 O 概念、图论、存储、分治等多个分支,顺带提一嘴,书中的例题要么是吴军博士在 Google 和腾讯面试候选人的考题,要么是美国金融企业或顶级科技企业(如苹果、亚马逊、微软)的面试题,题目质量相当高。
通过这些例题以及书中设置的练习题,大致可以摸索清楚自己的水平在哪里,距离顶级计算机企业的要求还差多远。
第二遍:弥补薄弱
如果说读第一遍是囫囵吐枣、照单全收。
那第二遍,就是要有侧重地读,在阅读中发现自己的技术薄弱点,然后重点弥补薄弱环节;
比如说,比如你发现自己对递归比较熟,但是对图论的理解相对浅薄,那就重点去读《图论及其应用》那一章,将那章彻彻底底地吃透,甚至可以结合着其他资料一起来相互印证。
第三遍:据为己有
有时候,我们以为自己掌握了某个领域的知识,但是总经不起细问。说到底,还是功夫不到家。
所以读第三遍的目的,就是要确保自己已经完全掌握了书中所涉及的算法的精髓,熟练到可以用自己的思路将算法核心讲透、讲明白。
要知道,真正的大佬是可以把一个复杂的理论说得极为简洁透彻的;毕竟一个人只有对自己的专业领域有着深刻的认知,那么他才能把关键信息极度凝练,才能做到通俗易懂。
不然你换一个人试试,有几个能做到面对提问不假思索就可以回答,且逻辑清晰的。
三、《计算之魂》= 心法秘籍
你当然可以将这本书当做求职面试前刷题的参考书,毕竟吴军博士在书中直言,如果一个计算机工程师能够解决书中大部分的面试题,并且理解其中的道理,完全可以被顶级的互联网公司或科技企业录用。
但如果仅仅只是这样,貌似就显得有些狭隘了。
《计算之魂》不仅仅是一本“武功口诀”,更是一部“心法秘籍”。
吴军博士在讲解每个例题的时候,不仅详细分析了解决这些例题所需要用到的计算机科学的精髓,还告知了不同水平的计算机工程师大概可以思考到怎样的深度,所以你完全可以通过本书来自我衡量自己处于怎样的计算机水平,了解自己和前面各级的差距到底在哪。


招式好练,心法难求。心法悟透了,再去练招式也能够事半功倍。
当然,这本书也不是只适合一线工程师阅读,得益于吴军老师的深入浅出,所有有志于学习科技、了解科技的读者都可以从《计算之魂》中了解 IT 产业的技术特点、掌握一些特殊的思维方式。
毕竟啊,某项计算机技术可能会因为时代的发展而不再吃香,但计算思维却会长久伴你成长,影响做事的方式方法。
三、《魔法数学》
《魔法数学》是由@知乎图书出品的一本关于数学的科普读物。


本书通过 16 个小故事分别讲述了那些描述简单但却极难解决的数学未解之谜,生动地展现了独属于数学的优雅与神秘。
比如:
- 存在无穷多个孪生质数;
- 大于 2 的所有偶数都可以表示为两个质数的和;
- 有无穷多个完全数。
这些数学猜想的描述是如此简洁,寥寥十几二十字就能将阐述得足够清楚,但哪怕距离提出已过去数百年,人类依然未能将这些猜想完全证明。
极简的表述与极难的证明,在数学层面竟然如此矛盾而自然地结合在了一起。


在我看来,《魔法数学》不仅是一本数学科普书,还是引导我们亲近数学的钥匙。
甚至这也是一本很适合和孩子一起读的故事书。借由本书,你可以将这些数学猜想以一个个精彩且引人入胜的魔法故事的形式讲给孩子听 ,激发孩子对于数学的兴趣。
时至今日,我仍清晰地记得少年时的我痴迷于各种世界未解之谜,那些故事和美妙的阅读经历虽最终未能将我的人生方向引至科研,但也是很好地培养了我对世界的好奇心和对阅读的无限热爱。
如果我的个人亲历不具备说服力,那知名数学家安德鲁·怀尔斯显然是个更典型的例子。


他在 10 岁时第一次了解费马大定理,就被其言简意赅的问题表述所深深吸引。
当整数n 2时,关于x, y, z的不定方程 x^n + y^n = z^n 无正整数解。
从此安德鲁·怀尔斯选择了数学作为终身职业,并在 41 岁那年成功证明了这个历时 350 多年的世界难题。
所以说啊,数学猜想才是引起数学兴趣的最佳方式之一。如果你想培养孩子对于数学的兴趣,那不妨考虑从《魔法数学》这本书入手,让孩子感受下数学的无尽魔力。
可能会有一些人会疑惑,研究这些数学的未解之谜有什么意义?
当记者采访登山家乔治·马洛里时问道:为什么要去爬珠穆朗玛峰? 他的回答是:因为山就在那里。
同样的,人类去研究这些数学难题也恰恰是因为它们正摆在那里,像横亘在人类探索宇宙的道路上的巨石,不移开总觉得会有些别扭。
很多数学理论发展至今,并不是为了解决当下面临的实际问题。
但科学的发展就是如此,科学探索永远走在前面,就像早期研究质数的数学家,估计怎么也想不到他们的研究成果最终可以用于加密算法中,保障每个人的信息和财产安全。
而布尔代数提出后的 80 多年里,也确实没有什么像样的应用。直到 1938 年香农指出用布尔代数来实现开关电路,使得布尔代数成为数学电路的基础。然后接下来的许多年里,众多工程师和数学家开始用一个个开关电路最终“搭出”了电子计算机。


一句话总结就是:我们总不能在后代需要这些数学理论的时候,才抱歉地告诉他们:对不起,这些问题我们那时候没做过相关研究。
四、《吴军数学通识讲义》


又一本吴军博士的数学著作。豆瓣评分 9.1 分。
如何一眼识破庞氏骗局、做好理财、投资?如何在购房贷款时做出最优选择?如何增加简历通过初筛的几率?如何规划公司的发展曲线?更重要的是,如何提升自己的认知水平?如何改变自己的思维方式?
如果你也关注这些问题,希望借助数学思维来更好地提升自己、认知世界,这本书希望你一定要看。
这是一本写给所有人的数学通识讲义,书中通过关键知识点串联起整个数学体系,帮助你逐步建立起属于自己的数学知识结构。
而贯穿全书的数学发展史,其实就是人类认知的发展史,你可以借此逐步训练自己的认知:从直观到抽象,从静态到动态,从宏观到微观,从随意到确定再到随机。
对于理工专业的读者,这本书能够帮助你更好地梳理以往的数学知识,站在更高的地方更全面地看待数学以及人类知识体系;对于非理工专业的读者,则能更好地训练自己的数学思维,让你直击本质、化繁为简,做出正确的决策。