第42章 计算机难题
第二天一早,周宇轩顶著两个黑眼圈衝进了计算机系的实验室。
他几乎是一宿没睡,整晚都在调试肖宿提出的那个数学模型。
但他的眼神里闪著光,那种只有破解难题后才会有的兴奋光芒。
“赵师兄!我搞定了!”
他把笔记本电脑往桌上一放,声音大得整个实验室的人都转过头来。
赵明远从一堆代码中抬起头,推了推厚重的眼镜:
“什么搞定了?”
“任务预测模型!你来看!”
周宇轩点开一个程序界面,上面跳动著实时生成的模擬数据。
赵明远凑过去看了几秒,眼睛突然睁大。
他抢过滑鼠,快速切换著不同的数据视图,呼吸渐渐变得急促。
“准確率……提升了12.3%?”
他难以置信地看著周宇轩,“你用什么方法做到的?我们试了十几篇顶会论文里的算法,最好的也只能提升4%!”
实验室里的其他几个博士生也围了过来,盯著屏幕上漂亮得不像话的曲线图。
“这简直像作弊。”
一个戴黑框眼镜的女生喃喃道,“我们的数据集很脏,有很多噪声,理论上限应该就在8%左右……”
周宇轩挠了挠头,突然有点不好意思:
“其实……不是我一个人搞定的。”
“那是谁?你找了校外的专家?”赵明远追问。
“是肖宿。我们宿舍的肖宿。”
周宇轩说,“就那个数学系的天才,你们应该听说过。”
实验室里安静了几秒。
然后有人倒抽了一口冷气。
“那个十五岁发jams的肖宿?”
黑框眼镜女生问,“我以为他只是搞纯数学的……”
“所以他怎么解决的?”
赵明远急切地问,“用了什么数学工具?”
周宇轩张了张嘴,突然发现自己说不清楚。
他尝试回忆昨晚肖宿在纸上写的那些公式,那些名词“点过程”、“hawkes过程”、“隨机最优控制”、“hamilton-jacobi-bellman方程”。
每一个他都听过,但连在一起就像天书。
“他说……要用点过程建模,因为任务之间有自激效应。”
周宇轩努力复述,“然后需要解一个隨机控制问题,用……用变分推断来避免维数灾难?”
他说得磕磕巴巴,几个博士生的表情从期待变成了困惑。
赵明远皱起眉头:
“点过程在计算任务建模中的应用……我好像在哪儿见过相关论文。”
他迅速在电脑上搜索,几分钟后调出一篇预印本。
“是这篇,去年neurips会议上的工作,但作者也承认他们的方法只適用於小规模数据。”
“肖宿说可以结合蒙特卡洛方法。”周宇轩补充道。
“蒙特卡洛+点过程+隨机控制……”
赵明远喃喃自语,眼睛越来越亮,“这思路太野了,但理论上完全可行!等等,这里面的数学计算量应该巨大无比,你们怎么实现的?”
周宇轩苦笑:
“肖宿给了我几个简化近似的技巧。说实话,那些数学推导我自己都没完全看懂,只是按照他给的步骤实现的。”
实验室里又是一片寂静。
几个博士生互相看了一眼,都能从对方眼中看到同样的震撼。
他们都是计算机系的佼佼者,数学功底都不弱,但听周宇轩的描述,肖宿使用的数学工具已经超出了他们熟悉的范畴。
“我想见见这个肖宿。”
赵明远突然说,“我们手上还有个更大的难题,卡了快一个月了。如果能请他看看……”
晚上九点,肖宿正坐在书桌前看一本厚厚的《计算数学导论》。
灯光下,他的侧脸轮廓清晰,眼神专注得仿佛整个世界只剩下书页上的公式。
周宇轩推门进来时,肖宿刚好翻过一页。
“肖哥!”
周宇轩的声音里带著抑制不住的兴奋,“你猜怎么著?今天我把那个模型拿给赵师兄看,他们整个实验室的人都惊呆了!”
肖宿抬起头,脸上没什么表情:“解决问题了就好。”
“不只是这个!”
周宇轩拉过椅子坐下,“赵师兄他们现在遇到一个更大的难题,是计算机系重点实验室的课题,已经卡了一个月了。他想请你帮忙看看,明天有时间吗?”
肖宿想了想,点点头:“可以。我刚好在看计算数学的东西。”
他说得轻描淡写,但周宇轩知道这句话的分量。
肖宿说“刚好在看”,那意味著他已经系统地研究了那个领域,而不是隨便翻翻。
“肖哥,你怎么突然对计算数学感兴趣了?”
周宇轩好奇地问,“之前你不是一直在搞几何和数学物理吗?”
肖宿合上书,罕见地多说了几句话:“计算数学很有意思。”
“所以你想研究计算数学?”周宇轩问。
“还在了解。”肖宿说,“但计算机和数学的结合確实很好玩。”
他说“好玩”,就像普通孩子说打游戏好玩一样自然。
但周宇轩知道,肖宿的“好玩”意味著可能要解决某个领域的重大难题。
京大计算机系的主楼是校园里最现代化的建筑之一,玻璃幕墙在阳光下闪闪发光。
一楼大厅的屏幕上滚动显示著最新的科研成果和学术活动通知。
周宇轩带著肖宿穿过走廊,两边实验室的门大多是开著的,可以看见里面成排的伺服器机柜、巨大的显示器和白板上密密麻麻的公式。
“这边。”
周宇轩推开一扇標著“高性能计算实验室”的门。
实验室里摆著十几台工作站,墙上掛著三块大屏幕,此刻正显示著复杂的网络拓扑图和实时数据流。
五个博士生围在白板前討论著什么,赵明远站在中间,手里拿著记號笔,眉头紧锁。
“赵师兄,肖宿来了。”周宇轩说。
所有人都转过头来。
肖宿穿著简单的白色t恤和牛仔裤,身形还很稚嫩,看起来完全不像传说中的数学天才。
赵明远愣了一下,隨即快步走过来:
“肖宿同学,久仰大名!我是赵明远,计算机系博三。”
肖宿点点头,和他握了握手。
“周宇轩应该跟你说了,我们有个难题想请你帮忙看看。”
赵明远开门见山,“来,这边请。”
他把肖宿带到白板前。
白板上写满了公式和偽代码,还贴了几张列印出来的图表。
“我们在做一个大规模图计算系统的优化项目。”
赵明远开始解释,“简单说,就是处理超大规模的图数据。比如社交网络、蛋白质相互作用网络、网际网路连结关係这种。一个图可能有几十亿个节点,几百亿条边。”
肖宿安静地听著,眼睛盯著白板上的公式。
“传统的方法是图分割,把大图切成小块,分配到不同计算节点上处理。”
赵明远继续说,“但问题在於,很多图算法需要在不同分区间频繁通信。如果分割得不好,通信开销就会成为瓶颈,甚至比计算本身还耗时。”
他指了指白板上的一个复杂公式:
“我们的目標是找到最优的图分割方案,最小化跨分区的边数,也就是通信量。这是一个经典的图划分问题,但规模太大,精確求解不可能。”
实验室里另一个博士生补充道:
“更麻烦的是,很多真实世界的图都有特殊的结构。比如社交网络有社区结构,全球资讯网连结有层级结构,生物网络有模块化结构。现有的通用分割算法往往忽略了这些结构特徵,导致效果不佳。”
赵明远点头:
“所以我们想开发一种自適应的图分割算法,能自动发现图的结构特徵,並据此优化分割方案。但这里面的数学建模非常困难。”
他转向肖宿,眼中带著期待。
“我们已经尝试了谱方法、多层细化、流算法……最好的结果也只是比现有方案提升15%左右。但我们相信理论上限应该能提升40%以上。”
他几乎是一宿没睡,整晚都在调试肖宿提出的那个数学模型。
但他的眼神里闪著光,那种只有破解难题后才会有的兴奋光芒。
“赵师兄!我搞定了!”
他把笔记本电脑往桌上一放,声音大得整个实验室的人都转过头来。
赵明远从一堆代码中抬起头,推了推厚重的眼镜:
“什么搞定了?”
“任务预测模型!你来看!”
周宇轩点开一个程序界面,上面跳动著实时生成的模擬数据。
赵明远凑过去看了几秒,眼睛突然睁大。
他抢过滑鼠,快速切换著不同的数据视图,呼吸渐渐变得急促。
“准確率……提升了12.3%?”
他难以置信地看著周宇轩,“你用什么方法做到的?我们试了十几篇顶会论文里的算法,最好的也只能提升4%!”
实验室里的其他几个博士生也围了过来,盯著屏幕上漂亮得不像话的曲线图。
“这简直像作弊。”
一个戴黑框眼镜的女生喃喃道,“我们的数据集很脏,有很多噪声,理论上限应该就在8%左右……”
周宇轩挠了挠头,突然有点不好意思:
“其实……不是我一个人搞定的。”
“那是谁?你找了校外的专家?”赵明远追问。
“是肖宿。我们宿舍的肖宿。”
周宇轩说,“就那个数学系的天才,你们应该听说过。”
实验室里安静了几秒。
然后有人倒抽了一口冷气。
“那个十五岁发jams的肖宿?”
黑框眼镜女生问,“我以为他只是搞纯数学的……”
“所以他怎么解决的?”
赵明远急切地问,“用了什么数学工具?”
周宇轩张了张嘴,突然发现自己说不清楚。
他尝试回忆昨晚肖宿在纸上写的那些公式,那些名词“点过程”、“hawkes过程”、“隨机最优控制”、“hamilton-jacobi-bellman方程”。
每一个他都听过,但连在一起就像天书。
“他说……要用点过程建模,因为任务之间有自激效应。”
周宇轩努力复述,“然后需要解一个隨机控制问题,用……用变分推断来避免维数灾难?”
他说得磕磕巴巴,几个博士生的表情从期待变成了困惑。
赵明远皱起眉头:
“点过程在计算任务建模中的应用……我好像在哪儿见过相关论文。”
他迅速在电脑上搜索,几分钟后调出一篇预印本。
“是这篇,去年neurips会议上的工作,但作者也承认他们的方法只適用於小规模数据。”
“肖宿说可以结合蒙特卡洛方法。”周宇轩补充道。
“蒙特卡洛+点过程+隨机控制……”
赵明远喃喃自语,眼睛越来越亮,“这思路太野了,但理论上完全可行!等等,这里面的数学计算量应该巨大无比,你们怎么实现的?”
周宇轩苦笑:
“肖宿给了我几个简化近似的技巧。说实话,那些数学推导我自己都没完全看懂,只是按照他给的步骤实现的。”
实验室里又是一片寂静。
几个博士生互相看了一眼,都能从对方眼中看到同样的震撼。
他们都是计算机系的佼佼者,数学功底都不弱,但听周宇轩的描述,肖宿使用的数学工具已经超出了他们熟悉的范畴。
“我想见见这个肖宿。”
赵明远突然说,“我们手上还有个更大的难题,卡了快一个月了。如果能请他看看……”
晚上九点,肖宿正坐在书桌前看一本厚厚的《计算数学导论》。
灯光下,他的侧脸轮廓清晰,眼神专注得仿佛整个世界只剩下书页上的公式。
周宇轩推门进来时,肖宿刚好翻过一页。
“肖哥!”
周宇轩的声音里带著抑制不住的兴奋,“你猜怎么著?今天我把那个模型拿给赵师兄看,他们整个实验室的人都惊呆了!”
肖宿抬起头,脸上没什么表情:“解决问题了就好。”
“不只是这个!”
周宇轩拉过椅子坐下,“赵师兄他们现在遇到一个更大的难题,是计算机系重点实验室的课题,已经卡了一个月了。他想请你帮忙看看,明天有时间吗?”
肖宿想了想,点点头:“可以。我刚好在看计算数学的东西。”
他说得轻描淡写,但周宇轩知道这句话的分量。
肖宿说“刚好在看”,那意味著他已经系统地研究了那个领域,而不是隨便翻翻。
“肖哥,你怎么突然对计算数学感兴趣了?”
周宇轩好奇地问,“之前你不是一直在搞几何和数学物理吗?”
肖宿合上书,罕见地多说了几句话:“计算数学很有意思。”
“所以你想研究计算数学?”周宇轩问。
“还在了解。”肖宿说,“但计算机和数学的结合確实很好玩。”
他说“好玩”,就像普通孩子说打游戏好玩一样自然。
但周宇轩知道,肖宿的“好玩”意味著可能要解决某个领域的重大难题。
京大计算机系的主楼是校园里最现代化的建筑之一,玻璃幕墙在阳光下闪闪发光。
一楼大厅的屏幕上滚动显示著最新的科研成果和学术活动通知。
周宇轩带著肖宿穿过走廊,两边实验室的门大多是开著的,可以看见里面成排的伺服器机柜、巨大的显示器和白板上密密麻麻的公式。
“这边。”
周宇轩推开一扇標著“高性能计算实验室”的门。
实验室里摆著十几台工作站,墙上掛著三块大屏幕,此刻正显示著复杂的网络拓扑图和实时数据流。
五个博士生围在白板前討论著什么,赵明远站在中间,手里拿著记號笔,眉头紧锁。
“赵师兄,肖宿来了。”周宇轩说。
所有人都转过头来。
肖宿穿著简单的白色t恤和牛仔裤,身形还很稚嫩,看起来完全不像传说中的数学天才。
赵明远愣了一下,隨即快步走过来:
“肖宿同学,久仰大名!我是赵明远,计算机系博三。”
肖宿点点头,和他握了握手。
“周宇轩应该跟你说了,我们有个难题想请你帮忙看看。”
赵明远开门见山,“来,这边请。”
他把肖宿带到白板前。
白板上写满了公式和偽代码,还贴了几张列印出来的图表。
“我们在做一个大规模图计算系统的优化项目。”
赵明远开始解释,“简单说,就是处理超大规模的图数据。比如社交网络、蛋白质相互作用网络、网际网路连结关係这种。一个图可能有几十亿个节点,几百亿条边。”
肖宿安静地听著,眼睛盯著白板上的公式。
“传统的方法是图分割,把大图切成小块,分配到不同计算节点上处理。”
赵明远继续说,“但问题在於,很多图算法需要在不同分区间频繁通信。如果分割得不好,通信开销就会成为瓶颈,甚至比计算本身还耗时。”
他指了指白板上的一个复杂公式:
“我们的目標是找到最优的图分割方案,最小化跨分区的边数,也就是通信量。这是一个经典的图划分问题,但规模太大,精確求解不可能。”
实验室里另一个博士生补充道:
“更麻烦的是,很多真实世界的图都有特殊的结构。比如社交网络有社区结构,全球资讯网连结有层级结构,生物网络有模块化结构。现有的通用分割算法往往忽略了这些结构特徵,导致效果不佳。”
赵明远点头:
“所以我们想开发一种自適应的图分割算法,能自动发现图的结构特徵,並据此优化分割方案。但这里面的数学建模非常困难。”
他转向肖宿,眼中带著期待。
“我们已经尝试了谱方法、多层细化、流算法……最好的结果也只是比现有方案提升15%左右。但我们相信理论上限应该能提升40%以上。”