33
On Solving Covering Problems 33rd DAC, June 5, 1996 Olivier Coudert Synopsys, Inc.

On Solving Covering Problems

Embed Size (px)

Citation preview

Page 1: On Solving Covering Problems

On Solving Covering Problems

33rd DAC, June 5, 1996

Olivier CoudertSynopsys, Inc.

Page 2: On Solving Covering Problems

Summary

Introduction

Branch-and-bound

Lower Bound Computation

Experiments & Conclusion

Page 3: On Solving Covering Problems

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

Page 4: On Solving Covering Problems

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

Page 5: On Solving Covering Problems

Binate Covering Problem

2-level Boolean function and relation minimization

State minimization

DAG covering

Exact encoding

3-level NAND minimization

....

Page 6: On Solving Covering Problems

Summary

Introduction

Branch-and-bound

Lower Bound Computation

Experiments & Conclusion

Page 7: On Solving Covering Problems

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

Page 8: On Solving Covering Problems

Branch-and-bound Resolution

Pruning technique

Lower bound computation

Page 9: On Solving Covering Problems

Summary

Introduction

Branch-and-bound

Lower Bound Computation

Experiments & Conclusion

Page 10: On Solving Covering Problems

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

Page 11: On Solving Covering Problems

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

Page 12: On Solving Covering Problems

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

Page 13: On Solving Covering Problems

Greedy Independent Set

Select the minimum degree vertex

Page 14: On Solving Covering Problems

Greedy Independent Set

2n+1 vertices

1

n n

Independent set

(n)

(n+1) (2n-1)

Greedy: 2Maximum: n

Page 15: On Solving Covering Problems

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

Page 16: On Solving Covering Problems

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|)

Page 17: On Solving Covering Problems

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

Page 18: On Solving Covering Problems

Limit Lower Bound

Page 19: On Solving Covering Problems

Limit Lower Bound

Page 20: On Solving Covering Problems

Limit Lower Bound

Page 21: On Solving Covering Problems

Limit Lower Bound

Page 22: On Solving Covering Problems

Limit Lower Bound

Page 23: On Solving Covering Problems

Limit Lower Bound

Page 24: On Solving Covering Problems

Limit Lower Bound

Page 25: On Solving Covering Problems

Limit Lower Bound

Page 26: On Solving Covering Problems

Limit Lower Bound

Page 27: On Solving Covering Problems

Limit Lower Bound

Page 28: On Solving Covering Problems

Limit Lower Bound

Page 29: On Solving Covering Problems

Limit Lower Bound

Page 30: On Solving Covering Problems

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

Page 31: On Solving Covering Problems

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

Page 32: On Solving Covering Problems

Summary

Introduction

Branch-and-bound

Lower Bound Computation

Experiments & Conclusion

Page 33: On Solving Covering Problems

1

10

100

1000

10000

100000

1000000

Standart

Scherzo

CPU improvement from x10 to x1000