spot/buddy/examples/solitare
Alexandre Duret-Lutz ad8d24222a buddy: rename libbdd to libbddx
* buddy/src/bdd.h, buddy/src/bvec.h, buddy/src/fdd.h: Rename as...
* buddy/src/bddx.h, buddy/src/bvecx.h, buddy/src/fddx.h: ... these.
* buddy/src/Makefile.am: Build libbddx.la instead of libbdd.la.
* buddy/examples/Makefile.def: Use it.
* Makefile.am, buddy/src/bddtest.cxx, buddy/src/bvec.c,
buddy/src/cppext.cxx, buddy/src/fdd.c, buddy/src/imatrix.h,
buddy/src/kernel.h, buddy/examples/adder/adder.cxx,
buddy/examples/bddcalc/parser_.h, buddy/examples/bddtest/bddtest.cxx,
buddy/examples/cmilner/cmilner.c, buddy/examples/fdd/fdd.cxx,
buddy/examples/milner/milner.cxx, buddy/examples/money/money.cxx,
buddy/examples/queen/queen.cxx, buddy/examples/solitare/solitare.cxx,
m4/buddy.m4, src/ltlvisit/apcollect.hh, src/ltlvisit/simplify.hh,
src/misc/bddlt.hh, src/misc/bddop.hh, src/misc/minato.hh,
src/priv/acccompl.hh, src/priv/accconv.hh, src/priv/accmap.hh,
src/priv/bddalloc.cc, src/tgba/bdddict.hh, src/tgba/bddprint.hh,
src/tgba/tgbamask.hh, src/tgba/tgbasafracomplement.cc,
src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/sccstack.hh,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/powerset.cc,
src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh,
src/tgbaalgos/weight.hh, wrap/python/buddy.i: Adjust.
* NEWS, README: Document it.
2014-10-30 20:58:10 +01:00
..
.cvsignore more files to ignore 2003-06-30 07:48:20 +00: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.