科学编程竞赛

计算科学 优化 数值分析 复杂
2021-11-30 23:54:20

我经常参加所谓的“编程竞赛”,您可以在有限的时间内用自己的代码和解决问题的技能来解决困难的算法问题。有关这些可能看起来的参考示例,请搜索诸如 Google Code Jam 或 ACM-ICPC 之类的竞赛。

(如果你知道什么是编程竞赛,你可以跳过下面这段)

在这些比赛中,您可以单独或组队、在实体站点或在线进行比赛,目标是在比赛结束前解决尽可能多的问题。每个问题都与您的解决方案必须满足的某些限制相关联,例如运行时间、使用的内存等。问题的难度可以从“如何解决”到“需要大量知识或大量独创性才能破解”。主要目标当然是玩得开心,但在某些情况下,成功可能会带来现金奖励、荣誉,甚至有机会与谷歌等一流公司的招聘人员进行面试。

(如果您跳过了上一段,请停止跳过,因为这是我的问题)

通过编程竞赛,我对算法、一般计算机科学产生了真正的兴趣,并在编码和发展我的解决问题的能力方面产生了整体的意义。我也想在科学计算中这样做。

问题: 是否存在与纯算法类相同的竞赛,但侧重于数值分析、优化等?

我尝试了谷歌搜索,但乍一看找不到任何...

附录:我收到了检查 Project Euler 的建议,但这并不是我真正想要的。我想要更多的是一个练习更“肮脏”类型的数字的舞台,比如通过 pde 的解决方案获得创造性,解决数值优化问题等等。只是为了比较,Kaggle 是一个你可以在定期举办的各种比赛中练习数据挖掘、机器学习等的网站。我想要这样的东西,但用于实施和创造性地使用数值方案等。

3个回答

我不知道目前有什么比赛,但你绝对可以看看 SIAM 100-digit 挑战。这是一组 10 个问题,比赛要求每个问题 10 个正确数字。所有问题都是“如果你盲目地做,你只会得到几个数字”的类型(除非你诉诸多精度算术,在某些情况下需要大量的数字)。请参阅此处以获取仅包含挑战和 10 位数解决方案的 Wikipedia 页面

The SIAM 100-Digit Challenge ”一书讨论了所有十个问题,并提供了不同的方法来获得正确的 10 位甚至更多位数字。我衷心推荐它。但是,先尝试而不偷看,然后阅读所有现有的用于解决这些问题的简洁数值算法,这很有趣。

一种选择是顶级编码器数据科学竞赛。它不符合您的描述,但您经常会遇到由算法 - 组合 - 数值微积分 - 机器学习组合而成的竞赛。我会留意那些。

数据科学竞赛主页的链接在这里

您看过 GECCO(遗传与进化计算大会)组织的比赛吗? http://gecco-2016.sigevo.org/index.html/HomePage#&panel1-1

2016 年会议有几个不同的比赛在页面上: http: //gecco-2016.sigevo.org/index.html/Competitions

即使您无意参加会议,也可以尝试某些比赛。