二元决策图(Binary decision diagram)

修一门写作课题目是Binary decision diagram。在网上查了些资料感觉说的都不是很清楚,看了半天还是很困惑,这到底是个啥?到底咋使?于是决定写下这篇随笔,总结一下看过的各种资料加上自己的理解,希望对后来之人有所帮助~

Binary decision diagram(BDD): 中文名叫 二元决策图

在各类百科里都只有简单一句话:是被用来表达一个布尔函数的一种数据结构(内心os:x了个x,搞事情啊)

好吧,简单来说 二元决策图是一种用来表达布尔函数有向无环图(Directed acyclic graph)。

构造BDD有以下两种方法:

1)转换表达式(convert an expression)

2)在已存在得BDDs中使用运算符(Use operators on existing BDDs)

 

既然是用来表达布尔函数,那么布尔函数是什么呢?

定义:描述如何基于对布尔输入的某种逻辑计算确定布尔值输出。通常形式为:F(b1,b2,...,bn)。

(带有 n 个来自两元素布尔代数 {0,1} 的布尔变量 bi,F 的取值也在 {0,1} 中)

所以,首先布尔函数是一个函数,那么是怎么样的一个函数呢?这个函数的奇效是,输入是一组布尔值,对输入进行某种逻辑运算,然后输出一个布尔值。

 

 

references:

【1】http://pyeda.readthedocs.io/en/latest/bdd.html

【2】https://en.wikipedia.org/wiki/Binary_decision_diagram

posted @ 2018-02-27 23:22  Zz_moi  阅读(2487)  评论(0编辑  收藏  举报