non-smooth circuits: Bug in isstruct_decomposable, infer_vtree
Closed this issue · 4 comments
khosravipasha commented
Update:
- Bug in
isstruct_decomposable
for non-smooth circuits. -
infer_vtree
not supported for non-smooth circuits (for now throws an error)
using LogicCircuits
using ProbabilisticCircuits
random = load_logic_circuit(zoo_sdd_file("random.sdd"))
rand_v = zoo_vtree("random.vtree")
isstruct_decomposable(random) ## Return False
respects_vtree(random, rand_v) ## Returns True
khosravipasha commented
random is not smooth, that's probably why it fails. Need to add in docs what properties are needed for each function, and sometimes maybe throw error if the properties don't hold (have an option of ignoring the check for advanced cases, for example when speed is important and don't want to do the checks).
guyvdbroeck commented
The answer to isstruct_decomposable(random)
should be true, even if the circuit is not smooth. So this is a bug.
khosravipasha commented
Might also be related to: #43
Is the vtree unique if a circuit is not smooth?
khosravipasha commented
It seems smoothness is not the only issue, closing this now and tracking in #82