23、ROBDD 中最小集与最大集的计算方法解析

ROBDD 中最小集与最大集的计算方法解析

在布尔函数的决策图表示中,零抑制二叉决策图(ZBDD)是有序二叉决策图(OBDD)的一种变体。从布尔函数的原始决策树获取 ZBDD 时,第一步简化规则是合并等价节点,这与简化 ROBDD (归约有序二叉决策图)或 QOBDD 类似。但在第二步简化规则上,ROBDD 和 ZBDD 有所不同。ROBDD 会移除所有冗余节点,而 ZBDD 会移除那些 1 - 边指向 0 - 汇点的节点。

有研究展示了如何使用 ZBDD 实现重要的集合论算法,并开发了公共领域的 ZBDD 库 EXTRA。该库包含两个操作: Extra_zddMinimal 用于从 2^X 的子集 A 的 ZBDD 表示计算出由 A 的最小集组成的子集 min(A) 的 ZBDD 表示; Extra_zddMaximal 则用于计算由 A 的最大集组成的子集 max(A) 的 ZBDD 表示。并且,这些操作可以迁移到 ROBDD 上,并在常见条件下进一步优化为更快的版本。

最小集的计算

假设 2^X 的子集 A 由 ROBDD r 表示,通过函数 Minsets(1, r) 可以计算出 2^X 的子集 min(A) 的 ROBDD 表示。该函数的输入是标签 i(i 属于 X,包括汇点的特殊标签 n + 1)和 ROBDD r 中的节点 v,且满足 i ≤ lab(v)。为简化正确性证明,代码中没有使用 BDD 算法常用的计算表,这可能导致大量相同的递归调用和指数级的运行时间。不过,在 Minsets 中插入一个计算表来存储已计算的结果并不困难,这样初始调用 <

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值