One of the challenges facing artificial intelligence research today is designing systems capable of utilizing systematic reasoning to generalize to new tasks. The Abstraction and Reasoning Corpus (ARC) measures such a capability through a set of visual reasoning tasks. In this paper we report incremental progress on ARC and lay the foundations for two approaches to abstraction and reasoning not based in brute-force search. We first apply an existing program synthesis system called DreamCoder to create symbolic abstractions out of tasks solved so far, and show how it enables solving of progressively more challenging ARC tasks. Second, we design a reasoning algorithm motivated by the way humans approach ARC. Our algorithm constructs a search graph and reasons over this graph structure to discover task solutions. More specifically, we extend existing execution-guided program synthesis approaches with deductive reasoning based on function inverse semantics to enable a neural-guided bidirectional search algorithm. We demonstrate the effectiveness of the algorithm on three domains: ARC, 24-Game tasks, and a 'double-and-add' arithmetic puzzle.
翻译:当今人工智能研究所面临的挑战之一是设计能够利用系统推理来推广新任务的系统。 抽象和理性公司(ARC)通过一系列直观推理任务来测量这种能力。 在本文中,我们报告了反光推理的渐进进展,并为两种方法的抽象和推理打下基础,这些方法并非以粗力搜索为基础。 我们首先应用一个称为“ 梦 Coder” 的现有程序合成系统, 以便从迄今完成的任务中产生象征性的抽象抽取, 并展示它如何帮助逐步解决反光算工作。 其次, 我们设计一种推理算法, 其动机是人类对待 ARC 的方法。 我们的算法在这个图形结构上构建了一个搜索图表图表和原因, 以发现任务解决方案。 更具体地说, 我们扩展了现有的执行指导程序合成方法, 其依据的是反义的推理法, 以促成一个神经导双向搜索算法。 我们展示了三个领域的算法的有效性 : ARC, 24- Game 任务, 和“ 双向加” 算谜谜题。