spot/buddy/examples/solitare
Etienne Renault 5f4b7e1f3f Remove all cvsignore files.
* .cvsignore, bench/.cvsignore,
bench/emptchk/.cvsignore, bench/emptchk/models/.cvsignore,
bench/ltl2tgba/.cvsignore, buddy/.cvsignore,
buddy/doc/.cvsignore, buddy/examples/.cvsignore,
buddy/examples/adder/.cvsignore,
buddy/examples/bddcalc/.cvsignore,
buddy/examples/bddtest/.cvsignore,
buddy/examples/calculator/.cvsignore,
buddy/examples/cmilner/.cvsignore,
buddy/examples/fdd/.cvsignore,
buddy/examples/internal/.cvsignore,
buddy/examples/milner/.cvsignore,
buddy/examples/money/.cvsignore,
buddy/examples/queen/.cvsignore,
buddy/examples/solitare/.cvsignore,
buddy/src/.cvsignore, buddy/tools/.cvsignore,
doc/.cvsignore, iface/.cvsignore,
src/.cvsignore, src/ltlast/.cvsignore,
src/ltlenv/.cvsignore, src/ltlparse/.cvsignore,
src/ltlvisit/.cvsignore, src/misc/.cvsignore,
src/sanity/.cvsignore, src/tests/.cvsignore,
src/twa/.cvsignore, tools/.cvsignore,
wrap/.cvsignore, wrap/python/.cvsignore,
wrap/python/tests/.cvsignore: here.
2015-04-24 13:57:56 +02:00
..
.gitignore Add .gitignore files 2008-03-14 16:59:32 +01: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 buddy: rename libbdd to libbddx 2014-10-30 20:58:10 +01: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.