--- license: mit tags: - arc-agi - arc-agi-2 - program-synthesis - rule-based - no-llm datasets: - fchollet/ARC-AGI language: - en metrics: - accuracy model-index: - name: verantyx-arc-agi2 results: - task: type: program-synthesis name: ARC-AGI-2 dataset: type: fchollet/ARC-AGI name: ARC-AGI-2 Training metrics: - type: accuracy value: 16.1 name: Training Accuracy --- # Verantyx ARC-AGI-2 — 16.1% (161/1000) 🏆 **Pure rule-based solver for ARC-AGI-2. No LLM. No neural networks. No pre-training.** ## Score | Split | Score | Tasks Solved | |-------|-------|-------------| | Training | **16.1%** | **161 / 1000** | ## Approach Verantyx is a **fully deterministic, LLM-free** ARC-AGI-2 solver built on program synthesis and domain-specific language (DSL) enumeration. ### Architecture 1. **Cross Engine** — Multi-strategy solver with priority-based candidate selection 2. **Neighborhood Rules** — Exact and extended (count/directional/multi-pass) neighborhood matching 3. **DSL Enumerator** — 32 parameterless primitives with depth-2 composition (1024 combinations) 4. **Panel Operations** — Grid splitting (separators, equal partitions) + reduction (XOR, OR, AND, overlay, select) 5. **Per-Object Transform** — Object detection → property-based recoloring/movement 6. **Puzzle Language** — 25+ hand-crafted pattern detectors with auto-verification 7. **Iterative Cross** — 2-step residual learning for complex transformations ### Puzzle Language Patterns (Phase 7) | Pattern | Description | Example Task | |---------|-------------|-------------| | `cross_and_fill` | Fill cross intersections | — | | `diagonal_extend` | Extend diagonal lines | — | | `connect_same_color` | Connect same-colored cells | — | | `extract_tile` | Detect repeated tile | 7b7f7511 | | `two_row_interleave` | 2 rows → checkerboard | e9afcf9a | | `stack_nor` | Top+bottom halves NOR | fafffa47 | | `frame_repeat_border` | Frame with repeated border | 49d1d64f | | `col_color_map` | Column position → row color | a85d4709 | | `split_vsep_and` | Vertical split AND | 0520fde7 | | `grid_pattern` | Lattice/checkerboard generation | 332efdb3 | | `antidiag_fill` | Anti-diagonal + bottom fill | 3bd67248 | | `latin_square` | Latin square completion | 4cd1b7b2 | | `shift_recolor` | Shift + recolor fg cells | a79310a0 | | `uniform_row_detect` | Mark uniform rows | 25d8a9c8 | | + 10 more | ... | ... | ### Score History | Version | Score | Delta | Key Changes | |---------|-------|-------|-------------| | v19 | 113 (11.3%) | — | Baseline with NB + DSL | | v27 | 127 (12.7%) | +14 | Extended NB rules | | v28 | 136 (13.6%) | +9 | split_combine + panel_extract | | v29 | 142 (14.2%) | +6 | puzzle_lang Phase 7 | | v30 | 144 (14.4%) | +2 | connect_same_color | | v31 | 146 (14.6%) | +2 | u_drop_ball + nonzero_count_row | | v32 | 147 (14.7%) | +1 | scale_down_uniform | | v33 | 149 (14.9%) | +2 | staircase_grow + comp_tile_2x2 | | v34 | 154 (15.4%) | +5 | frame_repeat + extract_tile | | v35 | 158 (15.8%) | +4 | col_color_map + split_vsep_and | | **v36** | **161 (16.1%)** | **+3** | **grid_pattern + latin_square** | ## Performance - **Eval speed**: ~0.40s/task (1000 tasks in ~7 minutes) - **No GPU required** — runs on CPU only - **Deterministic** — same input always produces same output ## Usage ```python from arc.cross_engine import solve_cross_engine # train_pairs: list of (input_grid, output_grid) # test_inputs: list of input grids predictions, versions = solve_cross_engine(train_pairs, test_inputs) ``` ## Files - `arc/cross_engine.py` — Main solver orchestrator - `arc/puzzle_lang.py` — Pattern-based puzzle language - `arc/nb_extended.py` — Extended neighborhood rules - `arc/beam_search.py` — Beam search with DSL - `arc/enumerator.py` — DSL primitive enumerator - `arc/panel_ops.py` — Panel split + reduce operations - `arc/per_object.py` — Per-object transforms - `arc/primitives.py` — 32 core DSL primitives ## License MIT ## Author kofdai — [verantyx project](https://github.com/Ag3497120/verantyx-v6)