NashZhou

广告算法工程师,目前致力于关键词广告的效果自动优化

数据结构BDD(binary decision diagram)

最近在学基于模型检测的规划时,看到了一种数据结构BDD(binary decision diagram)。

书上说BDD是一个有向无环图,用于表示有序变量集上的布尔函数。

我感觉它更像是一棵树。它的终结点要么是True要么是False(分别被标以1和0)。

BDD里的各个中间节点都对应着一个布尔变量,并联系着两个子BDD(分别称为左右分支)。下图显示了一些简单

的BDD。各个中间节点的左(或右)分支悲标以实线或虚线,用以表示相应的变量被赋值为True或False

BDD是一种规范且紧凑的布尔函数表达式,对于布尔操作有着很高的效率。关于BDD的详细资料可以参考论文

Graph-Based Algorithms for Boolean Function Manipulation,RANDAL E.BRYANT,MEMBER,IEEE

在BDD中变量间的序关系对节点数目有重要影响,下图显示了两个基于不同的变量间序关系的BDD,它们所表示的公式都是

左边的情况明显优于右边。

看到这我想到了在多关键字搜索或查找中,关键字顺序可能会影响搜索或查找性能。

每个关键字Key都对某些数据进行划分... 

posted on 2011-10-25 18:30  NashZhou  阅读(3704)  评论(0编辑  收藏  举报

导航