当前位置: X-MOL 学术arXiv.cs.LG › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Programming Puzzles
arXiv - CS - Machine Learning Pub Date : 2021-06-10 , DOI: arxiv-2106.05784
Tal Schuster, Ashwin Kalyan, Oleksandr Polozov, Adam Tauman Kalai

We introduce a new type of programming challenge called programming puzzles, as an objective and comprehensive evaluation of program synthesis, and release an open-source dataset of Python Programming Puzzles (P3). Each puzzle is defined by a short Python program $f$, and the goal is to find an input $x$ which makes $f$ output "True". The puzzles are objective in that each one is specified entirely by the source code of its verifier $f$, so evaluating $f(x)$ is all that is needed to test a candidate solution $x$. They do not require an answer key or input/output examples, nor do they depend on natural language understanding. The dataset is comprehensive in that it spans problems of a range of difficulties and domains, ranging from trivial string manipulation problems that are immediately obvious to human programmers (but not necessarily to AI), to classic programming puzzles (e.g., Towers of Hanoi), to interview/competitive-programming problems (e.g., dynamic programming), to longstanding open problems in algorithms and mathematics (e.g., factoring). The objective nature of P3 readily supports self-supervised bootstrapping. We develop baseline enumerative program synthesis and GPT-3 solvers that are capable of solving easy puzzles -- even without access to any reference solutions -- by learning from their own past solutions. Based on a small user study, we find puzzle difficulty to correlate between human programmers and the baseline AI solvers.

中文翻译:

编程谜题

我们引入了一种称为编程谜题的新型编程挑战,作为对程序合成的客观综合评估,并发布了 Python 编程谜题(P3)的开源数据集。每个谜题都由一个简短的 Python 程序 $f$ 定义,目标是找到一个输入 $x$,使 $f$ 输出“真”。这些谜题是客观的,因为每个谜题都完全由其验证者 $f$ 的源代码指定,因此评估 $f(x)$ 是测试候选解决方案 $x$ 所需的全部。它们不需要答案键或输入/输出示例,也不依赖于自然语言理解。该数据集是全面的,因为它跨越了一系列困难和领域的问题,从对人类程序员(但不一定对 AI)一目了然的简单字符串操作问题,到经典的编程难题(例如,河内塔),再到面试/竞争性编程问题(例如,动态编程),再到长期开放的算法和数学问题(例如,因式分解)。P3 的客观性质很容易支持自监督引导。我们开发了基线枚举程序综合和 GPT-3 求解器,它们能够通过从他们自己过去的解决方案中学习来解决简单的难题——即使没有访问任何参考解决方案。根据一项小型用户研究,我们发现人类程序员和基线 AI 求解器之间难以关联的难题。动态规划),解决算法和数学中长期存在的问题(例如,因式分解)。P3 的客观性质很容易支持自监督引导。我们开发了基线枚举程序综合和 GPT-3 求解器,它们能够通过从他们自己过去的解决方案中学习来解决简单的难题——即使没有访问任何参考解决方案。根据一项小型用户研究,我们发现人类程序员和基线 AI 求解器之间难以关联的难题。动态规划),解决算法和数学中长期存在的问题(例如,因式分解)。P3 的客观性质很容易支持自监督引导。我们开发了基线枚举程序综合和 GPT-3 求解器,它们能够通过从他们自己过去的解决方案中学习来解决简单的难题——即使没有访问任何参考解决方案。根据一项小型用户研究,我们发现人类程序员和基线 AI 求解器之间难以关联的难题。我们开发了基线枚举程序综合和 GPT-3 求解器,它们能够通过从他们自己过去的解决方案中学习来解决简单的难题——即使没有访问任何参考解决方案。根据一项小型用户研究,我们发现人类程序员和基线 AI 求解器之间难以关联的难题。我们开发了基线枚举程序综合和 GPT-3 求解器,它们能够通过从他们自己过去的解决方案中学习来解决简单的难题——即使没有访问任何参考解决方案。根据一项小型用户研究,我们发现人类程序员和基线 AI 求解器之间难以关联的难题。
更新日期:2021-06-11
down
wechat
bug