Open SHoltzen opened 1 year ago
Add a /bin/ directory that organizes the following main binaries for interacting with the library.
/bin/
bottomup_cnf_to_bdd
order
auto_minfill
auto_force
manual
strategy
dtree
verbose
progress
bottomup_formula_to_bdd
ordering
interaction_minfill
bottomup_cnf_to_sdd
bottomup_formula_to_sdd
cnf_to_ddnnf
static_minfill
static_manual
weighted_model_count
circuit
semiring
f64
rational
weights
For the progress bar feature, perhaps indicatif is the one to look at!
Add a
/bin/
directory that organizes the following main binaries for interacting with the library.bottomup_cnf_to_bdd
: takes as input a CNF and outputs a BDD.order
, specifies a variable order:auto_minfill
: use a min-fill heuristic to find the variable orderingauto_force
: use the FORCE heuristic to find a variable orderingmanual
: provide a manual variable order as a JSON filestrategy
, specifies a compilation order (i.e., a tree describing the sequence in which clauses are conjoined together)dtree
, uses the dtree decomposition of the CNF according to the variable orderverbose
, show verbose output (timing information, hash table information, etc.)progress
, show a progress bar that gives an estimate of compilation progress (fraction of compiled clauses)bottomup_formula_to_bdd
: takes as input an arbitrary logical formula and outputs a BDD.JSONformat)ordering
manual
, must provide a manual variable order.interaction_minfill
: user provides an interaction graph between variables and minfill is run to extract a good variable orderbottomup_cnf_to_sdd
: same as for BDDbottomup_formula_to_sdd
: same as for BDDcnf_to_ddnnf
: compiles a d-DNNF from a CNForder
, specifies a variable ordering strategystatic_minfill
, follows a static variable ordering based on the minfill heuristic on the graphstatic_manual
, user provides a manual static variable orderingweighted_model_count
: takes as input a compiled circuit and weight file and outputs the resulting weighted model countcircuit
, either a dDNNF, SDD, or BDDsemiring
, choice of semiring under which to perform the computationf64
orrational
for now; more to come laterweights
A JSON file describing the weights (a dictionary mapping literals to weights)