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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Program Synthesis Using Inductive Logic Programming for the Abstraction and Reasoning Corpus

  • Filipe Marinho Rocha,
  • Inês Dutra,
  • Vítor Santos Costa,
  • Luís Paulo Reis

摘要

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.