阅读笔记(二)

来源:互联网 发布:云牛品源码 编辑:程序博客网 时间:2024/04/30 05:45

《算法设计》是算法领域一本举足轻重的经典,也是很难的一本。这本书第一次读的时候是在大二下学期刚刚开学的时候,可是当时只是读了三分之一就还给图书馆了,原因很简单:真的读不懂了。不是里面讲的具体算法不懂,这些算法本身可以在其他任何一本算法书上面找到,可是难就难在他的证明。我是因为证明过程看不懂了所以才打算以后回来再拜读,没想到大三下学期就如愿以偿了,确实是一大幸事,而这回读懂了,不敢说100%也得有80%以上。

全书以五个问题作为开篇菜,然而这五个问题却是贯穿始终的。分别会应用到贪婪算法、动态规划、NP问题、超NP问题。重点是书中的证明。他对很多算法的正确性加以证明,并对算法的时空复杂度进行分析,这些才是让我精心品读的部分。例如证明贪婪算法时,常常采用归纳法,反证法,递推法,置换法等,以至于在后面给出的练习题中都已经成为了证明模式。而恰恰是此时才让我想起来《算法导论》这本神书中在前几章就提到的归纳法和反证法在算法领域有广泛的应用,后悔当时没有深刻理解他的含义。

全书没有一行真正的代码,顶多是伪代码,但足以说明算法流程。关键还是在于证明的思想。后面的四章是在补充NP问题和超NP问题无法解决时如何得到解,分为“扩展易解性的界限”,“近似算法” , “局部搜索” , “随机算法”。由其在局部搜索一章,提到了几个人工智能方面的模型和算法,包括模拟退火算法,马尔科夫链等,让我又对这些算法有了另一个角度的认知,实属难得。

不过我觉得书写的是好,读起来也真的不简单。总是感觉外国人的抽象思维和逻辑思维就是比国人平均水平高不少,从一些这种书中也能看出。不知道什么时候中国人也能写出此等好书来。



1 0
原创粉丝点击