我正在开发一个二元决策图的教学工具,其中还有一个变量重新排序的功能。任何人都可以建议一个合适的库,在构建树时实现变量重新排序或某种实现相同的算法?
如果我能使用像pyeda,buDDy或pycudd这样的库,那将是最好的,因为我已经熟悉这些库了。
如果您需要任何澄清,请表示感谢并发表评论..
你看过Ioannis Filippidis的dd吗?
我是pyeda的作者。在 Python 中实现 ROBDD 绝对很有趣,并且可能具有一些教育价值,但它绝对不会进行任何自动变量重新排序,所以如果这是一个要求,我建议查看 dd 或列表中的其他变量。
我在马里博尔大学的团队正在制作BDD Scout(http://biddy.meolic.com/(,一种用于可视化BDD的工具。 目前,支持具有互补边缘的ROBDD和具有互补边缘的0-sup-BDD。支持转换。它们都支持重新排序(即变量交换和筛选算法(。BDD Scout 在 GNU/Linux 和 MS Windows 上工作(提供源代码和二进制包(。我们希望我们的工具有一天能成为一个好的教学工具,但我们需要一些反馈来改进它。除了健壮性之外,功能集是需要改进的最关键部分。如果您能找到一些时间尝试,请随时给我们任何意见和问题。