Slitherlink
Slitherlink
Description
Slitherlink is an environment for evaluating agents on logic puzzle solving with loop-drawing constraints. This environment wraps the Slitherlink implementation from TextArena, a framework for text-based game environments.
Capabilities
- Constraint-based logic puzzle solving
- Understanding topological constraints (closed loops)
- Spatial reasoning with edge relationships
- Systematic constraint propagation
Compute Requirements
Slitherlink does not require a sandbox. It has minimal compute requirements.
License
MIT.
Tasks
The number of variants is dynamically determined from the TextArena registry (all variants with "Slitherlink" prefix). There are two splits: train and test. Each split contains 50 tasks per variant.
Each task is seeded for reproducibility.
Reward Structure
This is a sparse reward environment. The agent receives a reward of 1.0 upon successfully completing the puzzle and 0.0 otherwise.
We do not use LLM graders for this environment; reward is determined programmatically.
Data
Game state is generated procedurally by the TextArena engine using seeded randomness. No external data files are required.
Tools
Agents are given a single tool:
toggle_edge(orientation, row, column): Toggle an edge on the Slitherlink grid.
Time Horizon
Slitherlink is a multi-turn environment.
Environment Difficulty
This environment presents moderate to challenging difficulty, requiring agents to satisfy local constraints (numbers in cells) while maintaining global constraints (forming a single closed loop).
Other Environment Requirements
There are no further environment requirements; Slitherlink works out of the box without any secrets or API keys.
Safety
Agents in Slitherlink interact only with a logic puzzle and have no access to external systems, the internet, or sensitive data. The environment does not present safety risks.
Citations
@software{textarena2024,
author = {Guertler, Leon and Banting, Wilfried and Pignatelli, Eduardo},
title = {TextArena},
year = {2024},
publisher = {GitHub},
url = {https://github.com/LeonGuertler/TextArena}
}