提问人:Marco Antoniotti 提问时间:1/15/2018 更新时间:1/24/2018 访问量:102
需要有关 BDD 图形的帮助
Need help on BDDs graphs
问:
我正在重新实施(为了好玩,做一些工作和NIH的严重案例)一个ROBDD库。我想有一些由其他库构建的“参考”图来比较结果 [*]
例如,给定变量阶数 x1 < y1 < x2 < y2,得到的图形将用于什么
(x1 <=> y1) /\ 不是 (x2 <=> y2) /\ (x2 <=> y2) [**]
我假设是标准运算符。另外,如果有帮助,我假设 /\ 是左关联的。
欢迎任何其他小例子。
谢谢
马可
[*]我知道!我应该下载库,安装它们并使用它们,但我很懒惰。
[**]这个例子取自一个漂浮在网络上的 Moeller 和 Oestergard 的例子。
答:
0赞
meolic
1/22/2018
#1
我是 BDD Scout 的作者 - 一个用于可视化 BDD 的工具。它适用于 MS Windows 和 GNU/Linux。它可以为您输入的任何布尔函数显示带有互补边的 ROBDD。它还支持没有互补边的 ROBDD 和 0-sup-BDD(又名 Minato 推出的 ZDD)。它还允许您对变量进行重新排序。您可以从 http://biddy.meolic.com/ 下载它。您的公式等于零,但例如,下面是为布尔函数生成的图形:
F = (x1*y1+!x1*!y1) * !(x2*y2+!x2*!y2)
编辑:请在下面找到两个使用 BDD Scout 生成的 PNG 文件,用于 Moeller 和 Oestergard 的学士论文(第 9 页)中的布尔函数。不幸的是,BDD Scout 不支持 <=>因此必须将函数指定为:
F = !( (!(x1^y1) * (x2^y2)) ^ !(x2^y2) )
评论
0赞
Marco Antoniotti
1/23/2018
谢谢。非常有用的工具。
0赞
Marco Antoniotti
1/23/2018
也。我输入了错误的示例。我的意思是:(x1 <=> y1) /\ 不是 (x2 <=> y2) <=> (x2 <=> y2)
0赞
meolic
1/14/2020
两年后,如果有人仍然对 BDD 的图片感兴趣,这里有一些文档显示了所有带有 2 和 3 变量的布尔函数的图形: BDD 百科全书
1赞
Marco Antoniotti
5/28/2023
总是感兴趣。又过了三年:)
评论