Amplifying human performance in combinatorial competitive programming

2024年11月29日
  • 简介
    近年来,复杂的AI系统在竞技编程领域取得了显著的增长,能够在与人类选手的竞争中表现出令人钦佩的水平。尽管进展稳定,但在像Codeforces这样的标准竞赛平台上,顶级的百分位仍然难以触及。相反,我们专注于组合优化的竞技编程,目标是在特定给定的输入上找到尽可能好的解决方案,以解决其他情况下计算上难以处理的问题。我们假设这种情景为人类与AI的协同提供了一个独特的测试平台,因为人类程序员可以编写一个启发式解决方案的框架,之后AI可以用来优化该启发式方法所使用的评分函数。我们在Hash Code的历届比赛中部署了我们的方法,这是一项受Google NP难软件工程问题启发的全球团队编程竞赛,并利用FunSearch来进化我们的评分函数。我们进化出的解决方案显著提高了得分,成功进入了所有历届Hash Code在线资格赛的顶级百分位,并在多个比赛中超过了顶级的人类团队。我们的方法在最近的一次AtCoder比赛中出现的一个优化问题上也表现出了优异的性能。
  • 图表
  • 解决问题
    该论文旨在探索在组合优化型编程竞赛中,通过人机协同的方法来提升解决方案的质量。具体来说,它尝试验证在人类程序员编写基本算法框架后,AI能否有效优化评分函数,从而在计算上难以处理的问题上获得接近最优解。
  • 关键思路
    论文的关键思路在于利用人类与AI的互补优势,即人类负责构建算法的核心逻辑,而AI则专注于优化算法中的评分函数。这种方法创新地将进化算法(如FunSearch)应用于评分函数的优化过程,以提高整体解决方案的性能。
  • 其它亮点
    论文通过在Google举办的Hash Code编程竞赛的历史数据上进行了广泛的实验,证明了所提出方法的有效性。实验结果显示,该方法不仅显著提升了基线成绩,还在多个历史比赛中进入了前百分位,甚至超过了某些顶级人类团队的表现。此外,该方法在AtCoder的一个优化问题上也表现出了良好的性能。论文还提供了详细的实验设置和参数配置,并且开源了部分代码,为后续研究提供了基础。
  • 相关研究
    近年来,关于人机协同在编程竞赛中的应用已经有一些相关研究。例如,《Combining Human and Machine Intelligence for Competitive Programming》探讨了如何结合人类直觉和机器学习技术来解决编程竞赛中的问题。另一篇论文《Automated Algorithm Design via Learning to Optimize》则研究了通过学习优化技术自动生成高效算法的可能性。这些研究都为本论文提供了理论和技术上的支持。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论