Skip to main content

RS10Env

English | 简体中文

Gymnasium-compatible RS10 board game environment and heuristic strategies (PyTorch).

Install

By default the project uses CPU-only PyTorch (smaller install; no GPU/CUDA needed if you are not training):

# With uv (recommended; installs torch from PyTorch CPU index)
uv add rs10env

# Or from source: clone repo, then sync in project root
git clone https://github.com/xx025/rs10env.git
cd rs10env
uv sync

For GPU/CUDA, install the matching torch first, then rs10env, e.g.
uv pip install torch --index-url https://download.pytorch.org/whl/cu124, then uv sync.

Environment

RS10Env is a turn-based env: each step selects a rectangle whose cells sum to a target (default 10) and clears it. Board: H×W (default 16×10), cells 0–9. Full spec (observation/action space, mask, reward): API reference.

API usage

See docs/API.md for environment API and code examples (single board, multi-game comparison, low-level env + strategy).

Streamlit app

Two modes: single board (multiple strategies) and multi-game comparison (with progress). Best strategy is highlighted.

uv add rs10env[app]
rs10env-app
# or from repo root
uv run streamlit run app.py

Strategies

  • random — uniform over valid actions
  • greedy — clear as many cells as possible
  • center_bias — prefer rectangles closer to board center
  • large_rect / small_rect — prefer larger / smaller area
  • center_small_rect — center + small area
  • epsilon_greedy — ε-greedy
  • max_future_moves — choose action that maximizes valid moves on the next state

Benchmark (strategy comparison)

Batch runs on a fixed set of boards (16×10, target_sum=10). Below: 100k games per strategy. “Best count” / “Share” = times that strategy cleared the most cells in a game.

Strategy Tests Avg steps Avg removed Time/game (s) Best count Share (%)
random 100,000 40.72 96.82 0.32 1,109 1.11
greedy 100,000 36.38 92.11 0.31 244 0.24
center_bias 100,000 43.15 101.15 0.31 5,185 5.19
large_rect 100,000 36.33 91.57 0.31 212 0.21
small_rect 100,000 45.77 103.44 0.39 7,316 7.32
center_small_rect 100,000 46.31 104.65 0.52 10,643 10.64
max_future_moves 100,000 50.07 113.54 8.12 80,793 80.79

max_future_moves clears the most on average and wins most often, at higher per-game cost; center_small_rect and small_rect offer a good trade-off.

Cells removed by strategy (boxplot):

removed_boxplot

Best-strategy share (who clears the most in each game):

best_strategy_analysis

Cumulative average cells removed over games:

cumulative_avg_removed

Dependencies

  • Python >= 3.10
  • PyTorch >= 2.0
  • Gymnasium >= 1.0
  • NumPy >= 1.24

Related projects

This repo focuses on simulation environment and strategies (Gymnasium + heuristics). Other open-source projects that implement automation or assist tools for similar number-sum-elimination mechanics (various platforms):

Project Platform Description
nusery (longlifedahan) Web HTML/JS frontend, playable demo
Opening_Nursery_For_Mac macOS Python, pyautogui + OpenCV + Tesseract
nursery-bot Windows Python bot, Tesseract OCR
KaiJuTuoErSuo Android Java + ADB, OpenCV, OCR, DFS for elimination path
tuoersuo — Automation script (Gitee)

Metadata

Release files for rs10env 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rs10env 0.1.0
File Size Uploaded Provenance Actions
rs10env-0.1.0.tar.gz 4.8 MB With provenance Details for rs10env-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rs10env 0.1.0
File Interpreter ABI Platform Actions
rs10env-0.1.0-py3-none-any.whl Python 3 none any Details for rs10env-0.1.0-py3-none-any.whl

Total release size: 4.8 MB

Release files / rs10env-0.1.0.tar.gz

Download URL rs10env-0.1.0.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ebba62f847ebe2fdeb189facdca63f294bb16cba1c9ff098fe2466f3db5f783f
BLAKE2b-256 checksum
How to use checksums
233727754bbfbd523e7b1910c87be958d2fad78afdb19202d1ab566853c18a4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.

Transparency log

Release files / rs10env-0.1.0-py3-none-any.whl

Download URL rs10env-0.1.0-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
104d3726b665c34fd22abe9e5ee8be799c24c135dea6b87699572d2ba55b6b68
BLAKE2b-256 checksum
How to use checksums
55b6c64e57467e88ddc2820d0dcf159c2d504df9dbd926ebc96f01cea6c0dd27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.

Transparency log

Security for rs10env 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rs10env-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page