Program Synthesis Using Inductive Logic Programming for the Abstraction and Reasoning Corpus
摘要
The Abstraction and Reasoning Corpus (ARC) is a general artificial intelligence benchmark that is currently unsolvable by any Machine Learning method. It demands strong generalization and reasoning capabilities, which are known to be weaknesses of Neural Network-based systems. In this work, we propose a Program synthesis system to solve ARC, Induce Logic Programs for Abstract Reasoning (ILPAR), which casts an ARC problem as a sequence of Inductive Logic Programming (ILP) problems. We have implemented a simple Domain Specific Language (DSL) that corresponds to a small set of object-centric abstractions relevant to ARC. This is Background Knowledge used by ILP to create abstract Logic Programs that provide reasoning capabilities to our system. When solving each ARC task, ILPAR can generalize from a few training examples: pairs of Input-Output grids. The Logic Programs are able to generate objects present in the Output grid and the combination of these can transform an Input grid into an Output grid. We randomly chose some tasks from ARC that do not require more than the small number of primitives we implemented in our DSL and showed that providing only this to ILPAR, it can solve tasks that require each different reasoning.