ARC-AGI (Abstraction and Reasoning Corpus for Artificial General Intelligence) is a benchmark that evaluates AI's ability to solve novel, abstract problems—key aspects of general intelligence according to ARC creators.
Unlike traditional benchmarks, ARC-AGI tests how well AI can generalize to new tasks, focusing on abstraction, reasoning, and pattern recognition through grid-based puzzles.
Source: arc-agi website
🌟 ARC Genesis is a Python framework built to help you working in the ARC-AGI contest by providing essential tools and resources. It enables you to:
- Visualize problems effectively.
- Deploy and evaluate solutions via Kaggle (2 methods).
- Optimize task execution order for better performance.
- Start small before scaling to complex challenges (like 30x30 grids).
JupyterGenesis simplifies setting up a Jupyter environment across platforms (Linux, macOS, Windows). It automates virtual environment creation and Python package installation.
Simply run the script for your OS to install dependencies and launch a local JupyterLab server for your development needs.
For more details, check the documentation.
You only need Python 3
and pip
, under Linux, macOS, or Windows.
After cloning the repository, you’ll access:
challenges_plotting.ipynb
: Visualizes ARC challenges with various graphical methods.challenges_sorting.ipynb
: Optimizes task execution order during evaluations.tiny_arc.ipynb
: Focuses on solving smaller, simpler tasks before scaling to larger ones.kaggle_submission.ipynb
: Prepares solutions for submission using external package imports.self_sufficient_kaggle_submission.ipynb
: Offers a self-contained submission method.local_benchmark.ipynb
: Benchmarks your solutions locally.
Kaggle requires notebook submissions for evaluation. You can submit in two ways:
This approach separates the solution and evaluation for cleaner development. Refer to /source/kaggle_submission.ipynb
.
A quicker, all-in-one solution without external imports but with some limitations... Refer to self_sufficient_kaggle_submission.ipynb
.
Contributions are welcome from anyone! Whether it's code, documentation, translations, or bug reporting, every contribution helps us move closer to AGI.