{"data":{"kind":"file","path":"README.md","version_id":"s2hou7xmfkhjny2vrlfcyqsx","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2147,"modified_at":"2026-08-17T15:44:47.627000","content_hash":"53153b918c1cfe9ef9b1b627d83422ce412b44973edd4300360e584ea7174994"},"entries":[],"content":"# Blokus Geometric Placement\n\nA verifiers environment that evaluates spatial reasoning and geometric placement skills through the lens of the Blokus board game.\n\n## Overview\n\nBlokus is a strategy board game where players place polyomino pieces on a 20x20 grid following strict adjacency rules:\n- Each piece must share a **corner** (diagonal) with at least one previously placed piece\n- Pieces of the same color must **NOT share an edge**\n- The goal is to maximize board coverage\n\nThis environment tests an LLM's ability to reason about:\n\n1. **Valid Placement** — Can the model identify legal positions for pieces given board state and Blokus rules?\n2. **Counting** — Can the model enumerate all distinct valid placements considering rotations and reflections?\n3. **Multi-Piece Coordination** — Can the model place multiple pieces while maintaining adjacency constraints?\n4. **Spatial Reasoning** — Can the model match piece shapes to gaps and holes in the board?\n5. **Optimization** — Can the model maximize total coverage across multiple pieces?\n\n## Task Types\n\n| Type | Count | Difficulty |\n|------|-------|------------|\n| Single Placement | 8 | Easy-Medium |\n| Counting | 6 | Medium |\n| Multi-Piece | 4 | Medium-Hard |\n| Spatial Reasoning | 4 | Hard |\n| Optimization | 3 | Hard |\n\n## Scoring\n\nThe rubric uses 5 weighted metrics:\n\n| Metric | Weight | Description |\n|--------|--------|-------------|\n| Placement Validity | 0.35 | Is the placement legal per Blokus rules? |\n| Coverage Score | 0.20 | Does the model prefer larger pieces? |\n| Reasoning Quality | 0.15 | Does the model explain its spatial reasoning? |\n| Count Accuracy | 0.15 | For counting tasks, is the answer correct? |\n| Multi-Placement | 0.15 | For multi-piece tasks, how many pieces placed correctly? |\n\n## Usage\n\n```python\nimport verifiers as vf\n\nenv = vf.load_environment(\"fran/blokus-geometric-placement\")\n```\n\n## Environment Args\n\nNo custom arguments required. Uses default settings.\n\n## Polyomino Pieces\n\nThe environment includes 21 polyomino pieces from monomino (1 cell) to pentomino (5 cells), each with full rotation and reflection support.\n\n## License\n\nMIT\n","encoding":"utf-8","truncated":false,"total_bytes":2147},"status":null}