390 likes | 568 Views
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.
E N D
Chapter 5 Guillotine Cut Ding-Zhu Du (1) Rectangular Partition
Rectangular Partition • Given a rectilinear area bounded by rectilinearpolygon 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 cuttingthe area into two parts.
Without any hole Dynamic programming can find optimal partition in time O(n ) 5
Guillotine Partition A sequence of guillotine cuts Canonical one: every cut passes a hole.
Minimum Guillotine Partition Dynamic programming In time O(n ): 5 Each cut has at most 2n choices. 4 There are O(n ) subproblems. Minimum guillotine partition can be a polynomial-time approximation.
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 There is a vertical segment > 0.5 length of vertical edge rectangle. Charge to > 0.5 a Charge added length to the vertical segment. a
Add horizontal segment when vertical segment cannot Be added. Charge 0.5 to all horizontal segments facing the added line.
Conclusion • Minimum guillotine partition is 2-approximation for minimum rectangular partition.
1-guillotine cut 1-guillotine cut
1-guillotine partition A sequence of 1-guillotine cuts Canonical one: every cut passes through a hole. 2 1
Minimum 1-guillotine partition Dynamic programming: 3 Each cut has O(n ) choices. 12 There are O(n ) subproblems. 15 Time = O(n ) Minimum 1-guillotine partition is a polynomial-time Approximation.
Subproblems result from 1-guillotine cuts Each edge of rectangle has O(n ) choices. 3 12 There are O(n ) subproblems.
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 point A vertical 1-dark point is a point between two horizontal cuts. In a vertical line, all vertical 1-dark points form a 1-guillotine cut. Similarly, define horizontal 1-dark points.
V<H There exists a vertical line such that length (vertical 1-dark points) < length (horizontal 1-dark points) Do vertical 1-gullotine cut. Charge 0.5 to vertical segment directly facing to horizontal 1-dark points on the cut line. Similarly, if V > H.
V<H There exists a vertical line such that length (vertical 1-dark points) < length (horizontal 1-dark points) Do vertical 1-gullotine cut. Charge 0.5 to vertical segment directly facing to horizontal 1-dark points on 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 m-guillotine cut m
m-guillotine partition A sequence of m-guillotine cuts Canonical one: every cut passes through a hole. 2 1
Minimum m-guillotine partition Dynamic programming: 2m+1 Each cut has O(n ) choices. 4(2m+1) There are O(n ) subproblems. 10m+5 Time = O(n ) Minimum m-guillotine partition is a polynomial-time Approximation.
Subproblems result from m-guillotine cuts Each edge of rectangle has O(n ) choices. 2m+1 4(2m+1) There are O(n ) subproblems.
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 point A vertical m-dark point is a point between two groups of m horizontal cuts. In a vertical line, all vertical m-dark points form a m-guillotine cut. Similarly, define horizontal m-dark points.
V<H There exists a vertical line such that length (vertical m-dark points) < length (horizontal m-dark points) Do vertical m-gullotine cut. Charge 0.5/m to m vertical segment directly facing to horizontal m-dark points on 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.