spot/buddy/examples/solitare
Alexandre Duret-Lutz aa4a582f1b Merge BuDDy 2.3.
* examples/calculator/, examples/internal/: Were renamed as ...
* examples/bddcalc/, examples/bddtest/: ... these.
* configure.ac: Adjust version and output Makefiles.
* examples/Makefile.am (SUBDIRS): Adjust subdir renaming.
* examples/cmilner/milner.c, examples/fdd/statespace.cxx: Were
renamed as ...
* examples/cmilner/cmilner.c, examples/fdd/fdd.cxx: ... these.
* examples/cmilner/Makefile.am, examples/fdd/Makefile.am: Adjust
accordingly.
* src/Makefile.am (AM_CPPFLAGS): Define VERSION.
2004-06-28 15:22:11 +00:00
..
.cvsignore more files to ignore 2003-06-30 07:48:20 +00:00
Makefile.am * configure.ac, Makefile.am, src/Makefile.am, doc/Makefile.am, 2003-05-05 13:44:49 +00:00
readme Initial revision 2003-05-05 10:57:53 +00:00
solitare.cxx Merge BuDDy 2.3. 2004-06-28 15:22:11 +00:00

SOLITARE GAME
-------------

This example tries to calculate the reachable state space of the
Solitare game. The board is sketched below. At the beginning all
places except number 17 has a pin in them. A pin may be moved by
jumping over another pin into an empty place. The pin in between is
then removed. The goal is to remove all pins execept one - which
should be left in the center.

It took a few hours to run this example on a Alpha machine and it
required some 8000000 BDD nodes.

(*****************************************************************************)
(*                                                                           *)
(*              ----------------                                             *)
(*              | 07 | 14 | 21 |                                             *)
(*              ----------------                                             *)
(*              | 08 | 15 | 22 |                                             *)
(*    ------------------------------------                                   *)
(*    | 01 | 04 | 09 | 16 | 23 | 28 | 31 |                                   *)
(*    ------------------------------------                                   *)
(*    | 02 | 05 | 10 | 17 | 24 | 29 | 32 |                                   *)
(*    ------------------------------------                                   *)
(*    | 03 | 06 | 11 | 18 | 25 | 30 | 33 |                                   *)
(*    ------------------------------------                                   *)
(*              | 12 | 19 | 26 |                                             *)
(*              ----------------                                             *)
(*              | 13 | 20 | 27 |                                             *)
(*              ----------------                                             *)
(*                                                                           *)
(*****************************************************************************)


Thanks to Ken Larsen for his help with this example.