计算科学竞赛。为什么没有?

计算科学 并行计算 软件 计算几何 高性能计算
2021-12-23 12:47:22

我想知道为什么没有在线或离线计算科学竞赛?至少我通过谷歌搜索找不到太多。我的意思是,就像计算科学的顶级编码器。我认为原因之一是为少数几个需要花费大量资金的研究领域提供了巨大的计算能力。其他可能是制定正确的实际问题,因为在线比赛通常有假设性问题。

有趣的是,计算科学家或工程师将他的知识应用于航空航天、能源、生物、化学、物理、材料等多个科学领域。但他们不知何故错过了消费软件的魅力因素。

4个回答

我想说,除了需要潜在的大量计算资源之外,没有计算科学竞赛的原因有很多。

  1. 时间限制:编写科学计算代码通常不是你想急于求成的事情。很多重点是确保它是正确的,并彻底考虑测试/角落案例。此外,如果要解决的问题太难,那么您不希望将太多的比赛时间花在等待代码运行上。此外,有趣的问题需要很长时间才能解决。
  2. 进入门槛高:为了解决有用的问题,你需要对物理(或其他)以及数学有相当详细的了解,而这已经严重限制了参与的人的种类。对于多学科问题,人员的集合进一步缩小。
  3. 已建立的最佳实践:解决问题的好方法通常很少(在低数值级别),所以这一切都归结为使用正确的软件库。你允许人们使用图书馆吗?如果是,那么大部分代码只是绒毛和围绕它的包装。你在哪里划清什么是图书馆,什么是“罐装解决方案”?如果您不允许人们使用库,那么他们是否必须将整个技术堆栈实现到线性代数?
  4. 可验证性:你怎么知道有人正确地解决了问题?你可以试着让他们解决一个有已知分析解决方案的问题。但是,他们为什么不直接弄清楚呢?如果他们的方法更准确,那么将其与预先生成的数值解进行比较可能会有问题。另外,您如何决定速度和鲁棒性之间的权衡?难道人们不应该因为编写可以处理更广泛问题但可能更慢的代码而获得奖励吗?

如果有这样的比赛会很有趣。虽然,如果你设法让人们聚在一起解决一个有趣的问题,那么对于科学计算界来说,如果他们一起努力解决这个问题可能会更好。

这个问题有很多值得思考的地方。我想稍微区分一下比赛的性质。

我知道比赛的主题是无关紧要的。有拼字比赛,说到数学,就有符号整合比赛、吃棉花糖比赛和选美比赛。您很少听说护士的疫苗接种比赛、法官的量刑比赛或消防员比赛,这些比赛不仅仅是提桶。正如维克多所指出的,计算科学是一项严肃的任务,需要技巧、理解、思考和毅力。所有这些都无法在短时间内的较量中生效。

您发现更常见的是编码挑战,例如 Pedro 评论中提到的 HPC Challenge。这些会在很长一段时间内进行,并允许参赛者使用他们需要的所有工具和信息来产生高质量的结果。他们通常由公司(例如谷歌)或其他大型实体赞助,因为他们需要结果或将其用作招聘工具。但它们有很大的潜力可以提高年轻人对科学计算的兴趣,并在他们成功时让他们接触到。

第三种选择是对现有成就的奖励。科学奖项在过去几年中出现了相当大的膨胀,但许多人仍将其视为科学成就的重要指标。与例如在纯数学中获得的所有奖牌相比,计算科学肯定可以做得更多。

除了已经发表的其他评论,让我指出,挑战的复杂性并没有阻止此类竞赛在其他领域发生:第一个建造 100 公里车辆的团队获得了 1000 万美元的奖金。显然不是你在车库里一周就能做的事情。其他几个 X-Prize 挑战同样困难。

在科学计算领域也有一些竞赛,只是碰巧没有解决偏微分方程。例如,Netflix 赞助了一项竞赛,根据人们之前看过的电影的排名来预测人们喜欢哪些电影。我相信我之前听说过机器学习中的其他类似挑战。在数值方法中,已经提到了 100 位和 10 位挑战。

我知道一场预测晶体结构的比赛。