Skip to content
thzt edited this page May 7, 2016 · 1 revision

Book Information

Review by [thzt]

  • Rank: ★★★★★
  • Hard: ★★
  • Tag: 集合论,图论,代数结构,组合数学,数理逻辑
  • Reviews:

说起计算机科学的数学基础,那就非『离散数学』莫属了,

可是我却很晚才知道这件事情。


先是看了SICP上了语法和语义的贼船,

后来,语法上学习了形式语言与自动机理论,

以及lambda演算和编译原理的一些知识。


形式语义看起来比较难,于是回头看了数理逻辑,

看了类型理论,看了范畴论,

意识到抽象代数的重要性了。


然而,这些数学好像和高数没什么联系嘛,

这些数学从哪里来的?

原来,它们是离散数学的内容。


关于离散数学,北大有一系列精品课程,本书是参考书,

本书共分为,集合论,图论,代数结构,组合数学,数理逻辑,五大部分。

把计算机科学的相关数学都教科书般的串讲了一遍。


有几个生疏的概念,例如,自然数理论,序数,

平面图,覆盖集和支配集,格论,布尔代数,

编码理论,直觉主义逻辑,等等,

收获不少,严重找到了差距。


对于建立相关知识体系之间的联系帮助很大,

例如,幺半群和自动机之间的关系,纠错码与组合设计之间的关系,

偏序集与布尔格之间的关系,带权图与组合最优化之间的关系,

图的着色与置换群之间的关系,等等。

这可能就是学习数学的乐趣所在吧,也是分别看其他专著不能学到的。


不过,虽然这本书读起来不算轻松,

但是,本书在广度方面还是略显不足,

很多联系也只限定到了本书内的各章节之间。


比如,集合论中没有提及范畴论,

图论中没有提到红黑树,欧拉公式那里没有提及代数几何,

代数结构那里没有提及线性变换,

数理逻辑没有介绍哥德尔定理。


不过,更多的是,本书优秀的地方,

书中这五个部分都坚持先从高观点下进行介绍,然后才具体落实,

先提纲挈领,再深入细节。


例如,集合论中从关系开始而不是从函数开始,

图论从图开始,而不是从树开始,

代数结构,从一般的代数系统开始,而不是从群开始,

组合数学从子集的划分开始,而不是从排列组合开始,

数理逻辑从形式系统开始,而不是从真值表开始。


每个部分都有深入讲解的内容,在以后遇到的时候,

还可以回过头来参考。


总之,读完本书,收获非常大,值得一试。

对于建立正常生长的知识体系,颇有助益。