CUDD库是否支持关闭二进制决策图(BDD)的补边自动使用功能
CUDD库关闭BDD补边自动使用的方法
你要的关闭BDD补边自动使用的配置方法确实存在,具体操作如下:
- 核心控制API为
Cudd_EnableComplementedEdges,属于DD管理器的全局配置接口,用法如下:// 先初始化DD管理器 DdManager *manager = Cudd_Init(0, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0); // 第二个参数传0即关闭补边功能,传1为默认开启状态 Cudd_EnableComplementedEdges(manager, 0); - 配置时机限制:该配置必须在管理器创建任何BDD节点之前完成,若已生成BDD节点后再修改该配置,会破坏节点标识的一致性,引发内存访问错误或逻辑运算结果异常。
- 检索说明:该接口归类在管理器初始化相关的API集合中,未出现在BDD操作的常见功能章节,因此在入门文档中不容易检索到。
- 性能提示:关闭补边后BDD的正反逻辑会分别存储为独立节点,内存占用最高会提升一倍,基础运算效率也会有10%~30%的下降,非特殊需求不建议关闭该功能。
内容的提问来源于stack exchange,提问作者Daniel Miedema
相关产品推荐
相关产品推荐

