published on
tags: thinking

思考的乐趣

在我高中的时候,有一次去参加一个算法方面的比赛。其中遇到了一道博弈的问题,更准确的说是属于组合游戏的范畴。那个时候我对博弈并不算太熟悉,了解的方面仅限于Nim-Game等经典的问题,所以遇到一个新的题目的时候,没有什么太多的工具供我使用。回想起来,那次比赛,我大概用了半个多小时,简单做了下另外两道题之后,决定用比赛剩下的时间,认真的研究这个问题。

依照现在存留不多的记忆,当时整个考场内,只有我一个人在不停的找监考的老师要草稿纸,不停的演算。居然在3个小时之后,比赛剩下半个小时的时候,构造出来了解决问题的精巧结构。遂赶快按照这个思路写完了代码。交卷完事。

虽然这次比赛最后还有很多令人惊讶的情节和展开,但那不是这次的重点。这个题目获得的分数在最后起到了至关重要的分数,不由让人觉得花了那么多时间的努力都是非常值得的。

接下来的内容就和比赛没有什么关系了。我后来认真的研究了组合游戏的理论,发现只要使用SG函数作为工具,使用其一贯的推导方法,则这个问题并没有什么思考上的难度。当然SG函数和我在赛场上构造的结构是不一样的东西,我在赛场上的唯一经验就是构造一个必胜态非0,必败态为0的状态函数,这使得我最后构造出来的结构及其简单和优美,只考虑了这个需要的性质,因而计算的复杂性上也会比SG函数的计算要优。但是却是要花费时间慢慢构造,而不像一个具体的工具一眼,按照其固定的思路往下走即可。

当然你会发现我上面一点都没有提那个题目具体是什么,因为这不是关键。我所关注的是在思考整个问题,到通过自己的力量把他构造出来的时候,所取得的巨大的成就感。这个东西和学知识是不同的。学知识的模式是你先去掌握一些概念公式,我一般称这些要素为工具,然后去做一些练习,检验对这些工具的掌握情况,训练这些工具的用法。当你学会的代数,那些精巧的算术问题就变成了普通的方程计算,当你学会了解析,那么几何问题又少了很多的乐趣。思考的乐趣在我,不在于掌握多少新的东西,而是当你去思考一个复杂的问题的时候,突然获得灵感的那个时刻。

看到这里,有人可能会想,这个人的观点是说不要学习,应该自己去造轮子。其实不是这样的,我完全支持获取成多的知识,学习更多的工具。这样,你的思考可以建立在更高级的概念上。我这里的意思是不管你拥有多么强大的工具,思考的乐趣是来自于解决需要灵感的问题,而不是需要使用多么复杂的工具的问题。至少于我,就常常担心赶着去学习各种各样的东西的时候,就忘记的思考的乐趣。