Daniel Miedema
Daniel Miedema

Reputation: 161

Remove variable from the manager in CUDD manager?

I am looking to remove a variable from the manager in the CUDD library. This question was asked 8 years ago in this thread without a satisfying answer. Does somebody know now?

Upvotes: 0

Views: 99

Answers (1)

DCTLib
DCTLib

Reputation: 1056

Looking at the CUDD source code, it seems as if such a function does not exist.

Note that this is not surprising. There are few cases in which such a function would be needed. If all BDDs of a manager do not use a variable, then there is little to gain from removing a variable: variable reordering may be a tiny bit faster without the variable, and there is the unique node representing the variable itself takes up some memory. That's hardly worth it in many cases. If however a variable is currently used in a BDD, the meaning of removing a variable is not well-defined.

Also, removing variables is quite complicated -- it means that all BDD nodes have the be changed to keep the variable numbers continuous (which is an invariant needed for the permutation table). If a program using BDDs uses the variable numbers elsewhere, changing variable numbers is a source for bugs. In contrast, adding a new variable is easy as the new variable is simply attached at the end of the current variable list.

Upvotes: 1

Related Questions