Addressing the Abstraction and Reasoning Corpus via Procedural Example Generation
Michael Hodel
TL;DR
This work addresses ARC's generalization and few-shot learning challenges by procedurally generating $400$ task-specific example generators that sample from inferred transformation distributions. It provides standalone ARC-DSL–based generators and verifiers to produce large-scale, verifiable input–output pairs, enabling within-task curriculum experiments and analyses of sample-efficient learning. Each generator can deliver at least $10{,}000$ unique examples per task, with difficulty controllable via parameter intervals and explicit metrics. The approach offers scalable data and experimental pathways for studying generalization on the ARC benchmark, while noting limitations around precisely defining the underlying transformation logic and human solvability.
Abstract
This work presents code to procedurally generate examples for the ARC training tasks. For each of the 400 tasks, an example generator following the transformation logic of the original examples was created. In effect, the assumed underlying distribution of examples for any given task was reverse engineered by implementing a means to sample from it. An attempt was made to cover an as large as reasonable space of possible examples for each task. That is, whenever the original examples of a given task may be limited in their diversity e.g. by having the dimensions of the grids, the set of symbols or number of objects constant or within tight bounds, even though the transformation does not require it, such constraints were lifted. Having access to not just a few examples per task, as the case for ARC, but instead very many, should enable a wide range of experiments that may be important stepping stones towards making leaps on the benchmark.
