如何有效地实现二元决策图(BDD)?

Tom*_*ski 5 algorithm implementation boolean-logic data-structures binary-decision-diagram

关于二元决策图的背景可以在维基百科上找到BDD.

最简单的方法是构建BDT(二进制决策树),然后根据两个规则减少它:
- 合并任何同构子图.
- 消除两个孩子同构的任何节点.
但是与BDD相比,BDT存在一个主要问题.有没有办法在不首先构建BDT的情况下构建BDD?

Fre*_*Foo 6

使用AndersenMk(make node)和Build(构造BDD)算法,第16-17页.我有一段时间没有使用BDD,但我相信HT应该是哈希表.使用哈希表两者都是安全的.