卜东波:做不俗的研究

  • 文/图 赵睿 徐天怿 方珂 魏子豪 李昕怡 (党委宣传部/新闻中心)
  • 创建于 2022-11-01
  • 235

  编者按:在8040威尼斯网址(以下简称“国科大”),有一门计算机专业课,年年热门,场场爆满,更是吸引不同专业同学争先“蹭课”。“细致专业,认真贴心”,这是同学的一致好评;“做不俗的研究”,这是授课老师的人生信条。本期,一起走进国科大博士生导师、中科院计算技术研究所研究员卜东波讲授的《算法设计与分析》课程,揭开“热门”背后的秘密。

卜东波

  10月11日傍晚,卜东波拖着行李箱,在国科大雁栖湖校区的黄昏里步履匆匆。满当当的教室里,坐着500余名来自不同专业的同学。

  这是卜东波讲授《算法设计与分析》的第13年,自2009年开讲至今,这门课程一直广受好评。

从最简单做起

  “假如你是1948年的Richard Bellman,你会怎么解决导弹最优分配问题呢?”这是卜东波最常用的方式——通过提问,把同学们带入算法情境,引导大家思考。

  “大家在学习和研究的过程中,不只要看教科书中的解法,也要读算法发明者的传记、回忆录,在那里你们会发现他是如何解决问题的。”卜东波说。

卜东波在雁栖湖校区授课

  经过多年学习、研究,卜东波总结出自己的“解题思路”。

  讲解算法时,卜东波常从简单的例子切入,带着同学看算法到底一步步是如何作用的。丰富的例子讲解,大大降低了学生的理解难度。

  在每节课下课前,他会在黑板上写下“Take-home Message(关键信息)”,作为本次课程内容的总结。“同学们即使忘记了具体内容,记住这几个简短而精炼的‘关键信息’,也同样有所收获。”这样的习惯,他坚持了13年。

卜东波在玉泉路校区授课

  在2020级计算机科学与技术专业本科生廖安旭看来,“卜老师能很好地把握本科生的学习能力”,课中十分钟停顿梳理,让他及时消化课程内容,下课前的“关键信息”,让他清晰把握主体脉络。“会觉得自己有被老师贴心地照顾到,”同专业的徐熙程坦言,“光注意算法例子细节的时候,很有可能理不清这节课的思路。”

  在每学期第一节课的“关键信息”中,卜东波都会写下最重要的“解题思路”:手足无措时,从最简单做起。而在许多同学看来,这不仅是算法的解题思路,对科研也有所启示。

做不俗的研究

  “报考计算机软件专业时,我还在向别人打听什么是‘软件’。”1990年,喜爱数学、物理的卜东波误打误撞踏入计算机科学领域。

  本科毕业后,他在中科院计算所师从李国杰院士和白硕研究员,攻读硕士、博士学位,研究“可满足性问题的相变现象和快速求解算法”以及“文本聚类和分类算法”。

  李国杰是中国工程院院士,主要研究算法和计算机体系结构,是公认的“战略型”科学家;白硕则是自然语言处理方面的大家,文理兼修,是公认的“才子型”科学家。这两位老师“一硬一软”,潜移默化之中“熏陶”出了卜东波的研究风格。

卜东波与学生互动

  1993年,李国杰院士带领团队研制曙光一号共享存储多处理机系统,使当时大三的卜东波深为触动。

  “我就是冲着李国杰老师搞的曙光机去的。”卜东波对多年前的“拜师”场景记忆犹新,“见到老师我就说‘李老师,我想拜您为师,跟着您做曙光二号’,李国杰老师哈哈大笑:‘我们不叫曙光二号,叫曙光一千!’”

  “科研为国分忧,创新与民造福”是中科院计算所的宗旨。卜东波老师介绍,在计算所,很大一部分课题是想着国家的需求。1992年的曙光机、2001年的龙芯、2017年的寒武纪……

  “做不俗的研究”,这是李国杰院士对卜东波的期望,也是卜东波对自己学生的期望。“别人做85%,你做86%,发得了论文,但没有意义。”卜东波解释道。时隔多年,他的研究方向已与硕博时期不尽相同,但李国杰院士的叮嘱仍常在他耳畔回响。“李老师对我的影响是骨子里、气质里的影响,难用语言描述。”

  现在,卜东波正带领团队从事生物信息学方面的研究。谈及未来,他兴致勃勃地分享着自己的科研目标:“AI辅助算法设计、蛋白质结构预测,这是我们团队最近在研究的,也是我非常希望做成的。”

带着问题学习

  “卜老师很有学者风范,在算法的理解与分析上有着很深的造诣。”2020级计算机科学与技术专业本科生季靖开诚恳地说。广受好评的授课方式背后,是卜东波二十余年来思考的积淀。

  卜东波与算法的结缘,始于困惑。

  “读别人的论文,我一下子就能明白他们的想法,自己却怎么也想不出那些精彩、巧妙的算法。”他开始阅读更多书籍,经典教材《算法导论》就是其中之一。“我反复阅读了这本书,做完了书中题目,还是觉得这本书更像一本手册。”对于处理实际问题,卜东波还未能寻得明确答案。

  带着困惑,卜东波于2006年前往加拿大做访问学者和博士后研究,师从描述复杂性专家李明。通过近距离观察李明等大师的思维方式,卜东波对算法设计过程有了更多的心得。

  慢慢地,他梳理出“算法思路树”,逐渐明白面对一个问题时,如何观察问题、分析问题,最终设计算法解决问题。

  求索问道的过程中,卜东波也逐渐被算法魅力吸引。“算法是非常漂亮的,你能体会到一个问题的结构和求解是如此巧妙。真正弄懂一个问题,‘豁然开朗’,那种兴奋是难以言喻的,也是我所求索的。”他对Hirschberg算法印象深刻,“把一个复杂的字符串联配问题,做出的动态规划算法只需要线性空间,他是如何思考的?这非常吸引人!”

卜东波在教室授课

  受益于这段经历,卜东波对算法的研究有了“主心骨”——算法思路树,这也为他授课、撰写《算法讲义》打下了坚实的基础。

  正如“费曼学习法”中描述的那样,卜东波相信,只有自己能把一个问题讲明白的时候,才是真正理解了。“如果在哪个地方卡壳、讲不下去了,我就还会继续琢磨。”

  为此,卜东波在备课时煞费苦心。准备一个小方向的授课,他往往就要阅读“10本书”。“研究一个问题,要读到第10本书,才发现前9本没太大用处,但不阅读前9本,也就不会找到第10本。”

  2009年9月,算法课首次开课。出人意料地,50人教室很快坐满。时至今日,这种“盛况”依然贯穿着每一学期的课堂。不过,相比“人气”的提升,卜东波更希望学生能获得有益于科研的启发。“大家往往都有自己的科研课题,是带着问题来学习,听完我的课后,希望同学们有所收获。”

  他山之石,可以攻玉。2014级硕士生曾钢研究“选择问题”,琢磨“为何5个5个一组行,3个3个一组就不行”,仔细观察算法执行过程之后,他发现了Blum算法的不足,进而设计出了“3个3个一组”的线性时间算法,这也成为他的硕士毕业论文内容。

  在2016级博士生杨飞雕听的第一堂课上,卜东波提到,用于求解“旅行商问题”的Held-Karp算法需要指数级空间和时间。杨飞雕心有灵犀,立刻想到“无需精确地计算动态规划表格中的每一个元素,用神经网络近似计算即可”,进而设计出一个“求解NP-完全问题的神经网络”。

卜东波为学生们答疑

  尽管“算法思路树”已逐步完备,卜东波仍坚持每年更新授课内容。而增加的部分,恰恰来自如曾钢、杨飞雕等国科大学子的最新科研进展。谈起学生和他们的研究进展,哪怕自己不是他们的导师,卜东波也如数家珍。

  为了达到更好的教学效果,卜东波一直坚持PPT与板书相结合的教学方式。“PPT很直观,但不能把思考的过程展示出来,而板书是一步一步展示出来。”

  “思考的过程是最宝贵的。”通过思考,掌握选择问题、观察问题、设计算法求解的能力,这是卜东波希望同学们能在课堂上收获的。

卜东波在写板书

  时钟指向下课时间,雷鸣般的掌声响起,卜老师打开行李箱,把500余份作业小心码放其中。

  沉甸甸的,是知识的重量、责任的重量、理想的重量。

学生镜头下的卜东波

责任编辑:张文静