Chapter 5 Guillotine Cut
-
Upload
montana-mcknight -
Category
Documents
-
view
50 -
download
1
description
Transcript of 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.
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