正在我决定鼓起勇气后来跟上,准备拿起一本DOS大全从头啃起的时候,一次偶然的机会我接触到了Linux。后来又因为The Art of Computer Programming,接触到了Knuth。我才发现,好多课程上讲的那些东西原来如此低级。有些东西学了就过时,学它干吗?我并不比别人落后多少。我一再的思考,什么是计算机科学?是什么让我们计算机系的人不同于其他系的。我有时候认为有了答案,但是后来答案又被我自己推翻。在思想的混乱中,我发现我逐渐摆脱了旁人的标准。我自己学会了Linux,学会很多种当时别人听都没听说过的计算机语言。我开始发现学习再多的语言也没有意义,我应该想办法发现它们本质的共同点,想设计一种完美的简单的语言。我学会了LaTeX,用来排版我的作业和本科论文,还设计了一个标记语言和一个程序,帮我爸爸自动排版出非常漂亮的英语试卷。我接触到MMIX这种先进而漂亮的处理器,还因为找出Knuth书里的错误得到两张支票和一些礼物。这并不是什么值得炫耀的,但是这给我对计算机的兴趣很大鼓舞。
但是我的生命中出现了这样一门课程。它改变了我对老师的看法,让我觉得上课原来也可以如此有趣。这就是计算几何。上课的人很少,只有十来个人。因为听说这门课很难,很多同学都没有选,但是我就是那种知难而进的人。老师上课的方式跟别的课程很不一样,大家坐在一个小教室里,老师有精美的幻灯片,有动画,不时还插入一段大科学家,大哲学家的名言。有一次老师讲前美国数学会长 Graham 的故事,他居然同时也是国际杂耍联合会主席,我才发现一个科学家也可以那么有趣。上课时老师会停下来很多次让学生提问题,下课大家都积极踊跃的讨论新奇的问题。课程的评分方法也很特别,平时成绩占到30%的分量,作业分为几种分值,可以自己选择做不做,作业的总分数乘以30%,加上最后大作业的分数乘以 70%,就是最后的得分。我有一次因为没来得及按时交作业,后来发现作业的题目很有趣,就对作业要求的算法写了一个详细的分析,还花了一整夜写了一个算法演示程序交上去,老师也接受了这个迟来的作业。后来我的作业分数就大大超出了所要求的30分。说真的,这门课太有趣了,我就只逃过一次课。但是还是有时候人数不到一半,因为其他课程压力太大,有人都去复习别的课程了。但是老师从来不点名,还对逃课的同学表示同情。还问我们在座的有没有其他课特别紧张的,下次课可以不来。真是让人感动。
博士生论坛的时候,同学们都觉得有类似的问题,讨论不足,交流不足。所以我提议成立一个类似国外大学的 Common Room,用来讨论问题。可是大部分老师说:“这样一个房间,天天都要有那么多人在里面待着。谁来出这个钱?” 是啊,老师自己的办公室都要钱,哪里可能有什么 Common Room?就算有了 Common Room,在里面讨论的无非还是文章发到哪里的问题。制度决定了行为,我的设想太理想化了。
我的导师就是以前写了一篇有关这个的paper发到IEEE transactions。我觉得这篇论文还算有一定价值,但是年代已久。已经毕业的一个师兄就在他的论文基础上修改来修改去,发了好几篇paper。英文的不够还翻译成中文,投到国内的期刊。后来一个师姐又在这个师兄的基础上进行修改,又发了好多篇。可是在我看来,他们的论文纯粹就是炒冷饭,没有什么创新,很多时候就是加速一下。学过算法基础的人都知道,把NP-Hard问题分解成几个小部分,每一部分用一个别人的精确算法解决,然后再连接起来,就可以得到一个近似解。这种做法在解决具体问题时只需要一句话就能说明白了,可是他们却对每一个具体问题写了论文,而且一写就是好几篇。要是每一个问题经过这样的加速都写一篇文章,那文章数就可以成倍增长了!我们领域的很多问题形式化成一个规划问题就解决了,可是每次形式化一个问题就发一篇paper,而对方法完全没有改进,对于我来说是没有价值的,就像做小学应用题一样。虽然没有创新,还是可以发paper。主要是你怎样把你的 Introduction 写好?可以让别人觉得你的工作有意义?这就是功夫,作家的功夫。我有一次面见INRIA的头目 Jean-Claude Paul 时,他就对我说:“Tsinghua students are all writers, not scientists.”
学校有规定,博士生必须发4篇paper才能毕业,其中必须有一篇是SCI索引,或者两篇EI索引。看上去冠冕堂皇的SCI, EI,不就是跟 google 差不多的东西吗?被它索引了怎么样了?对文章的篇数作要求,而对质量没有判断。投一个SCI太容易了,只是很多人不知道门路。能力一般的人也能很容易的投够论文,然后就可以不思进取的等着毕业。但是不知门路或者被老板(一般研究生对导师的称呼)压迫干活的人就惨了,不知道怎么才能发论文,拖个六七年毕业是常有的。这样的学校又怎么可能有讨论,怎么可能有创造力?SCI=Silly Chinese Index。