Upload
olivier-coudert
View
156
Download
0
Embed Size (px)
Citation preview
On Solving Covering Problems
33rd DAC, June 5, 1996
Olivier CoudertSynopsys, Inc.
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Binate Covering Problem
Input:
Output:
A Boolean function f(y1, ..., yn)
A cost function Cost on the assignment of the yk’s
A minimum cost n-tuple satisfying f
Binate Covering Problem
f = y2y3 + (y1 y4)⊕
Cost(yk = 0) = 0
Cost(yk = 1) = 1
y1 + y3 + y4
y2 + y3 + y4
y2 + y3 + y4
y1 + y2 + y4
y3y1 y2 y4
1
1
0
1
0
0
1
1
1
0
1
0
Minimum solutions:y1 = 1, y2 = y3 = y4 = 0
y1 = y2 = y3 = 0, y4 = 1
Binate Covering Problem
2-level Boolean function and relation minimization
State minimization
DAG covering
Exact encoding
3-level NAND minimization
....
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Branch-and-bound Resolutiony1 y2 y3 y4
01
1
011
0
1
x1x2x3
y1
01
y3 y4
10x1
x2
y2=0
y3
1x2
y1=0
y4
0x1
y1=1
y1
x31
y3 y4
11 1
x2
y2=1
y1
x31
y3
11
x2
y4=0
y1
1
y3
1x2
y4=1
Branch-and-bound Resolution
Pruning technique
Lower bound computation
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Independent Set Based Lower Bound
x4x1
x5x2
x3
y1 y2 y3 y4
x1x2x3x4x5
1 11
0
0
1
10
01
1
1
01
Cost(yk = 0) = 2
Cost(yk = 1) = 3
Optimum Independent Set
x1x2x3x4x5x6
11
1 1 1 1
11
11
11
1 1 1
11
1
11
1 1
11
11
11
1 1
x1
x2
x3
x4
x5
x6
Solution is n/2, while the lower bound is only 1
Optimum Ind. Set Based Lower Bound
The optimum independent set based lower bound is NP-complete
… and can be arbitrary far fromthe minimum covering solution
Greedy Independent Set
Select the minimum degree vertex
Greedy Independent Set
2n+1 vertices
1
n n
Independent set
(n)
(n+1) (2n-1)
Greedy: 2Maximum: n
Greedy Ind. Set Based Lower Bound
The greedy independent set based lower boundcan be arbitrary far from the optimum independent set based lower bound
..., which itself can be arbitrary far fromthe minimum covering solution
1
x7 1 1
11
111
11
11
111
1
1
x1x2x3x4x5x6
11
1
1
1
1111
x7 1 1
11
111
11
11
111
1
1
x1x2x3x4x5x6
11
1
1
1
111
Greedy
Log-approximation of Covering
Optimal≤ log(|X|) ∗ ≥ OptimalGreedy
log(|X|)
Which Lower Bound is Better?
Greedy Independent set based
Greedy solution based
arbitrary far from the optimal solution
within log(|X|) of the optimal solution
can take advantage of limit lower bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
further prune
Limit Lower Bound
Takes advantage of an independent set based lower bound to the search spacefurther prune
Can reduce the search spaceby 1000
Which Lower Bound is Better?
Greedy Independent set based
Greedy solution based
arbitrary far from the optimal solution
within log(|X|) of the optimal solution
can take advantage of limit lower bound
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
1
10
100
1000
10000
100000
1000000
Standart
Scherzo
CPU improvement from x10 to x1000