Finding small OBDDs for incompletely specifed truth tables is hard Jesper Torp Kristensen Peter Bro Miltersen University of Aarhus, Denmark.
COCOON'06, Taipei, August 18, 2006.
1
Outline
Main result
Motivation and previous work
Some ingredients of the proof
An open problem
COCOON'06, Taipei, Augus
2
Main result
The optimization problem Minimum Consistent OBDD: Input: The truth table of a partial Boolean function. Output: A minimum sized OBDD consistent with the truth table.
is NP-hard.
COCOON'06, Taipei, Augus
3
Representing Boolean functions by OBDDs x1 © x2 © x3
x1 0
1
x2
x2 1
0
x3
1
1
1
0
x3
0
0
0
COCOON'06, Taipei, Augus
1
4
Representing Boolean functions by OBDDs X1
X2
X3
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
x1 0
1
x2
x2 1
0
x3
1
1
1
0
x3
0
0
0
COCOON'06, Taipei, Augus
1
5
Representing Boolean strings by OBDDs 01101001
x1 0
1
x2
x2 1
0
x3
1
1
1
0
x3
0
0
0
COCOON'06, Taipei, Augus
1
6
Representing Boolean strings by OBDDs 01101001
x1 0
1
x2 1
0
x3
“generic”
101000100100111
x2
1
1
1
0
x3
0
0
0
COCOON'06, Taipei, Augus
1
7
OBDDs as a compression scheme ď Ž
Kiefer, Flajolet, Yang, 2000: OBDD representation is a universal compression scheme.
ď Ž
Meaning: For any constant k, and sufficiently long input, the compression rate asymptotically matches the kth order empirical block entropy of the input. COCOON'06, Taipei, Augus
8
OBDDs as a compression scheme
OBBD representation is a universal locally decodable source code:
It achieves the block entropy rate. Individual bits of the compressed file can be reconstructed in polylogarithmic time.
Bryant (1985): Optimal-sized OBDD representation is efficiently computable.
COCOON'06, Taipei, Augus
9
Chess endgame tables
Used in chess playing software Example:
Tradeoff between size of table and access time. State-of-the-art representation: Nalimov
KBBK endgame (King-Bishop-Bishop-King) Straightforward representation as array: 32 MB
KBBK representation ¼ 450 kB
MSc thesis project of J. T. Kristensen: Approach the state-of-the-art using OBDDs. COCOON'06, Taipei, Augus
10
Endgame tables are partially defined functions efficient
?
0
127481
?
?
Typically 5%-50% of the table is ? COCOON'06, Taipei, Augus
11
Minimum consistent OBDD problem
Given a partially defined table, find the minimum sized OBDD consistent with the table.
No polynomial time algorithm known…. In the MSc thesis of Kristensen, various heuristics are suggested for getting good solutions. Is the use of heuristics necessary? Topic of this talk…. Interesting challenge: Further investigate and improve heuristics for this problem.
COCOON'06, Taipei, Augus
12
NP-hardness of finding minimum OBDDs for partially defined functions
Sauerhoff and Wegener, 1996. Hirata, Shimozono, Shinohara, 1996. Simon, 1990. Pitt and Warmuth, 1993.
COCOON'06, Taipei, Augus
13
Input model for all previous result
The partially defined functions are given in compact form, such as an OBDD or as a list of positive and negative instances.
Also, the hardness proofs use inputs with compact (polylogarithmic sized) representation.
We want a hardness result for the case where the partially defined function is given as an uncompressed table.
Note that such a hardness result immediately implies the previous ones.
COCOON'06, Taipei, Augus
14
Main result
The optimization problem Minimum Consistent OBDD: Input: The truth table of a partial Boolean function. Output: A minimum sized OBDD consistent with the truth table.
is NP-hard.
COCOON'06, Taipei, Augus
15
NP-hardness proof
Graph colouring · Minimum String Cover · Minimum Consistent OBDD
COCOON'06, Taipei, Augus
16
Minimum String Cover problem ď Ž
Given a set of S partially defined Boolean strings (strings over 0,1,?), a cover is a set of fully defined strings so that every string in S is consistent with at least one of them.
ď Ž
Example: 00,11 is a cover for 0?, ?0, 1?
ď Ž
MSC: Given a set of partially defined strings, find their minimum sized cover. COCOON'06, Taipei, Augus
17
Graph Coluring reduces to Minimum Set Cover
Given a graph G=(V,E), we make n strings: s1, s2, …, sn, one for each vertex v in V = {1,…,n}.
sv has as its j’th letter:
1 if v = j 0 if v is different from j and (v,j) is in E ? otherwise.
G has a coloring with k colors if and only if the strings have a cover of size k. COCOON'06, Taipei, Augus
18
MSC reduces to “Minimum middle-layer consistent OBDD”.
Given s1, s2, …, sn define f(i,j) = “what is the j’th bit of s_i ?”
COCOON'06, Taipei, Augus
19
MSC reduces to Minimum Consistent OBDD
f(i,j,t,z) = si(z) if t=0
f(i,j,t,z) = bj(z) if t=1
COCOON'06, Taipei, Augus
20
Hardness of approximation ď Ž
Minimum consistent OBDD is hard to approximate within a factor of n0.249.
ď Ž
More precise statement: Given a table of size n that is promised to be compressible to n0.5001, it is hard to compress it to size n0.7499.
ď Ž
Open Problem: Given a table of size n that is promised to be compressible to size n/10, is it possible to compress it efficiently to size n/2? COCOON'06, Taipei, Augus
21