Exemplo n.º 1
0
def test_dot():
    vtree = Vtree(var_count=4, var_order=[1, 2, 3, 4], vtree_type="right")
    if directory is not None:
        with (directory / "vtree1.gv").open("w") as ofile:
            s = vtree.dot()
            print(s, file=ofile)
        with (directory / "vtree2.gv").open("w") as ofile:
            s = vtree.dot2()
            print(s, file=ofile)
Exemplo n.º 2
0
def main():
    # set up vtree and manager
    var_count = 4
    var_order = [2,1,4,3]
    vtree_type = "balanced"

    vtree = Vtree(var_count, var_order, vtree_type)
    manager = SddManager.from_vtree(vtree)

    # construct a formula (A^B)v(B^C)v(C^D)
    print("constructing SDD ... ")
    a, b, c, d = [manager.literal(i) for i in range(1, 5)]
    alpha = (a & b) | (b & c) | (c & d)
    print("done")

    print("saving sdd and vtree ... ")
    with open("output/sdd.dot", "w") as out:
        print(alpha.dot(), file=out)
    with open("output/vtree.dot", "w") as out:
        print(vtree.dot(), file=out)
    print("done")
Exemplo n.º 3
0
from pysdd.sdd import SddManager, Vtree

var_count = 3
var_order = [1, 2, 3]
vtree_type = 'balanced'

vtree = Vtree(var_count, var_order, vtree_type)
manager = SddManager.from_vtree(vtree)

a, b, c = [manager.literal(i) for i in range(1, 4)]
alpha = c & (a | -b)

with open('sdd.dot', 'w') as out:
    print(alpha.dot(), file=out)
with open('vtree.dot', 'w') as out:
    print(vtree.dot(), file=out)