chapter 5 guillotine cut

of 38 /38
Chapter 5 Guillotine Cut (1) Rectangular Partition Ding-Zhu Du

Upload: montana-mcknight

Post on 31-Dec-2015

56 views

Category:

Documents


1 download

DESCRIPTION

Chapter 5 Guillotine Cut. Ding-Zhu Du. (1) Rectangular Partition. Rectangular Partition. Given a rectilinear area bounded by rectilinear polygon with rectilinear holes , partition it into rectangles with minimum total edge length. Canonical Partition. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 5 Guillotine Cut

Chapter 5 Guillotine Cut (1) Rectangular Partition

Ding-Zhu Du

Page 2: Chapter 5 Guillotine Cut

Rectangular Partition

• Given a rectilinear area bounded by rectilinear polygon with rectilinear holes, partition it into rectangles with minimum total edge length.

Page 3: Chapter 5 Guillotine Cut

Canonical Partition

There is a minimum partition such that every maximal segment passes through a concave vertex of the boundary.

Page 4: Chapter 5 Guillotine Cut

Without any hole

In any canonical partition,there exists a maximal segment cutting the area into two parts.

Page 5: Chapter 5 Guillotine Cut

Without any hole

Dynamic programming can findoptimal partition in time O(n )

5

Page 6: Chapter 5 Guillotine Cut

An NP-hard special case

Page 7: Chapter 5 Guillotine Cut

Guillotine cut

Page 8: Chapter 5 Guillotine Cut

Guillotine Partition

A sequence of guillotine cuts

Canonical one: every cut passes a hole.

Page 9: Chapter 5 Guillotine Cut

Minimum Guillotine Partition

Dynamic programmingIn time O(n ):5

Each cut has at most 2nchoices.

There are O(n ) subproblems.4

Minimum guillotine partition can be a polynomial-timeapproximation.

Page 10: Chapter 5 Guillotine Cut

Analysis (idea)

• Consider a minimum rectangular partition.

• Modify it into a guillotine partition by adding some segments.

• Estimate the total length of added segments.

Page 11: Chapter 5 Guillotine Cut

Add vertical segment

> 0.5 aa

There is a vertical segment > 0.5 length of vertical edge rectangle.

Charge added lengthto the vertical segment.

Charge to

Page 12: Chapter 5 Guillotine Cut

Add horizontal segment

when vertical segment cannotBe added.

Charge 0.5 to all horizontalsegments facing the added line.

Page 13: Chapter 5 Guillotine Cut

Conclusion

• Minimum guillotine partition is 2-approximation for minimum rectangular partition.

Page 14: Chapter 5 Guillotine Cut

1-guillotine cut

1-guillotine cut

Page 15: Chapter 5 Guillotine Cut

1-guillotine partitionA sequence of 1-guillotine cuts

12

Canonical one: every cut passes through a hole.

Page 16: Chapter 5 Guillotine Cut

Minimum 1-guillotine partition

Dynamic programming:

Each cut has O(n ) choices.3

There are O(n ) subproblems.12

Time = O(n )15

Minimum 1-guillotine partition is a polynomial-timeApproximation.

Page 17: Chapter 5 Guillotine Cut

Subproblems result from 1-guillotine cuts

Each edge of rectangle hasO(n ) choices.3

There are O(n ) subproblems.12

Page 18: Chapter 5 Guillotine Cut

Analysis (idea)

• Consider a minimum rectangular partition.

• Modify it into a 1-guillotine partition by adding some segments.

• Estimate the total length of added segments.

Page 19: Chapter 5 Guillotine Cut

1-dark pointA vertical 1-dark point is a point betweentwo horizontal cuts.

In a vertical line, all vertical 1-dark points form a 1-guillotinecut.

Similarly, define horizontal1-dark points.

Page 20: Chapter 5 Guillotine Cut

Area V of vertical 1-dark points

Page 21: Chapter 5 Guillotine Cut

Area H of horizontal 1-dark points

Page 22: Chapter 5 Guillotine Cut

V < HThere exists a vertical line such thatlength (vertical 1-dark points) < length (horizontal 1-dark points)

Do vertical 1-gullotine cut.

Charge 0.5 to verticalsegment directly facing to horizontal 1-dark pointson the cut line.

Similarly, if V > H.

Page 23: Chapter 5 Guillotine Cut

V < HThere exists a vertical line such thatlength (vertical 1-dark points) < length (horizontal 1-dark points)

Do vertical 1-gullotine cut.

Charge 0.5 to verticalsegment directly facing to horizontal 1-dark pointson the cut line.

Similarly, if V > H.

Page 24: Chapter 5 Guillotine Cut

Conclusion

• Minimum 1-guillotine partition is

2-approximation for minimum rectangular

partition.

Page 25: Chapter 5 Guillotine Cut

Rectangular Partition

There is a PTAS for minimum rectangular partition.

Page 26: Chapter 5 Guillotine Cut

m-guillotine cut

m-guillotine cutm

m

Page 27: Chapter 5 Guillotine Cut

m-guillotine partitionA sequence of m-guillotine cuts

12

Canonical one: every cut passes through a hole.

Page 28: Chapter 5 Guillotine Cut

Minimum m-guillotine partition

Dynamic programming:

Each cut has O(n ) choices.2m+1

There are O(n ) subproblems.4(2m+1)

Time = O(n )10m+5

Minimum m-guillotine partition is a polynomial-timeApproximation.

Page 29: Chapter 5 Guillotine Cut

Subproblems result from m-guillotine cuts

Each edge of rectangle hasO(n ) choices.2m+1

There are O(n ) subproblems.

4(2m+1)

Page 30: Chapter 5 Guillotine Cut

Analysis (idea)

• Consider a minimum rectangular partition.

• Modify it into a m-guillotine partition by adding some segments.

• Estimate the total length of added segments.

Page 31: Chapter 5 Guillotine Cut

m-dark pointA vertical m-dark point is a point betweentwo groups of m horizontal cuts.

In a vertical line, all vertical m-dark points form a m-guillotinecut.

Similarly, define horizontalm-dark points.

Page 32: Chapter 5 Guillotine Cut

Area V of vertical m-dark points

Page 33: Chapter 5 Guillotine Cut

Area H of horizontal m-dark points

Page 34: Chapter 5 Guillotine Cut

V < HThere exists a vertical line such thatlength (vertical m-dark points) < length (horizontal m-dark points)

Do vertical m-gullotine cut.

Charge 0.5/m to m verticalsegment directly facing to horizontal m-dark pointson the cut line.

Similarly, if V > H.

Page 35: Chapter 5 Guillotine Cut

Conclusion

• Minimum m-guillotine partition is

(1 + 1/m)-approximation for minimum rectangular partition.

• Choose m = 1/ε. A PTAS is obtained.

• Time = n O(1/ε)

Page 36: Chapter 5 Guillotine Cut

Rectilinear Steiner Tree

• Given a set of points in the rectilinear plane, find a minimum length tree interconnecting them.

• Those given points are called terminals.

Page 37: Chapter 5 Guillotine Cut

Initially

Page 38: Chapter 5 Guillotine Cut

Thanks, End