3

I am working on a teaching tool for binary decision diagrams in which there is also a feature for variable reordering. Can anyone suggest a suitable library which implements variable reordering while building the tree or some kind of algorithm which implements the same ?

It would be best if I could work with a library like pyeda, buDDy or pycudd because I am already familiar with these libraries.

Thanks and comment if you need any kind of clarification..

Razor21
  • 59
  • 1
  • 6

2 Answers2

3

Have you looked at dd, by Ioannis Filippidis?

I'm the author of pyeda. Implementing ROBDDs in Python was definitely fun, and can probably have some educational value, but it definitely doesn't do any automatic variable reordering, so if that's a requirement I would recommend looking at dd or the other ones on your list.

Chris Drake
  • 353
  • 1
  • 7
1

My group at University of Maribor is producing BDD Scout ( http://biddy.meolic.com/ ), a tool for visualization of BDDs. Currently, ROBDDs with complemented edges and 0-sup-BDDs with complemented edges are supported. Conversions are supported. Reordering (i.e. variable swapping and sifting algorithm) is supported for both of them. BDD Scout work on GNU/Linux an MS Windows (source and binary packages are available). We hope that our tool one day becomes a good teaching tool but we need some feedback to improve it. Besides the robustness the set of the functionalities is the most critical part to improve. If you will find some time to try it do not hesitate to give us any comments and questions.

meolic
  • 1,177
  • 2
  • 15
  • 41