samyakbayar's picture
Upload 29 files
d3a24e0 verified
|
Raw
History Blame Contribute Delete
2.19 kB
# ARC-AGI-3 Wayfinder Agent
Competition agent for the **ARC Prize 2026 — ARC-AGI-3 track** (Kaggle Code Competition).
## Architecture
The agent uses a **hybrid world-model + planning** architecture combining four
modules mapped to the benchmark's core capabilities:
| Module | Role | Capability |
|--------|------|------------|
| Perception Encoder | CNN over one-hot 64×64×16 frames → compact latent | — |
| World/Transition Model | Self-supervised P(frame changes | state, action) + forward model | Modeling |
| State Memory Graph | Hash-deduplicated directed graph of observed states | Exploration |
| Intrinsic Reward | Extrinsic Δscore + graph novelty + prediction-error curiosity | Goal-setting |
| Planner | Short-horizon tree search using world model as simulator | Planning |
| Action Head | Hierarchical: action-type softmax + conv coordinate head for ACTION6 | — |
## Quick Start
```bash
# Install
uv pip install -e ".[dev]"
# Run against a public game
uv run main.py --agent=wayfinder --game=ls20
# Run tests
uv run pytest
# Offline evaluation
uv run python eval/run_local_eval.py --agent=wayfinder --games=ls20,ls21,ls22
```
## Repository Layout
```
agents/wayfinder/ # Core agent modules (perception, world_model, memory_graph, ...)
training/ # Replay buffer, training loops, configs
eval/ # Offline evaluation harness, metrics
notebooks/ # Kaggle submission notebook
tests/ # Unit + integration tests
```
## Key Constraints
- **No internet at inference time** — Kaggle scoring sessions disable network access.
- **MIT/CC0 license** — all authored code; third-party deps must be permissively licensed.
- **Action budget** — agent self-terminates stuck levels (~5× human median actions).
- **No per-game hardcoding** — same code runs against all unseen games.
## Reproducing Results
1. Install dependencies: `uv pip install -e ".[dev]"`
2. Download public games via the SDK's local mode.
3. Run evaluation: `uv run python eval/run_local_eval.py --agent=wayfinder`
4. Results are logged to `eval/results/` with per-game/level breakdowns.
## License
MIT — see [LICENSE](LICENSE).