public class Solitaire extends ProfiledBDD2
"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 |
----------------
CACHE_AND, CACHE_BIIMP, CACHE_EXISTS, CACHE_FORALL, CACHE_IMP, CACHE_NAND, CACHE_NOR, CACHE_OR, CACHE_RESTRICT, CACHE_XOR, ite_cache, last_sat_vars, nodeNames, not_cache, num_vars, oneSat_buffer, op_cache, quant_cache, quant_conj, quant_cube, quant_id, relprod_cache, replace_cache, restrict_careset, sat_cache, sign_vec, varset_last, varset_vecdead_nodes, ht_chain, mark_stack, NODE_MARK, NODE_UNMARK, nodesminfree, stat_gc_count, stat_gc_freed, stat_gc_time, stat_grow_time, stat_lookup_count, stat_notify_time, stat_nt_grow, table_size, work_stack, work_stack_tos| Constructor and Description |
|---|
Solitaire() |
| Modifier and Type | Method and Description |
|---|---|
static void |
main(String[] args) |
void |
setup()
setup the model before using i
|
addDebugger, and, biimp, createPermutation, exists, forall, imp, ite, nand, nor, not, or, relProd, replace, report, restrict, satCount, showStats, simplify, support, xorandTo, cleanup, createVar, cube, cube, getMemoryUsage, getOne, getZero, internal_test, isVariable, member, minterm, minterm, mk, nodeCount, numberOfVariables, oneSat_rec, oneSat, oneSat, orTo, post_removal_callbak, print, printCubes, printDot, printSet, quasiReducedNodeCount, satCount_rec, setNodeNamesadd, check_all_nodes, check_node, countRootNodes, deref, enableStackMarking, gc, getHigh, getLow, getRef, getVar, getVarUnmasked, grow, invalidate, isNodeMarked, isValid, mark_node, mark_tree, match_table, ref, saturate, setAll, setAll, show_table_all, show_table, show_tuple, signal_removed, tree_depth_changed, unmark_node, unmark_tree, update_grow_parameterspublic void setup()
public static void main(String[] args)
This file is a part of the JDD package, a native Java Binary Decision Diagram Library.