Chapter 5 Guillotine Cut
-
Upload
montana-mcknight -
Category
Documents
-
view
66 -
download
1
description
Transcript of Chapter 5 Guillotine Cut
![Page 2: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/4.jpg)
Without any hole
In any canonical partition,there exists a maximal segment cutting the area into two parts.
![Page 5: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/5.jpg)
Without any hole
Dynamic programming can findoptimal partition in time O(n )
5
![Page 6: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/6.jpg)
An NP-hard special case
![Page 7: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/7.jpg)
Guillotine cut
![Page 8: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/8.jpg)
Guillotine Partition
A sequence of guillotine cuts
Canonical one: every cut passes a hole.
![Page 9: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/12.jpg)
Add horizontal segment
when vertical segment cannotBe added.
Charge 0.5 to all horizontalsegments facing the added line.
![Page 13: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/13.jpg)
Conclusion
• Minimum guillotine partition is 2-approximation for minimum rectangular partition.
![Page 14: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/14.jpg)
1-guillotine cut
1-guillotine cut
![Page 15: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/15.jpg)
1-guillotine partitionA sequence of 1-guillotine cuts
12
Canonical one: every cut passes through a hole.
![Page 16: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/20.jpg)
Area V of vertical 1-dark points
![Page 21: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/21.jpg)
Area H of horizontal 1-dark points
![Page 22: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/24.jpg)
Conclusion
• Minimum 1-guillotine partition is
2-approximation for minimum rectangular
partition.
![Page 25: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/25.jpg)
Rectangular Partition
There is a PTAS for minimum rectangular partition.
![Page 26: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/26.jpg)
m-guillotine cut
m-guillotine cutm
m
![Page 27: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/27.jpg)
m-guillotine partitionA sequence of m-guillotine cuts
12
Canonical one: every cut passes through a hole.
![Page 28: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/32.jpg)
Area V of vertical m-dark points
![Page 33: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/33.jpg)
Area H of horizontal m-dark points
![Page 34: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/37.jpg)
Initially
![Page 38: Chapter 5 Guillotine Cut](https://reader036.fdocuments.net/reader036/viewer/2022081501/56812ff1550346895d956830/html5/thumbnails/38.jpg)
Thanks, End