- Source: Guillotine partition
Guillotine partition is the process of partitioning a rectilinear polygon, possibly containing some holes, into rectangles, using only guillotine-cuts. A guillotine-cut (also called an edge-to-edge cut) is a straight bisecting line going from one edge of an existing polygon to the opposite edge, similarly to a paper guillotine.
Guillotine partition is particularly common in designing floorplans in microelectronics. An alternative term for a guillotine-partition in this context is a slicing partition or a slicing floorplan. Guillotine partitions are also the underlying structure of binary space partitions. There are various optimization problems related to guillotine partition, such as: minimizing the number of rectangles or the total length of cuts. These are variants of polygon partitioning problems, where the cuts are constrained to be guillotine cuts.
A related but different problem is guillotine cutting. In that problem, the original sheet is a plain rectangle without holes. The challenge comes from the fact that the dimensions of the small rectangles are fixed in advance. The optimization goals are usually to maximize the area of the produced rectangles or their value, or minimize the waste or the number of required sheets.
Computing a guillotine partition with a smallest edge-length
In the minimum edge-length rectangular-partition problem, the goal is to partition the original rectilinear polygon into rectangles, such that the total edge length is a minimum.: 166–167
This problem can be solved in time
O
(
n
5
)
{\displaystyle O(n^{5})}
even if the raw polygon has holes. The algorithm uses dynamic programming based on the following observation: there exists a minimum-length guillotine rectangular partition in which every maximal line segment contains a vertex of the boundary. Therefore, in each iteration, there are
O
(
n
)
{\displaystyle O(n)}
possible choices for the next guillotine cut, and there are altogether
O
(
n
4
)
{\displaystyle O(n^{4})}
subproblems.
In the special case in which all holes are degenerate (single points), the minimum-length guillotine rectangular partition is at most 2 times the minimum-length rectangular partition.: 167–170 By a more careful analysis, it can be proved that the approximation factor is in fact at most 1.75. It is not known if the 1.75 is tight, but there is an instance in which the approximation factor is 1.5. Therefore, the guillotine partition provides a constant-factor approximation to the general problem, which is NP-hard.
These results can be extended to a d-dimensional box: a guillotine-partition with minimum edge-length can be found in time
O
(
d
n
2
d
+
1
)
{\displaystyle O(dn^{2d+1})}
, and the total (d-1)-volume in the optimal guillotine-partition is at most
2
d
−
4
+
4
/
d
{\displaystyle 2d-4+4/d}
times that of an optimal d-box partition.
Arora and Mitchell used the guillotine-partitioning technique to develop polynomial-time approximation schemes for various geometric optimization problems.
Number of guillotine partitions
Besides the computational problems, guillotine partitions were also studied from a combinatorial perspective. Suppose a given rectangle should be partitioned into smaller rectangles using guillotine cuts only. Obviously, there are infinitely many ways to do this, since even a single cut can take infinitely many values. However, the number of structurally-different guillotine partitions is bounded.
In two dimensions, there is an upper bound in
O
(
n
!
2
5
n
−
3
n
3
/
2
)
{\displaystyle O\left({\frac {n!2^{5n-3}}{n^{3/2}}}\right)}
attributed to Knuth. the exact number is the Schröder number.
In d dimensions, Ackerman, Barequet, Pinter and Romik give an exact summation formula, and prove that it is in
Θ
(
(
2
d
−
1
+
2
d
(
d
−
1
)
)
n
n
3
/
2
)
{\displaystyle \Theta \left({\frac {(2d-1+2{\sqrt {d(d-1)}})^{n}}{n^{3/2}}}\right)}
. When d=2 this bound becomes
Θ
(
(
3
+
2
2
)
n
n
3
/
2
)
{\displaystyle \Theta \left({\frac {(3+2{\sqrt {2}})^{n}}{n^{3/2}}}\right)}
.
Asinowski, Barequet, Mansour and Pinter also study the number of cut-equivalence classes of guillotine partitions.
Coloring guillotine partitions
A polychromatic coloring of a planar graph is a coloring of its vertices such that, in each face of the graph, each color appears at least once. Several researchers have tried to find the largest k such that a polychromatic k-coloring always exists. An important special case is when the graph represents a partition of a rectangle into rectangles.
Dinitz, Katz and Krakovski proved that there always exists a polychromatic 3-coloring.
Aigner-Horev, Katz, Krakovski and Loffler proved that, in the special sub-case in which the graph represents a guillotine partition, a strong polychromatic 4-coloring always exists.
Keszegh extended this result to d-dimensional guillotine partitions, and provided an efficient coloring algorithm.
Dimitrov, Aigner-Horev and Krakovski finally proved that there always exists a strong polychromatic 4-coloring.
See also
Binary space partitioning
References
Kata Kunci Pencarian:
- Guillotine partition
- Guillotine cutting
- Polygon partition
- Guillotine (disambiguation)
- Binary space partitioning
- Rectangle packing
- Schröder number
- List of Science Ninja Team Gatchaman episodes
- Conciergerie
- Ludwig von Cobenzl