For arc primitives, the strongest matches are fchollet/arc-agi (This repository is the official benchmark dataset and task), sapientinc/hrm (HRM is a general reasoning and reinforcement learning framework) and ohmjs/ohm (Ohm is a domain-specific language framework and parser generator). taichi-dev/taichi and acceleratehs/accelerate round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked ARC puzzle solvers and abstract reasoning primitives, ranked by stars and activity. Compare the top repositories and find the right fit.
This project is a standardized set of abstraction and reasoning problems designed for benchmarking the ability of artificial intelligence models to learn new rules. It functions as a fluid intelligence test and a reasoning benchmark, utilizing a collection of grid-based puzzles and a program synthesis dataset to evaluate how agents generate algorithms from examples. The project focuses on measuring general fluid intelligence and the capacity for zero-shot generalization, testing whether a system can apply learned logic to unseen problems without relying on task-specific training. It provides
This repository is the official benchmark dataset and task specification created by Francois Chollet for the Abstraction and Reasoning Corpus, serving as the foundational foundation and evaluation suite that all ARC solvers and DSLs target.
HRM is an automated reasoning engine and language framework designed to execute complex, multi-scale problem solving. It functions as a reinforcement learning agent that continuously updates internal knowledge representations to improve task performance based on incoming data streams. The system distinguishes itself through a hierarchical architecture that coordinates abstract, long-term planning with granular, low-level logic. By integrating evolutionary algorithms and reinforcement learning, the framework refines model parameters and weights over successive generations, ensuring that intern
HRM is a general reasoning and reinforcement learning framework rather than a dedicated ARC benchmark solver or domain-specific language implementation for grid transformation tasks.
Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions
Ohm is a domain-specific language framework and parser generator for text, which lacks the specific grid transformation and program synthesis capabilities required for solving the ARC benchmark.
Taichi is a domain-specific programming language embedded in Python designed for high-performance numerical computing and computer graphics. It functions as a parallel compiler that translates high-level mathematical expressions into optimized machine instructions, enabling developers to write compute-intensive algorithms that execute across diverse hardware architectures, including CPUs, GPUs, and specialized accelerators. The project distinguishes itself through a hardware-agnostic execution layer that maps parallel operations to multiple backends such as CUDA, Metal, and Vulkan. By utilizi
Taichi is a general numerical computing and graphics programming language rather than an ARC solver framework, making it a building block rather than the specific benchmarking tool requested.
Accelerate is a framework for high-performance array computing that provides a domain-specific language for expressing complex mathematical and parallel computations. By utilizing a declarative programming interface, it allows users to define high-level array transformations that are automatically translated into optimized machine code for diverse hardware architectures. The system distinguishes itself through a modular architecture that decouples high-level array operations from hardware-specific instructions. It employs just-in-time compilation and kernel fusion to transform programs into e
Accelerate is a general-purpose high-performance array computing framework in Haskell rather than a specialized solver library or DSL for the Abstraction and Reasoning Corpus.
Pest is a Rust parsing library and automatic parser generator that transforms formal grammar definitions into functional parsers. It specializes in Parsing Expression Grammar to recognize and structure complex text patterns, providing a system for context-free grammar parsing. The library implements zero-copy tokenization and static grammar compilation to reduce runtime overhead. It supports no-std runtime compatibility, allowing the parser to be compiled for embedded or bare-metal environments where a standard library is unavailable. The project covers a range of parsing capabilities, inclu
Pest is a general-purpose parsing library for formal grammars and text formats rather than a specialized solver or domain-specific language implementation for the ARC benchmark.
This is an evolutionary algorithm and genetic programming framework that can be used to build program search tools, but it is not specifically tailored to the ARC benchmark primitives or grid transformation DSLs.
Grule is a business rule engine for Go that decouples complex decision-making logic from core application code. It provides a framework for defining, versioning, and executing business rules through a domain-specific language, allowing logic to be managed independently of the underlying software implementation. The engine distinguishes itself by utilizing a formal grammar-based parser and a Rete-inspired pattern matching algorithm to evaluate logic against data facts efficiently. It supports dynamic system modeling by enabling runtime updates to policies and providing thread-safe knowledge ba
Grule is a business rule engine and domain-specific language framework, but it is designed for enterprise decision-making rather than the grid transformation and program synthesis required for the ARC benchmark.
ANTLR is a grammar-based code generator and multi-language parser generator used to design and implement custom languages. It functions as a toolkit for transforming formal language definitions into executable source code for processing structured text or binary files, while providing a framework for automatically constructing and traversing hierarchical parse trees. The project is distinguished by its ability to generate lexers and parsers in various target programming languages from a single shared grammar definition. It supports grammars containing direct left recursion and utilizes adapti
This parser generator helps build domain-specific languages, but it is a general-purpose tool rather than a specialized solver or framework for the specific grid-transformation benchmark requested.
Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator that transforms BNF-like grammar definitions into executable code capable of analyzing text and generating abstract syntax trees. The project is distinguished by its ability to handle any context-free grammar, including those with left recursion and ambiguity, by maintaining multiple valid derivations for a single input. It further supports incremental parsing, allowing input strings to be processed in chunks to provide partial results and real-time feedback. Beyond core parsi
Nearley is a general-purpose JavaScript parser toolkit for context-free grammars, making it a text-parsing utility rather than a domain-specific solver or DSL for the Abstraction and Reasoning Corpus.
Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang
Rhai is a general-purpose embedded scripting language for Rust rather than a specialized library or DSL implementation specifically built for the ARC benchmark.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| fchollet/arc-agi | 4.8K | JavaScript | Apache-2.0 | |
| sapientinc/hrm | 12.5K | Python | Apache-2.0 | |
| ohmjs/ohm | 5.5K | JavaScript | mit | |
| taichi-dev/taichi | 28K | C++ | apache-2.0 | |
| acceleratehs/accelerate | 1K | Haskell | NOASSERTION | |
| pest-parser/pest | 5.4K | Rust | Apache-2.0 | |
| deap/deap | 6.3K | Python | lgpl-3.0 | |
| hyperjumptech/grule-rule-engine | 2.5K | Go | NOASSERTION | |
| antlr/antlr4 | 18.9K | Java | BSD-3-Clause | |
| kach/nearley | 3.7K | JavaScript | MIT |