正儿巴经学习算法算起来也有快两个月了,之前作为计算机工科生虽然算法和数据结构是必修课,但实际上只是停留在“理解”的层面,相当肤浅,更遑论举一反三灵活运用了。因此,所谓“正儿巴经”学习算法,意即开始对算法思想的本质进行归根究底的过程、对思维方法论进行归纳抽象的过程、对各种解题技巧进行一般化的过程、通过不断练习来让记忆内隐化的过程..
在“正儿巴经”学习算法之前,我曾经有大半年时间都在用业余时间“正儿巴经”地学习心理学和认知神经科学。所以在开始正经思考算法问题之前做的第一件事情就是仔细琢磨一直令我困惑的问题——那些看似抓不到摸不着的灵感到底是怎么来的。
现代心理学的一个最伟大的原则就是:所有的心理活动同时都是生理活动。——实际上,“心理活动”只不过是“大脑神经活动”的通俗称呼。虽然大脑的结构极度复杂,然而许多人不知道的是,现代神经科学对大脑功能从高层原则上的认识已经可以说是相当完备了,而对于记忆和学习这块更加是因为Eric Kandel的突破性工作变得相当清晰。可以说剩下的工作主要就是补充细节了。于是乎,借助于三本关于记忆和学习的书,一本专门论述解题心理学的书,wikipedia,波利亚的三卷解题书,以及自己在思考有限多的问题的过程中对自己的思维过程的反省和总结,我试着对解题的心理学做了一个思考和总结(《跟波利亚学解题》)。——这听起来很奇怪,一个本身只会初级算法的人又如何去思考涵盖所有问题解决的思维过程呢?还是引用波利亚著名的发明者悖论吧:有时候,一个一般性的问题反而要比它的一个特例更好解决。