arc-agi2-solver / README.md
aryaman27's picture
Upload README.md
308c1ec verified
# ARC Prize 2026 - ARC-AGI-2 Solver
Multi-strategy ensemble solver for the [ARC Prize 2026 Kaggle competition](https://www.kaggle.com/competitions/arc-prize-2026-arc-agi-2).
## Architecture
Three-pronged ensemble:
1. **DSL Solver** β€” 32 primitive transforms (rotations, flips, cropping, border extraction, hole filling, object detection, color operations) + depth-2 composition. Solves geometric/structural tasks in milliseconds.
2. **Object Solver** β€” Connected components detection: extracts largest objects, converts object sets to color bars.
3. **TTT Solver** β€” 236K-parameter encoder-decoder Transformer trained from scratch per task using test-time training. 16 augmentations per example (D8 symmetries + color permutations).
**Ensemble logic**: DSL β†’ Object β†’ TTT β†’ Identity fallback
## Performance
- **DSL accuracy on ARC-AGI-2 training**: ~1.8% (18/1000 tasks)
- **TTT model**: 236K parameters, ~5-10s per task on L4 GPU
- **Optimized for**: Kaggle 4Γ—L4 GPU, 12-hour time limit
## Usage
1. Download `kaggle_notebook.py`
2. Upload to Kaggle as a notebook
3. Run β€” it reads from `/kaggle/input/arc-prize-2026/` and writes `/kaggle/working/submission.json`
## Files
| File | Description |
|------|-------------|
| `kaggle_notebook.py` | Complete Kaggle submission notebook |
| `kaggle_solver.py` | Standalone Python module (more features) |
| `train_sft_barc.py` | Optional: SFT pre-training on BARC dataset |
## References
Built on research from:
- NVARC (2025 winner, 24% on ARC-AGI-2): Test-time training + heavy augmentation
- Product-of-Experts (Franzen et al., 2025): DFS + probability threshold + PoE scoring
- SOAR (2025, 2nd place paper): Self-improving evolutionary program synthesis
- MARC (NeurIPS 2025): The Surprising Effectiveness of TTT
- CompressARC (2025, 3rd place paper): MDL-based code golf, 76K parameters
## License
MIT β€” free to use, modify, and distribute.