Chapter 5 Guillotine Cut

Preview:

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

Citation preview

Chapter 5 Guillotine Cut (1) Rectangular Partition

Ding-Zhu Du

Rectangular Partition

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

Canonical Partition

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

Without any hole

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

Without any hole

Dynamic programming can findoptimal partition in time O(n )

5

An NP-hard special case

Guillotine cut

Guillotine Partition

A sequence of guillotine cuts

Canonical one: every cut passes a hole.

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.

Analysis (idea)

• Consider a minimum rectangular partition.

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

• Estimate the total length of added segments.

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

Add horizontal segment

when vertical segment cannotBe added.

Charge 0.5 to all horizontalsegments facing the added line.

Conclusion

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

1-guillotine cut

1-guillotine cut

1-guillotine partitionA sequence of 1-guillotine cuts

12

Canonical one: every cut passes through a hole.

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.

Subproblems result from 1-guillotine cuts

Each edge of rectangle hasO(n ) choices.3

There are O(n ) subproblems.12

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.

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.

Area V of vertical 1-dark points

Area H of horizontal 1-dark points

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.

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.

Conclusion

• Minimum 1-guillotine partition is

2-approximation for minimum rectangular

partition.

Rectangular Partition

There is a PTAS for minimum rectangular partition.

m-guillotine cut

m-guillotine cutm

m

m-guillotine partitionA sequence of m-guillotine cuts

12

Canonical one: every cut passes through a hole.

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.

Subproblems result from m-guillotine cuts

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

There are O(n ) subproblems.

4(2m+1)

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.

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.

Area V of vertical m-dark points

Area H of horizontal m-dark points

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.

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

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.

Initially

Thanks, End

Recommended