tulip-control/dd

Understanding of BDD generated diagram

SatarupaChak opened this issue · 2 comments

Hi @johnyf ,

I have generated a BDD diagram as per attached. I have looked into the docs for understanding the figure where each level consists of node name as variable_name - BDD._succ. But in the image, I am confused about what happens to successor a-5 or why is not there. Could you please clarify this for me?

Regards,
Satarupa

bdd_1

It seems that nodes other than those in the diagram (so also a node a-5) are not present because they are not reachable from the node whose BDD was dumped. This can happen when passing specific roots (here it seems that the root used is a reference to node b-6, signified by the node labeled with @6) to the method dd.autoref.BDD.dump (or the dump method of another BDD class), for example

bdd.dump('filename.pdf', [u])

All nodes (including a-5) can be included in the diagram by calling the method dump without a roots argument, for example:

bdd.dump('filename.pdf')

Please note that the method dd.cudd.BDD.dump assumes that the argument roots is not None, because it passes it to the function dd._copy.copy_bdds_from.

Thanks!