Patsolve is an automated solver for several variants of Patience or Card Solitaire games (mostly FreeCell and similar variants), written by Tom Holroyd. It is written in the C programming language and is made available as free and open source software. Originally under the GPL, it was relicensed under the permissive X11 license. ()
Patsolve was actively developed up to version 3.0, at which point it became unmaintained by its author. Later on, a heavily modified version of it was converted to C++ by Stephan Kulow, and integrated into KPatience. In addition Shlomi Fish, who is known as the author of Freecell Solver (a similar solver for some Card solitaire games) has prepared patsolve-3.0.2.tar.gz distribution, which converted the build-system to CMake and fixed some build and deployment problems.
Patsolve is written in mostly portable ISO C/POSIX and runs fine on 32-bit and 64-bit Windows and UNIX platforms (naturally including Mac OS X, and Linux). It implements a combination of Depth-first search, Breadth-first-search and a priority queue based graph-traversal algorithm. It makes use of atomic moves.
Shlomi Fish expressed interest in merging in Patsolve as a faster atomic-moves-based heuristic for Freecell Solver, but this was complicated by the fact that he wishes to keep Freecell Solver mostly under a BSD-style licensing, while Patsolve was under the strong copyleft GPL license, and the fact that the two codebases are quite incompatible.
In addition to KPatience, Patsolve had been integrated into the "Solver Evaluation Edition" of FreeCell Pro, whose source code has been released under the GPL.
External Links Edit
- The patsolve-shlomif development branch of patsolve by Shlomi Fish - relicensed under the X11 licence.
- Shlomi Fish's patsolve-3.0.2 distribution for download
- The KPatience Handbook
- "Patsolve 3.0" - Post to fc-solve-discuss by Tom Holroyd - original announcement of Patsolve 3.0