pyeda
pyeda copied to clipboard
Conjunction of disjoint BDDs
This is a feature request.
If I have BDD A over variables v1..v50 and BDD B over variables v51..v100, then I believe A & B reduces to a sort of concatenation: all edges from A pointing to 1 should now point to v51. I don't think this is how it is implemented as it takes a surprisingly long time in some cases to compute A & B with this property. I apologize in advance if I'm not taking into account some nuance of the data structure that's shared between BDDs.
Is it challenging to add this optimization?