BDD & ROBDD

1. 基本概念

终端节点:叶子

非终端节点

决策变量: index(v)=i,xi是v的决策变量

数学表达:

v 节点
V 节点的集合
e  树的边
E 边的集合
value(v) 叶子的值
index(v) 非终端节点的层序号,取值范围{1,..,n}
xi index(v)=i,xi是v的决策变量
else(v) 0-child
then(v) 1-child

 

下面是一个bdd的示例:

x2是第二层的决策变量。

 

3. ROBDD

一个布尔函数f可能有多高obdd,但是有一个ROBDD与之对应。

BDD到ROBDD的化简方法:
step1: 两个具有相同值的叶子合并为一个

step2: 相同决策变量,相同0-child和1-child的两个非叶节点合并

step3: 非页节点A的两个儿子相同,则舍弃A,同时将A的边转射到A的子节点。

下面为应用的化简示例:

 

4. 通过ORBDD推导表达式

寻找confactor,然后从confactor出发,由叶子向根推导,有几个连到叶子便有几项。

posted @ 2018-01-01 14:43  charlotte96  阅读(1284)  评论(0编辑  收藏  举报