I'm trying to leverage CUDD's variable ordering heuristics for another program. I have created a BDD, tried a few variable orderings to see which one minimizes the size, and now I want to extract the variable ordering. How can I do this?
According to this answer, the dd
python package gives you a way to inspect the level of each variable, but I don't see a corresponding function in the C/C++ interface. How does that python binding pull it off? Does it require accessing CUDD internals through cuddInt.h
?
Ah, I should have read the source code of
dd
. The answer is quite simple: useCudd_ReadPerm
.