slidingpuzzle
is a library that explores the slidinguzzle game.
It's currently under development and focused on solving the N-puzzle, sometimes also called the N2-1 puzzle.
- Clone the repo
pip install .
See the docs
- implement a basic sliding puzzle
- implement a basic N-puzzle
- write a basic BFS solver for N-Puzzle
- write a basic A* solver using the Manhattan heuristic for A*
- write tests for all the above basics
- explore the walking distance heuristic
- explore neural heuristics
- look into the relaxed version of the N-puzzle where there are k blanks instead of just one
- implement an unbounded version, so you can push through walls
- Chalik and Surynek (2019) on NN for heuristics to solve the puzzle
- Jenson (2017) on solving puzzle with neural heuristic
- Kunkle (2001) solving 8-puzzle with minimum moves
- Reinefeld (?) on complete solution to 8-puzzle using IDA*
- CMU assignment with example states and lengths
- Variety of heuristics for solving 8-puzzle
- 15-puzzle and alternating group by Beeler
- 15-puzzle solver!
- Github for another 15 puzzle solver
- Great article by Micheal Kim on solving the 15-puzzle
- Walkthrough of implementing A* to solve N-puzzle
- Walking distance in English
- Mixing time of the 15-puzzle by Morris and Raymer (2017)
- Walking distance diagram