Portfolio Project

Nonogram Solver

Reinforcement Learning (RL)

Data Science Machine Learning Python PyTorch AWS Docker

STAR Summary

Situation
I wanted to see if an RL agent could learn to solve Nonogram puzzles.
Task
Owned the end-to-end build, from implementation through the final deliverable.
Action
  • Generated large batches of 5x5 puzzles and trained a hybrid CNN + Transformer policy network to solve them.
  • Shaped rewards around unique guesses, row/column completions, and full-board solves to guide exploration.
Result
  • Evaluated on generated 5x5 boards, but the published materials do not yet include a reproducible held-out solve-rate result.
Stack
Python · PyTorch · AWS · Docker
Status
Live interactive demo

Evaluation & tradeoffs

Status
Not benchmarked
Goal
Measure whether the learned policy can complete unseen generated 5x5 Nonogram boards.
Dataset
Generated 5x5 Nonogram puzzles.
Split
The project references held-out boards, but split sizes, seeds, and a reproducible evaluation set are not published.
Baseline
No rule-based, search-based, or random-policy baseline is published.
Decision
Retained the hybrid CNN and Transformer policy for the live step-by-step solver demonstration.
Limitations
  • A held-out solve rate with board count, seed, and confidence interval has not been published.
  • Results on generated 5x5 boards do not establish performance on larger or human-authored puzzles.

Demo

Notes

The solver focuses on generated 5x5 puzzles; scaling to larger puzzles would need curriculum learning or search.