package knights_tour

  1. Overview
  2. Docs
Solves the 'Knights Tour' and various 'Poyomino' puzzles


Dune Dependency







## v0.0.5 (2023-09-13)

Improved documentation and README and small tweaks here and there.

## v0.0.4 (2022-06-18)

Moved 'Searchspace' module and some of its 'supporting' code
(I.e. `Treequence`) into a separate library 'knights_tour.searchspace'.
This makes re-using `Searchspace` outside this project, more convenient.

## v0.0.3 (2022-06-11)

Add some randomization to the Hexo puzzle solver to make it more
interesting. It still does a 'complete' search however by
randomizing the order in which puzzle pieces and variants are
tried means it will find different solutions on each run.
Randomizations also more often than not find a solution much 
faster than the default ordering.

Remove the 'withUndo' operator from Searchspace because it
is hard to support properly and hard to use properly without
introducing bugs in a searchspace definition (hard to contain

Add a 'breadth_search' searchspace exploration algorithm that
gradually regresses back to dept-first search to limit memory

Add a human readable textual de/serialization format
for specifying polyomino puzzles. 

Make graphical drawing of polyomino board more pleasing to the eye:
- each piece has a different color.
- borders around the pieces to make them stand out more.

Add hexo_solve executable which solves an instance of Hexominos.

Add random_hexo_puzzle executable which generates and saves a
randomized hexo_puzzle to a text file.

Add a `solve_file` executable that reads a polyomino puzzle 
specification from a text file and starts solving it.

## v0.0.2 (2022-05-22)

Exploration of solving a different type of puzzle (i.e. Pentominos).
Added some extra convenience methods into the SearchEngine module.
Improved the docs.

## v0.0.1 (2022-05-8)

Initial release. A simple program that solves the Knight's Tour puzzle.
Includes a library for defining searchspaces abstractly and then searching 
them for solutions.

Compares two different implementations of the knights-tour solver.
- one uses the searchpace library.
- the other is a more direct implementation.