第41章 有趣的方向
他转回身继续写作业,但心思已经不在线性代数上了。
就在这时,宿舍门被猛地推开。
周宇轩一阵风似的冲了进来,连招呼都没打就直接扑到自己的电脑前,开机键按得噼啪作响。
这状態明显不对劲。
“怎么了宇轩?”
陈林关心地问,“出什么事了?”
跟在后面进来的林思源嘆了口气,替周宇轩解释道:
“还不是编程社那个项目的事。他们跟计算机系博士生合作的那个『分布式计算优化算法』,遇到了一个瓶颈问题,卡了整整一周了。”
周宇轩已经打开了电脑,屏幕上瞬间弹出十几个窗口,密密麻麻全是代码和数学表达式。
他头也不回地补充道:
“不只是卡住的问题。reddit和github上已经有人在討论类似的优化问题,有几个美国团队声称找到了解决方案,但细节不公开。这不是欺负人吗?”
林思源摊手:“所以咱们宇轩同学的爱国情怀被彻底激发了,誓要在那群美国人之前解决问题。”
陈林凑到周宇轩身后,看著屏幕上滚动的代码和复杂的数学公式,只觉得头晕。
“这都是什么啊?天书一样。”
周宇轩难得从代码中抬起头,快速解释道:
“简单说,我们在处理超大规模数据集的並行计算时,遇到了负载不均衡的问题。某些计算节点的任务太重,某些又太轻,导致整体效率低下。”
他指了指屏幕上一段高亮显示的代码,“关键就在这里。如何动態预测和分配计算任务,使所有节点儘可能同时完成工作。”
“这听起来……確实很难。”陈林老实承认。
“不是很难,是超级难。”
林思源接话,“不然计算机系的博士师兄们能卡一周?听说他们试了十几种现有算法,效果都不理想。”
周宇轩又埋头在键盘上敲击起来,眉头紧锁,嘴里念念有词:
“如果能把任务预测准確率提高哪怕5%,整体效率就能提升20%以上……但现有的马尔可夫模型和神经网络方法都做不到……”
宿舍里只剩下键盘敲击声和周宇轩偶尔的嘆气声。
陈林看著专注的周宇轩,又看看一旁安静看材料的肖宿,忽然灵光一闪:
“宇轩,你这个问题是不是需要很强的数学能力?”
“那当然。”
周宇轩头也不抬,“任务预测本质上是个数学建模和优化问题。”
“那为什么不问问肖哥呢?”
陈林说,“要说数学,咱们宿舍,不,咱们学校还有谁能比得过肖哥?”
空气安静了一秒。
周宇轩一拍脑门子,道:“对啊,我真么没想到。”
周宇轩缓缓转过头,看向肖宿。
林思源也看了过来。
肖宿从材料中抬起头,表情平静:“我不会编程。”
“肖哥,”周宇轩眼中燃起希望,“我这里有数学部分的核心描述,全是公式和推导,你能帮忙看看吗?”
肖宿想了想,点点头:“可以看看。”
周宇轩几乎是跳起来的,他迅速整理出一个文档,上面满是复杂的数学表达式:
“这是问题形式化的描述,这是现有方法的数学模型,这是我们的改进尝试……”
肖宿接过电脑,目光迅速扫过屏幕。
宿舍里安静得能听见窗外风吹树叶的声音。
三双眼睛盯著肖宿,看著他平静的表情,看著他偶尔微微蹙起的眉头,看著他的视线在公式间快速移动。
大约五分钟后,肖宿开口了。
“你们试图用隨机过程建模计算任务到达,然后用动態规划做分配决策?”
周宇轩眼睛一亮:
“对!但问题在於任务到达的模式有隱蔽的周期性,而且受前一阶段计算结果的影响,不是完全隨机的。”
“这里,”肖宿指著屏幕上一段公式,“你们假设任务到达间隔服从泊松分布,但实际数据不满足这个假设。”
“我们后来发现了,但换成其他分布模型效果更差。”周宇轩有些苦恼地说。
肖宿沉默了一会儿,脑海中快速闪过几种可能的数学模型。
忽然,他想起了最近在数学物理中看到的一种方法。
那是研究量子场论中粒子產生与湮灭时用的工具,与他们想要达到的目的有异曲同工之妙。
“试试用点过程建模,结合 hawkes 过程的自激特性。”
肖宿说,“任务完成会激发新任务的產生,这符合自激过程的特徵。然后可以用隨机微分方程描述系统状態变化。”
周宇轩愣住了。
点过程?
hawkes过程?
这些词他听都没听过。
这些全是高级统计学方面的內容。
“但我……我不太熟悉这些……”
周宇轩有些尷尬。
肖宿拿过一张草稿纸,开始快速书写。
优美的数学符號流畅地从他笔尖流出:
“设 n(t) 表示到时间 t 为止到达的任务总数,强度函数 λ(t) = μ + ∫?? φ(t-s)dn(s),其中 μ 是基础强度,φ 是影响函数……”
他写了整整半页公式,然后解释道:
“这样就能捕捉任务间的相互激发关係。接下来,分配问题可以转化为一个隨机最优控制问题,目標是最小化所有节点完成时间的最大值。可以用 hamilton-jacobi-bellman 方程,但在高维情况下需要简化……”
周宇轩听得半懂不懂,但核心思路他抓住了。
用更精確的数学模型来描述任务到达过程,然后用优化理论解决分配问题。
“我这里有一些现成的点过程工具包,”周宇轩兴奋地说,“我马上试试!”
接下来的一个小时里,宿舍变成了一个小型的研究现场。
周宇轩在电脑上疯狂编程,肖宿偶尔在纸上写下新的公式建议。
陈林和林思源则完全成了旁观者,看著屏幕上那些看不懂的代码和数学公式。
“搞定!”
周宇轩突然大喊一声,“初步模擬结果……我的天!预测准確率提高了12%!整体效率提升预估能达到35%!”
陈林和林思源凑过去看,虽然看不懂具体数据,但周宇轩脸上狂喜的表情说明了一切。
“肖哥,你太神了!”
周宇轩转头看向肖宿,眼中满是崇拜,“我们团队卡了一周的问题,你一个小时就指出了方向!”
肖宿却摇摇头:
“还没完全解决。你们的数据维度很高,hawkes 过程的参数估计会面临维数灾难。可能需要用变分推断或者蒙特卡洛方法。另外,隨机最优控制的求解也有困难,或许可以考虑近似动態规划……”
他说了一串专业术语,宿舍里其他三人只能茫然地点头。
周宇轩苦笑:
“肖哥,你说的这些,我可能需要研究好几个月才能完全弄懂。”
肖宿想了想:
“我可以给你推荐几本书和论文。数学部分不难,主要是计算实现的问题。”
“不难……”
周宇轩喃喃重复,和林思源、陈林交换了一个无奈的眼神。
对肖宿来说“不难”的数学,对普通人来说可能就是天堑。
夜深了,宿舍楼的灯光渐次熄灭。
周宇轩还在兴奋地调整代码,陈林和林思源已经准备洗漱休息。
肖宿洗漱完毕,躺在床上。
黑暗中,他睁著眼睛,脑海中仍在思考周宇轩那个如何高效求解高维隨机最优控制问题。
他隱约觉得,这和他最近研究的数学物理中的路径积分方法可能有联繫。
也许明天该去图书馆查查资料。
就在这时,宿舍门被猛地推开。
周宇轩一阵风似的冲了进来,连招呼都没打就直接扑到自己的电脑前,开机键按得噼啪作响。
这状態明显不对劲。
“怎么了宇轩?”
陈林关心地问,“出什么事了?”
跟在后面进来的林思源嘆了口气,替周宇轩解释道:
“还不是编程社那个项目的事。他们跟计算机系博士生合作的那个『分布式计算优化算法』,遇到了一个瓶颈问题,卡了整整一周了。”
周宇轩已经打开了电脑,屏幕上瞬间弹出十几个窗口,密密麻麻全是代码和数学表达式。
他头也不回地补充道:
“不只是卡住的问题。reddit和github上已经有人在討论类似的优化问题,有几个美国团队声称找到了解决方案,但细节不公开。这不是欺负人吗?”
林思源摊手:“所以咱们宇轩同学的爱国情怀被彻底激发了,誓要在那群美国人之前解决问题。”
陈林凑到周宇轩身后,看著屏幕上滚动的代码和复杂的数学公式,只觉得头晕。
“这都是什么啊?天书一样。”
周宇轩难得从代码中抬起头,快速解释道:
“简单说,我们在处理超大规模数据集的並行计算时,遇到了负载不均衡的问题。某些计算节点的任务太重,某些又太轻,导致整体效率低下。”
他指了指屏幕上一段高亮显示的代码,“关键就在这里。如何动態预测和分配计算任务,使所有节点儘可能同时完成工作。”
“这听起来……確实很难。”陈林老实承认。
“不是很难,是超级难。”
林思源接话,“不然计算机系的博士师兄们能卡一周?听说他们试了十几种现有算法,效果都不理想。”
周宇轩又埋头在键盘上敲击起来,眉头紧锁,嘴里念念有词:
“如果能把任务预测准確率提高哪怕5%,整体效率就能提升20%以上……但现有的马尔可夫模型和神经网络方法都做不到……”
宿舍里只剩下键盘敲击声和周宇轩偶尔的嘆气声。
陈林看著专注的周宇轩,又看看一旁安静看材料的肖宿,忽然灵光一闪:
“宇轩,你这个问题是不是需要很强的数学能力?”
“那当然。”
周宇轩头也不抬,“任务预测本质上是个数学建模和优化问题。”
“那为什么不问问肖哥呢?”
陈林说,“要说数学,咱们宿舍,不,咱们学校还有谁能比得过肖哥?”
空气安静了一秒。
周宇轩一拍脑门子,道:“对啊,我真么没想到。”
周宇轩缓缓转过头,看向肖宿。
林思源也看了过来。
肖宿从材料中抬起头,表情平静:“我不会编程。”
“肖哥,”周宇轩眼中燃起希望,“我这里有数学部分的核心描述,全是公式和推导,你能帮忙看看吗?”
肖宿想了想,点点头:“可以看看。”
周宇轩几乎是跳起来的,他迅速整理出一个文档,上面满是复杂的数学表达式:
“这是问题形式化的描述,这是现有方法的数学模型,这是我们的改进尝试……”
肖宿接过电脑,目光迅速扫过屏幕。
宿舍里安静得能听见窗外风吹树叶的声音。
三双眼睛盯著肖宿,看著他平静的表情,看著他偶尔微微蹙起的眉头,看著他的视线在公式间快速移动。
大约五分钟后,肖宿开口了。
“你们试图用隨机过程建模计算任务到达,然后用动態规划做分配决策?”
周宇轩眼睛一亮:
“对!但问题在於任务到达的模式有隱蔽的周期性,而且受前一阶段计算结果的影响,不是完全隨机的。”
“这里,”肖宿指著屏幕上一段公式,“你们假设任务到达间隔服从泊松分布,但实际数据不满足这个假设。”
“我们后来发现了,但换成其他分布模型效果更差。”周宇轩有些苦恼地说。
肖宿沉默了一会儿,脑海中快速闪过几种可能的数学模型。
忽然,他想起了最近在数学物理中看到的一种方法。
那是研究量子场论中粒子產生与湮灭时用的工具,与他们想要达到的目的有异曲同工之妙。
“试试用点过程建模,结合 hawkes 过程的自激特性。”
肖宿说,“任务完成会激发新任务的產生,这符合自激过程的特徵。然后可以用隨机微分方程描述系统状態变化。”
周宇轩愣住了。
点过程?
hawkes过程?
这些词他听都没听过。
这些全是高级统计学方面的內容。
“但我……我不太熟悉这些……”
周宇轩有些尷尬。
肖宿拿过一张草稿纸,开始快速书写。
优美的数学符號流畅地从他笔尖流出:
“设 n(t) 表示到时间 t 为止到达的任务总数,强度函数 λ(t) = μ + ∫?? φ(t-s)dn(s),其中 μ 是基础强度,φ 是影响函数……”
他写了整整半页公式,然后解释道:
“这样就能捕捉任务间的相互激发关係。接下来,分配问题可以转化为一个隨机最优控制问题,目標是最小化所有节点完成时间的最大值。可以用 hamilton-jacobi-bellman 方程,但在高维情况下需要简化……”
周宇轩听得半懂不懂,但核心思路他抓住了。
用更精確的数学模型来描述任务到达过程,然后用优化理论解决分配问题。
“我这里有一些现成的点过程工具包,”周宇轩兴奋地说,“我马上试试!”
接下来的一个小时里,宿舍变成了一个小型的研究现场。
周宇轩在电脑上疯狂编程,肖宿偶尔在纸上写下新的公式建议。
陈林和林思源则完全成了旁观者,看著屏幕上那些看不懂的代码和数学公式。
“搞定!”
周宇轩突然大喊一声,“初步模擬结果……我的天!预测准確率提高了12%!整体效率提升预估能达到35%!”
陈林和林思源凑过去看,虽然看不懂具体数据,但周宇轩脸上狂喜的表情说明了一切。
“肖哥,你太神了!”
周宇轩转头看向肖宿,眼中满是崇拜,“我们团队卡了一周的问题,你一个小时就指出了方向!”
肖宿却摇摇头:
“还没完全解决。你们的数据维度很高,hawkes 过程的参数估计会面临维数灾难。可能需要用变分推断或者蒙特卡洛方法。另外,隨机最优控制的求解也有困难,或许可以考虑近似动態规划……”
他说了一串专业术语,宿舍里其他三人只能茫然地点头。
周宇轩苦笑:
“肖哥,你说的这些,我可能需要研究好几个月才能完全弄懂。”
肖宿想了想:
“我可以给你推荐几本书和论文。数学部分不难,主要是计算实现的问题。”
“不难……”
周宇轩喃喃重复,和林思源、陈林交换了一个无奈的眼神。
对肖宿来说“不难”的数学,对普通人来说可能就是天堑。
夜深了,宿舍楼的灯光渐次熄灭。
周宇轩还在兴奋地调整代码,陈林和林思源已经准备洗漱休息。
肖宿洗漱完毕,躺在床上。
黑暗中,他睁著眼睛,脑海中仍在思考周宇轩那个如何高效求解高维隨机最优控制问题。
他隱约觉得,这和他最近研究的数学物理中的路径积分方法可能有联繫。
也许明天该去图书馆查查资料。