Heuristics for estimating the efficiency of Reduced Ordered Binary Decision Diagrams?
Reduced Ordered Binary Decision Diagrams (ROBDD) are an efficient data structure for boolean functions of multiple variables f(x1,x2,...,xn)
. I would like to get an intuition for how efficient they are.
For instance, for data compression, we know that data with low entropy (some symbols appearing more often than other, many repetitions) can be compressed very well while completely random data cannot be compressed.
Is there an analogous intuition for estimating how efficiently ROBDDs can represent a given开发者_JAVA百科 boolean formula? Any literature on this subject (preferably online)?
There is paper in the Wikipedia article Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams which gives lower and upper bounds for certain function classes (symmetric, representing binary arithmetic). I think that in the average case 2n*log n >= 2^k
holds, where n
is the number of nodes in the diagram and k
is the number of variables of the function. The upper bound is n <= 2^(k+1) - 1
achieved with the full binary tree.
精彩评论