Summary of Program Synthesis Using Inductive Logic Programming For the Abstraction and Reasoning Corpus, by Filipe Marinho Rocha et al.
Program Synthesis using Inductive Logic Programming for the Abstraction and Reasoning Corpus
by Filipe Marinho Rocha, Inês Dutra, Vítor Santos Costa
First submitted to arxiv on: 10 May 2024
Categories
- Main: Machine Learning (cs.LG)
- Secondary: Artificial Intelligence (cs.AI); Programming Languages (cs.PL)
GrooveSquid.com Paper Summaries
GrooveSquid.com’s goal is to make artificial intelligence research accessible by summarizing AI papers in simpler terms. Each summary below covers the same AI paper, written at different levels of difficulty. The medium difficulty and low difficulty versions are original summaries written by GrooveSquid.com, while the high difficulty version is the paper’s original abstract. Feel free to learn from the version that suits you best!
Summary difficulty | Written by | Summary |
---|---|---|
High | Paper authors | High Difficulty Summary Read the original abstract here |
Medium | GrooveSquid.com (original content) | Medium Difficulty Summary The Abstraction and Reasoning Corpus (ARC) is a benchmark for general artificial intelligence that even Large Language Models (LLMs) cannot solve. It demands strong generalization and reasoning capabilities, which are weaknesses of Neural Network-based systems. To overcome this challenge, we propose a Program Synthesis system that uses Inductive Logic Programming (ILP), a symbolic AI technique, to solve ARC. We manually defined a simple Domain Specific Language (DSL) as Background Knowledge for ILP to create Logic Programs providing reasoning capabilities. Our system can generalize to unseen tasks by creating Logic Programs from few examples. In the case of ARC, pairs of Input-Output grid examples suffice. These Logic Programs generate Objects present in the Output grid and combine them to form a complete program transforming an Input grid into an Output grid. We demonstrate our system’s ability to solve ARC tasks requiring different reasoning using only a small number of Object primitives. |
Low | GrooveSquid.com (original content) | Low Difficulty Summary The Abstraction and Reasoning Corpus (ARC) is a challenge for artificial intelligence that even the best machines can’t solve yet. To help with this problem, we created a new way to use logic-based programming to solve ARC. We developed a special language that our system uses as “background knowledge” to create logical programs that can reason about problems. Our approach allows our system to learn from just a few examples and generalize to new tasks. We tested it on some ARC tasks and showed that it can solve them even when they require different types of reasoning. |
Keywords
» Artificial intelligence » Generalization » Neural network