浏览 2926 次
锁定老帖子 主题:BDD简介---2
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-02
OBDD(Ordered Binary Decision Digram)是所有BDD路径都是基于给定线性序列的BDD。如图2 就是 遵循x1<y1<x2<y2的线性序列。 R(O)BDD则满足:a 没有2个不同得节点u,v使之满足 var(u)=var(v),low(u)=low(v),high(u)=high(v) b 没有节点u拥有相同的后继,即low(u)¹higt(u) 如图3: [img]C:\Documents and Settings\gyk\桌面\bdd-picture\111.bmp[/img] R(O)BDD有些有趣的特性,它提供了一种紧凑,高效的布尔表示,对于所有函数 f: Bn à B总有一个R(O)BDD去表述,同时由于R(O)BDD总为真或假,对它的测试也是在有限时间范围内的(NP--完全),它的终端节点总是一个布尔值,非终端节点则是INF表达式,分别表示: t0 = 0 t1 = 1 tu = var(u)à thigh(u) , tlow(u) ,u是节点变量 另外如果是有序的BDD,我们把与每个节点u有关的函数fu映射到(b1,b2…bn)ÎBn 满足 tu[b1/x1,b2/x2,……bn/xn].我们可以得到以下引理 引理1:对于任何函数 f: Bn à B总有一个ROBDD去表述,u是变量有序的x1<x2…<xn 且 fu = f(x1,x2…xn). 对于变量的有序选择对ROBDD的构建有重要的影响,如我们如果按x1<x2<y1<y2的序列构造(x1<=>y1) ∧(x2<=>y2),可得 [img]C:\Documents and Settings\gyk\桌面\bdd-picture\333.bmp[/img] 有了ROBDD的概念后,就可以使BDD的算法更容易被表述,例还是对(x1<=>y1) ∧(x2<=>y2 按照x1<y1< x2<y2的有序表述(图2),同时对节点u标号,我们可以得到如下表: [img]C:\Documents and Settings\gyk\桌面\bdd-picture\1.jpg[/img] 由此,我们得到了一个更为简便的BDD表述. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |