Abstract 1 Introduction 2 A PTAS for Small-Cover in 2 dimensions 3 Hardness for Small-Cover in 3 dimensions References

Covering and Partitioning Complex Objects with Small Pieces

Anders Aamand ORCID Department of Computer Science, University of Copenhagen, Denmark    Mikkel Abrahamsen ORCID Department of Computer Science, University of Copenhagen, Denmark    Reilly Browne ORCID Department of Computer Science, Dartmouth College, Hanover, NH, USA    Mayank Goswami ORCID Department of Computer Science, Queens College CUNY, New York, NY, USA    Prahlad Narasimhan Kasthurirangan ORCID Department of Applied Mathematics and Statistics, Stony Brook University, NY, USA    Linda Kleist ORCID Department of Informatics, Universtity Hamburg, Germany    Joseph S. B. Mitchell ORCID Department of Applied Mathematics and Statistics, Stony Brook University, NY, USA    Valentin Polishchuk ORCID Communications and Transport Systems, Linköping Univeristy, Sweden    Jack Stade ORCID Department of Computer Science, University of Copenhagen, Denmark
Abstract

We study the problems of covering or partitioning a polygon P (possibly with holes) using a minimum number of small pieces, where a small piece is a connected sub-polygon contained in an axis-aligned unit square. For covering, we seek to write P as a union of small pieces, and in partitioning, we furthermore require the pieces to be pairwise interior-disjoint. We show that these problems are in fact equivalent: Optimum covers and partitions have the same number of pieces.

For covering, a natural local search algorithm repeatedly attempts to replace k pieces from a candidate cover with k1 pieces. In two dimensions and for sufficiently large k, we show that when no such swap is possible, the cover is a 1+𝒪(1/k) approximation, hence obtaining the first PTAS for the problem. Prior to our work, the only known algorithm was a 13-approximation that only works for polygons without holes [Abrahamsen and Rasmussen, SODA 2025]. In contrast, in the three dimensional version of the problem, for a polyhedron P of complexity n, we show that it is NP-hard to approximate an optimal cover or partition to within a factor that is logarithmic in n, even if P is simple, i.e., has genus 0 and no holes.

Keywords and phrases:
Covering, partitioning, polygon, small piece, PTAS
Funding:
Anders Aamand: This work was supported by the VILLUM Foundation grant 54451.
Mikkel Abrahamsen: Supported by Independent Research Fund Denmark, grant 1054-00032B, and by the Carlsberg Foundation, grant CF24-1929.
Mayank Goswami: Supported by National Science Foundation CCF-2503086.
Prahlad Narasimhan Kasthurirangan: Some of this work was carried out during a research stay at TU Braunschweig. Partially supported by the US Office of Naval Research under grant no. N00014-26-1-2088.
Jack Stade: Supported by Independent Research Fund Denmark, grant 1054-00032B, and by the Carlsberg Foundation, grant CF24-1929.
Copyright and License:
[Uncaptioned image] © Anders Aamand, Mikkel Abrahamsen, Reilly Browne, Mayank Goswami,
Prahlad Narasimhan Kasthurirangan, Linda Kleist, Joseph S. B. Mitchell,
Valentin Polishchuk, and Jack Stade; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Computational geometry
; Theory of computation Packing and covering problems ; Theory of computation Approximation algorithms analysis
Related Version:
Full Version: http://arxiv.org/abs/2603.23216 [1]
Editors:
Hee-Kap Ahn, Michael Hoffmann, and Amir Nayyeri

1 Introduction

Partitioning large objects into pieces of bounded size is a fundamental problem. One practical motivation comes from 3D printing and related manufacturing technologies: we can only produce objects that fit within the printing volume, which can be assumed to be a unit cube. If the goal is to produce a large part P, we must partition P into smaller pieces, Q1,,Qk, each of which fits within the unit cube. The small pieces can then be assembled to form the desired part P. A natural objective is to minimize the number, k, of pieces. Heuristics have been proposed to solve this problem [31, 18, 26, 30, 38, 36].

Similar partitioning problems arise in everyday settings. For instance, one might disassemble an entire broccoli head, the peeled stem included, into pieces suitable for consumption with minimal indignity. Yet even in this humble task, one strives to avoid the disarray of producing an excessive multitude of fragments. Recently, Abrahamsen and Rasmussen [5] initiated a theoretical study of partitioning polygons into few small pieces. They provided constant-factor approximation algorithms when the domain P is a simple polygon (no holes), for various definitions of what it means for a piece Qi to be “small,” each with its own algorithm and approximation factor. A particularly simple version demands that each piece Qi be connected and contained in an axis-aligned unit square. Abrahamsen and Stade [6] showed that this version is NP-hard even when P is a simple polygon.

In this paper, we consider the problems of partitioning and covering objects with small pieces in two and three dimensions. We consider the setting where a small piece is defined as a connected subset of P contained in an axis-aligned unit square (in two dimensions) or unit cube (in three dimensions). We obtain the following results.

  • We present a PTAS for covering a polygon (possibly with holes) into a minimum number of small pieces (Section 2).

  • For polygons (possibly with holes), we show that the small-cover and small-partition problem have the same optimal value (Section 2.4).

  • We prove that in 3D, covering or partitioning a polyhedron P of description complexity n with small pieces is NP-hard to approximate within a logarithmic factor of n, even when P is simply-connected and contained in a box of size 1×2×3 (Section 3).

Our PTAS works by local search: we start with a candidate small cover and then repeatedly try to find a set of k pieces that can be swapped for a set of k1 pieces. We show that this gives a 1+𝒪(1/k) approximation algorithm, when k is sufficiently large. A result by Roy, Govindarajan, Raman, and Ray [34] shows that local search is a PTAS for discrete Set-Cover when the candidate pieces satisfy a certain non-piercing property. Two simply-connected pieces P,Q are non-piercing if PQ and QP are connected. We show that a set of maximal small pieces satisfies a slightly weaker non-piercing property, but we are able to modify the pieces slightly so that the result from [34] can be used. We are then able to analyze our “continuous” local search algorithm using this result–unlike the discrete case studied in [34], note that our search space is infinite.

Figure 1: A comb-shaped polygon might require an arbitrarily large number of pieces for a small cover, even if it fits in a box of size 1×(1+ε).

For many optimization algorithms, local search can be used to obtain a PTAS when a certain related graph has sublinear separators (see [8] for details). We highlight the fact that this is non-obvious for the small-cover problem. Local search gives a PTAS for packing axis-aligned unit squares into a polyhedron in any constant dimension, since a density argument can be used to obtain the required separation bounds (see for example [24]). In contrast, for small covers, we insist that the pieces be connected, which means that there are “comb-shaped” polygons requiring many pieces, even though the polygon itself almost fits in a unit square; see Figure 1. In 3D, we show that it is NP-hard to approximate optimal small cover or partition to within a factor of (1α)ln(n), for any α>0, where n is the number of bits needed to describe the input polyhedron. We also observe (Theorem 10) that for small pieces, covering and partitioning are equivalent, in the sense that the smallest number of pieces in a cover and in a partition is the same. This is in stark contrast with other geometric settings where not only the optima differ, but also covering seems considerably harder than partitioning. For instance, it is -complete to cover a simple polygon with the minimum number of star polygons [3] (that is, the art-gallery problem) or convex polygons [2], while the corresponding partitioning problems are solvable in polynomial time [4, 16]. Details of all proofs can be found in the full version [1].

1.1 Related Work

The small cover and partitioning problems belong to the class of decomposition problems, which form a large, established subfield in computational geometry. In all of these problems, we want to decompose a polygon P into connected polygonal pieces that must respect certain restrictions. Here, the union of the pieces must be P, and we usually seek a decomposition into as few pieces as possible, in which case the decomposition is called optimal. A decomposition that allows the pieces to overlap is called a cover; if thee pieces are pairwise interior-disjoint, it is called a partition. Depending on the assumptions about the input polygon P and the requirements on the pieces, this leads to a wealth of interesting problems. There is a vast literature about such decomposition problems, as documented in several books and survey papers that give an overview of the state-of-the-art at their respective times of publication [35, 17, 15, 28, 29, 32, 33].

Earlier works studied variants of the small partitioning problem without Steiner points [20, 13], i.e., each vertex of a piece Qi is a vertex of P. As an undesirable consequence such a partition often does not exist, e.g., if an edge of the polygon P is too long to fit in a piece.

Motivated by indoor localization using lasers, Arkin, Das, Gao, Goswami, Mitchell, Polishchuk, and Tóth [7] studied partitioning a polygon with chords (maximal segments within P), which may model laser beams that serve as “tripwires”; the goal is to cut the polygon into bounded pieces using the fewest lasers. Motivated by communication graphs for mobile robots, Fekete, Kamphans, Kröller, Mitchell, and Schmidt [23] (see also the video [9]) showed how to compute a Steiner triangulation of a simple polygon, whose edge lengths are bounded; they presented a 3-approximation for minimizing the number of Steiner points. Worman [37] showed NP-hardness of partitioning a polygon with holes into a minimum number of pieces contained in axis-aligned unit squares, without Steiner points. More recently, Buchin and Selbach [13] proved NP-hardness of partitioning and covering with fat pieces. Combinatorial aspects of partitioning into small[er] pieces are classical problems in mathematics. For instance, Borsuk’s problem is to partition a unit-diameter convex body (in any dimension) into fewest pieces of diameter strictly less than 1; see [12, 25, 27] for the rich history of the problem. Conway’s fried potato problem [10, 11, 14, 19] deals with minimizing the in-radius of the pieces obtained by a specified number of hyperplane cuts of a given convex polyhedron (in d dimensions); in our terminology, Conway’s problem is a dual small partitioning problem.

1.2 Problem Formulation

We say that a polygon Q (possibly with holes) is small if Q is contained in an axis-aligned unit square. We often call small polygons small pieces. A set 𝒬 of small pieces is a small cover of a polygon P if 𝒬=P; note in particular that QP for each small piece Q𝒬. We say that a piece Q𝒬 is complete if Q is the closure of a connected component of the intersection PS, where P is the interior of P and S is an axis-aligned unit square. A simpler definition would be that Q is complete if it is a connected component of PS, but that could be a degenerate polygon, which we by definition don’t allow. A small cover 𝒬 of P is a small partition of P if furthermore the pieces in 𝒬 are pairwise interior-disjoint. In this paper, we study the problems of finding small covers and small partitions consisting of a minimum number of pieces for a given polygon P, which may have holes. We denote these problems Small-Cover and Small-Partition, respectively.

2 A PTAS for Small-Cover in 2 dimensions

In this section, we present an (1+ε)-approximation algorithm for Small-Cover when the input is a polygon P, possibly with holes. In Section 2.1, we establish tools that allow us to use local search. We then show in Section 2.2 how to use these techniques to handle polygons which intersect at most D squares in the integer grid. The running time of our algorithm are polynomial in D. Finally, in Section 2.3, we extend our ideas to handle polygons that might have exponentially large diameter. We note that, for the purposes of constructing approximate solutions for Small-Cover, we will only consider complete small pieces, since any small piece that fits in a square S must cover a subset of the complete piece covering the same component of PS.

2.1 Fundamentals for Local Search

Roy, Govindarajan, Raman, and Ray [34] studied the geometric set cover problem with so-called non-piercing regions. Two compact simply-connected regions A and B are non-piercing if AB and BA are both connected. We say that A and B intersect properly if the intersection of the boundaries AB consists of a finite set of points and in each of these points, the boundaries cross, i.e., tangential intersections are not allowed. We say that a set of compact, simply-connected regions is properly non-piercing if the regions are pairwise non-piercing and intersect properly.

Lemma 1 ([34]).

For a universal constant C the following holds: Let X be a (finite) set of points in 2 and suppose that 𝒬={Q1,,Qq} and ={R1,,Rr} are sets of connected regions such that 𝒬 and each cover X. If the regions in 𝒬 are properly non-piercing and r(1+ε)q for some 1ε>0, then there is some set of at most C/ε2 of the pieces in that can be replaced by a strictly smaller set of pieces in 𝒬 to obtain a cover of X.

We start by adapting this result to the setting of covering a polygon rather than a discrete set of points. We show the following:

Lemma 2.

There is a constant C such that the following holds: Let P be a polygon (possibly with holes) and let 𝒬 be an optimal small cover of P consisting of q complete pieces, and let be another small cover of P consisting of r complete pieces. Then for any 1ε>0, if r(1+ε)q, then there is a set of at most C/ε2 of the pieces in that can be replaced by a strictly smaller set of pieces in 𝒬 to obtain a small cover of P.

It is relatively straightforward to prove Lemma 2 given Lemma 1. The strategy is to put a point in the interior of each cell of the overlay of 𝒬 and . A subset of 𝒬 covers P if and only if it covers each of these points. The pieces in 𝒬 are almost non-piercing, but need to be modified slightly in order to remove degeneracies and holes. The process is demonstrated informally in Figure 2 and uses an idea from [21]. The following lemma says that these modifications exist:

Figure 2: Given a finite set of complete small pieces that cover P, we obtain an equivalent instance of non-piercing geometric set cover. Left: a polygon and two complete small pieces. Top middle: the polygon and pieces cut the polygon into 4 cells, and we place a point in each cell. These pieces are piercing, since removing the red piece from the blue piece would disconnect it. Additionally, the red piece has a hole. Bottom middle: modifying the pieces to remove the hole and make them non-piercing. The hole in the red piece is filled, and an interval of the boundary is offset inwards so as to not pierce the blue piece. Right: removing the modified blue piece from the red piece (top) or the modified red piece from the blue piece (bottom). The remaining parts are connected, so the modified pieces are non-piercing.
Lemma 3.

Consider a polygon P and a small cover 𝒬={Q1,,Qq} of P consisting of complete small pieces. Consider the overlay of the pieces in 𝒬, choose a point in the interior of each region contained in P, and let X be the set of these points. There exists a set 𝒬={Q1,,Qq} of simply-connected pieces that are properly non-piercing such that QiX=QiX for all i{1,,q}. It holds in particular that for any I{1,,q}, we have XiIQi if and only if P=iIQi.

Note that these modifications are only used in the analysis; we don’t need to produce them algorithmically. We now prove Lemma 2.

Proof of Lemma 2.

Let 𝒮=𝒬 be the union of the global optimum and the local optimum. Using Lemma 3, we obtain a new set 𝒮=𝒬 of properly non-piercing pieces and a finite set of points X such that a subset of 𝒮 covers X if and only if the corresponding subset of 𝒮 covers P. Since 𝒬 and both cover P, 𝒬 and must both cover X.

Recall that q=|𝒬|=|𝒬| and r=||=||. If r(1+ε)q for some 1ε>0, then by Lemma 1, we can replace a set of at most C1ε2 of the pieces in with a strictly smaller set of pieces from 𝒬 to obtain another cover of X. If we swap the corresponding pieces in with the corresponding pieces in 𝒬, then we get a small cover of P, proving the claim.

Lemma 2 gives sufficient conditions for a small cover to be a (1+ε)-approximation of the optimum. We say that a small cover R is a k-local optimum if no set of at most k pieces from can be replaced by a strictly smaller set of small pieces.

Corollary 4.

There is some constant C such that if P is a polygon and is a small cover that is a k-local optimum for kC and has r complete pieces, then r is at most 1+Ck times the size of an optimal cover of P.

Proof.

Taking C to be the constant from Lemma 2, let C=C and k0=C. Because is k-local optimum, no set of at most k pieces can be replaced by a smaller set of small pieces. If rk, then is necessarily an optimal solution and the claim holds. So suppose that r>k. Let 𝒬 be an optimal small cover of P with q complete pieces. Suppose for contradiction that r(1+Ck)q. Note that for ε:=CkCk01, Lemma 2 guarantees a set of kC/ε2=CkC2=k pieces can be replaced by fewer pieces from 𝒬. A contradiction to the fact that is a k-local optimum. Hence, r<(1+Ck)q.

2.2 Polygons with Small Diameter

In this section, we describe a PTAS for small covers of polygons that intersect at most D squares of the integer grid. In order to obtain a PTAS, it is sufficient by Corollary 4 to show that, for any fixed k, a k-local optimum can be found in polynomial time. The strategy is as follows: we start with some small cover of P, and then test every set of k pieces in that cover to see if it can be replaced by a smaller set. If such a swap is possible, then we perform the swap and start over with the smaller cover. This repeats until no swap can be found.

The polygon P with n vertices intersects at most D integer grid squares, so we can find an initial cover with at most Dn squares–note that the intersection of a unit square with P has at most n connected components as each side of P is incident to at most one connected component. So finding a k-local optimum requires at most a polynomial (in n and D) number of swaps, because the number of pieces decreases in each step. It remains to show how to find a swap, or determine that none exists.

Given a set of complete small pieces (not necessarily a cover) in P, we define a corresponding “combinatorial structure”. The combinatorial structure is determined by:

  • The line arrangement containing edges of P and edges of the squares bounding the pieces.

  • For each bounding square S, the connected component of PS defining the piece (indicated with a number).

Figure 3: The combinatorial structure of a set of complete small pieces. Left: The connected components of PS are numbered. Right: The centers of the bounding squares of the two pieces are marked with squares. The intersection of lines 1 and 2 lies above 3..

Let be the set of lines containing edges of P or edges of a bounding square. For each (1,2,3)3, the first piece of information says on which side of 3 the intersection of 1 and 2 occurs, or if the intersection is contained in 3. (This is the orientation of the triangle formed by (1,2,3) or the order type of the dual of the lines.) The slope of each line in is fixed, so all the information about the arrangement of can be described by equalities and (strict) inequalities that are linear in the coordinates of the bounding squares. For example, if 1 is a vertical line containing the left edge of a square with center (xi,yi), 2 is a horizontal line containing the top edge of a square with center (xj,yj), and 3={(x,y):αx+βy=γ} is a line containing an edge of P, then the combinatorial data contains one of:

  • α(xi12)+β(yj+12)=γ,

  • α(xi12)+β(yj+12)<γ, or

  • α(xi12)+β(yj+12)>γ,

specifying on which side of 3 the intersection (xi12,yj+12) of 1 and 2 occurs; see Figure 3.

A realization of a combinatorial structure is a set of pieces satisfying the constraints. Since the constraints are linear, the set of realizations of any fixed combinatorial structure is a convex set. Note that the combinatorial data does not ensure that a realization corresponds to a cover of the polygon P. For instance, it is easy to make an example where all the squares are placed almost on top of each other, while big regions of P remain uncovered. Given just the combinatorial data of a (hypothetical) arrangement, we can use linear programming (LP) to check if it can actually be realized by some set of small pieces. What we really want to be able to check is if any such realization corresponds to a cover of P. The following lemma says that we only need to check a single realization.

Lemma 5.

For a given combinatorial structure, either every or no realization is a cover.

Proof.

Let A and B be realizations of a combinatorial structure with m squares. We show that A is a cover if and only if B is a cover. Suppose that A is a cover. We continuously move the bounding squares from their positions in A to their positions in B, along straight lines in the 2m-dimensional coordinate space. If, during this process, the arrangement stops being a cover, then one of the following cases occurs: (a) part of a polygon edge is uncovered, (b) part of the interior is uncovered, or (c) a piece becomes disconnected. The cases are illustrated in Figure 4.

(a)
(b)
(c)
Figure 4: If the bounding squares are moving continuously, then there are three ways that a covering might stop being valid. Any of these change the arrangement of lines in . (a) part of an edge stops being covered. (b) part of the interior stops being covered. (c) a piece ceases to be connected.

We consider a snapshot right after the first point becomes uncovered. In case (a), the uncovered region is a triangle (or a rectangle). Note that the intersection of a right angle of this region has changed sides with respect to the polygon side independent of whether both or just one involved square is moving. In case (b), the uncovered region is a rectangle and its appearance is due to two squares that become disjoint due to the movement of at least one square. In case (c), a side of a moving square now intersects a side of the polygon which was previously disjoint. Consequently, in each case some of the combinatorial data is changing. Since the set of realizations of a combinatorial structure is convex, we conclude that this doesn’t happen. Since the arrangement forms a cover at every point in the motion, we conclude that B must be a cover.

By a symmetric argument, it is clear that if B is a cover, then A is a cover.

Given a cover with complete pieces, we want to check if some set of k of its pieces can be swapped for a set of k1 pieces. This is accomplished by the next lemma.

Lemma 6.

Let P be a polygon with n vertices and consider a small cover of P with m pieces. For each fixed k, we can determine in 𝒪k((n+m)O(k)) time whether any set of k of the pieces from the cover can be replaced by k1 small pieces (not necessarily from the cover) to form a cover with fewer pieces.

Proof.

For each of the (mk) k-subsets of , we remove it and test each of the ways of adding k1 squares to the combinatorial arrangement. We need to argue that for any fixed k, there are only polynomially many ways of adding k1 squares to a combinatorial structure with m squares. This corresponds to adding 2k vertical lines and 2k horizontal lines to the arrangement. A line arrangement with lines contains at most O(2) intersection points. Thus there are O(2) combinatorially different ways to add a new line with a fixed slope. A combinatorial structure with m squares has n+2m lines. So the number of ways of adding the new 4k lines is 𝒪k((n+m)4k). The intersection of a square with P can have at most n connected components, so in total there are 𝒪k((n+m)4k+1) ways of adding k squares to the arrangement. For fixed k, this is polynomial in n and m.

For each of these candidate combinatorial structures, we need to check whether it represents a valid covering. By Lemma 5, it suffices to find a single representative set of pieces (if one exists). Each element of the combinatorial data is a linear constraint involving the coordinates of the squares and either an equality or a strict inequality. We construct an LP instance from these linear constraints, adding a new variable t and replacing each strict inequality 𝒞>0 with 𝒞t. To test if a solution exists, we solve the LP instance in which the objective function is to maximize t. If there is no feasible solution with t>0, then we conclude that there is no valid swap with this combinatorial structure. If we find a feasible solution with t>0, then we check if this solution covers all of P. We do this by constructing the pieces explicitly and computing their union. If the union does not cover P, then we know that no arrangement with this combinatorial structure does. The only free variables in the LP instance are t and the 2(k1) coordinates of the newly-added bounding squares. So in order to solve the LP instance, we can just check all of the (n+m)𝒪(k) basic solutions. This takes (strongly-)polynomial time for a fixed k.

We should check that this procedure finds a swap if one exists. Suppose that there is a set of k pieces in the initial cover that can be swapped with k1 pieces in order to obtain a new cover . The cover has a combinatorial structure, which is one of the candidate structures tested by our procedure. Furthermore, is a realization of this structure with the positions of the mk old pieces being the same as in , so such a realization exists, and the linear programming step will find one (but the realization found is not necessarily the same one as ). Since is a cover, by Lemma 5, the realization found will be a cover.

Theorem 7.

There is an algorithm that, given a polygon P and a parameter ε, computes a (1+ε)-approximation of the optimal small cover of P. The algorithm runs in time (Dn)poly(1ε), where D is the number of integer grid squares intersecting P.

Proof.

Fix k such that Ckε, and kC, where C is the constant from Corollary 4.

We can construct a cover of P with small pieces by overlaying P with the integer grid and taking the connected components of each intersection. Recall that the intersection of a unit square with P has at most n connected components. Hence, we obtain an initial solution with at most Dn pieces, where D is the number of integer grid squares intersecting P. We then check if this cover is a k-local optimum using the procedure from Lemma 6.

If this cover is not a k-local optimum, then we perform the swap and repeat the process until no more valid swaps remain. Every swap decreases the total number of pieces by 1, so the algorithm terminates after at most Dn steps, and when it does we have obtained a cover such that no set of k pieces can be swapped for a strictly smaller set of pieces. By Corollary 4, this solution has at most (1+ε)-times as many pieces as an optimal solution. It is clear by Lemma 6 that the entire process takes time at most (Dn)poly(1ε).

The algorithm in Theorem 7 runs in polynomial time on real RAM, but the bit-complexity of the coefficients can grow by a constant factor after each swap, potentially leading to exponential coefficient growth. In order to obtain an algorithm that runs in strongly-polynomial time, we can adjust the coordinates after each swap. Let m be the number of squares of the cover. We consider the LP instance L corresponding to the combinatorial structure of the cover. Here, L has two variables for all m squares, not just the new squares introduced in the latest swap. The cover that we found is a feasible solution x2m+1 to L. There are two coordinates in x for each square and one for the value t in the strict inequalities. We want to find a basic feasible solution to L, i.e., a vertex of the polyhedron defined by the constraints, because the bit-complexity of the variables in such a solution is polynomial in n, D and the bit-complexity of the coordinates of vertices of P. The value of t (the variable for strict inequalities) should still be positive in the new solution.

This can be done in strongly-polynomial time. We can write L such that all constraints have form 𝒞0. We start by evaluating each constraint at the feasible solution x. A constraint 𝒞0 is tight if 𝒞(x)=0. Let 𝒟 be the set of tight constraints and let ={y2m+1𝒞𝒟:𝒞(y)=0}. In other words, is the affine subspace that causes the tight constraints to be tight. The solution x is a basic feasible solution if has dimension 0. Otherwise, we can find a direction vVec() such that t does not decrease when moving in direction v. We move from x in direction v until an additional constraint becomes tight.

We obtain a new feasible solution x to L, where t at x is at least as large as t at x. Furthermore, the dimension of , the subspace of tight constraints corresponding to x, has decreased by at least 1 compared to . So we can repeat this process to find a basic feasible solution with the required properties. The number of arithmetic operations depends only on the number of variables and the number of constraints, so this process runs in strongly polynomial time. The bit-complexity of a basic feasible solution is polynomial in n, D and the bit-complexity of the coordinates of vertices of P. In particular, it does not increase with the number of swaps performed by the algorithm in Theorem 7.

2.3 Polygons with Large Diameter

In this section, we assume the existence of an algorithm 𝒜 providing a (1+ε)-approximation for a small cover of a polygon P with diameter at most O(n/ε). We show that from such an algorithm, one can design an algorithm 𝒜 that for an arbitrary polygon P, for which the size of a minimum cover of P is OPT, can find a value λ such that OPTλ(1+ε0)OPT, where ε0αε for some universal constant α. The algorithm also provides an implicit description of a cover with this approximation guarantee. Recall that we work in the real RAM model. In particular, we can perform basic arithmetic operations like addition, multiplication, and division on the coordinates of the corners of the polygon in constant time.

Theorem 8.

Assume there exists an algorithm 𝒜 which for any polygon P with n vertices and diameter O(n/ε) finds a (1+ε)-approximate minimum cover of P in time f(n,ε). Then there exists an algorithm 𝒜 that for any n-vertex polygon P returns a value λP with OPTλP(1+αε)OPT, where OPT is the size of a minimal cover of P with small pieces and α is a sufficiently large universal constant. The runtime of 𝒜 is f(αn,ε)poly(n/ε). The algorithm also produces an implicit description of a (1+αε)-approximate cover. For any query point qP, the algorithm can in time O(poly(n/ε)+f(4,ε)) return all pieces in the cover containing q.

Corollary 9.

There is an algorithm that, given a polygon P and a parameter 0<ε<1, computes a (1+ε)-approximation to the number of pieces in an optimal small cover of P. The algorithm runs in time (n/ε)poly(1/ε).

The algorithm also produces an implicit description of a (1+ε)-approximate cover. For any query point qP, the algorithm can in time O(poly(n/ε)+(1/ε)poly(1/ε))) return all pieces in the cover containing q.

Proof.

Use Theorem 8 with 𝒜 being the algorithm of Theorem 7 with D=O((n/ε)2).

We now sketch the idea of the reduction. We first argue that there is a set of k=O(n) disjoint “large” corridors 𝒞={C1,,Ck} with each CiP such that we can solve the covering problem on C1,,Ck, and P𝒞 separately. Each corridor Ci is constructed to have a pair of sides that are either both vertical or both horizontal and are of distance 1/ε apart. The remaining two sides are both contained in an edge of P. Finally, each Ci is essentially picked to be of maximum volume satisfying these properties.

We will show that the union of (1+O(ε))-approximate covers of C1,,Ck and P𝒞 yields a (1+O(ε))-approximate cover of P. For P𝒞, the diameter of each connected component is at most n/ε, so we can use the algorithm 𝒜 for bounded diameter polygons. The corridors are more tricky as the size of their optimal solutions cannot be bounded in terms of n, so for those, we maintain an implicit solution. Denote by ai and pi the area and perimeter of Ci. If aipi/ε, one can show that the intersection Ci with the integer grid gives an 1+O(ε) approximate cover, and this solution is easy to describe implicitly. The tricky part is handling a corridor Ci with aipi/ε where Ci is “long” and “skinny”. Suppose that Ci has a pair of vertical edges (the horizontal case is similar). In this case, we partition Ci further into corridor sections (Sij)j=1t, all having a pair of vertical edges and width 1/ε. We then again argue that it suffices to solve the problem on each Sij with an approximation ratio of 1+O(ε). Unfortunately, we cannot afford to find a solution for each Sij separately, but we can argue about a certain monotonicity of sizes of optimal covers of the Sij. Namely, after appropriate translations, it is either the case that SijSij+1 for all j or it is the case that SijSij+1 for all j. In the former case, we show that the size of the optimal cover of Sij is at most the size of the optimal cover of Sij+1 and a similar claim holds in the latter case. Based on these properties, and defining =ε4t, we show that it suffices to approximate the minimum covers of Si,Si2,Sit/. For any Sij with kj<(k+1), for some k, we can then use the size of the approximate cover of Si(k+1) as an upper bound on the size of the optimal cover of Sij. This only requires us to run 𝒜 on the t/=O(1/ε4) instances of the form Si(k+1). While for some values of k, this approach might not give 1+O(ε) approximation to Sij, the monotonicity ensures that for most values of k, the approximation is good, and suffices to give a final approximation guarantee of 1+O(ε).

2.4 Equivalence of Small Covers and Partitions

The proof of Lemma 3 lets us show the equivalence of small covering and partitioning – a result which may be interesting in its own right.

Theorem 10.

For any polygon P, possibly with holes, optimal small covers and small partitions have the same number of pieces.

Proof.

Consider an optimal small cover 𝒬 consisting of complete small pieces; see Figure 5.

Figure 5: Steps in the proof of Theorem 10.

Consider the overlay of 𝒬 and choose a point in the interior of each cell which is also in P. Construct a set of proper non-piercing regions 𝒬 as in Lemma 3. As described in the proof, the pieces in 𝒬 are subsets of those in 𝒬, except that some holes of P have been filled. Importantly, the boundaries of the pieces in 𝒬 are just slight perturbations of those in 𝒬.

The following process of lens bypassing is described in [34, Section 4]. Since 𝒬 are non-piercing, any intersection QiQj consists of a set of lenses, which are regions bounded by one interval of the boundaries of each set Qi and Qj. In the process of lens bypassing, we consider an inclusion-wise minimal lens , say in the intersection QiQj. Let the boundary of be γiγj, where γi and γj are on the boundaries of Qi and Qj, respectively. We change the boundary of Qi by replacing γi by a curve following γj (but slightly outside to avoid non-proper intersections). This effectively removes from Qi. It is shown [34, Lemma 4.6] that the operation results in a set of regions that are also non-piercing. Repeating the process results in a set 𝒬′′ of pairwise disjoint regions that are subsets of the original regions 𝒬 and still contain the points X.

Consider any hole H of P, i.e., H is a bounded connected component in the complement of P. Recall that in the pieces 𝒬, the hole H might have been filled in some of them, so H might also be filled in some of the pieces 𝒬′′. In our modifications from Q to Q′′, we have only ever made modifications along curves that are disjoint from H. Hence, for each piece Qi′′𝒬′′, we either have HQi′′ (H is filled) or HQi′′= (H is still a hole of Qi′′ or outside the outer boundary). We can remove H from all pieces where it is filled, thus reintroducing H as a hole, and this will not break connectivity. We do so for all holes of P. We end up with regions 𝒬′′′ that are pairwise disjoint and all contained in P. Furthermore, the regions 𝒬′′′ still cover P in the sense that each region in the overlay of the original cover 𝒬 is contained in a region in the overlay of 𝒬′′′, except that the boundary might be slightly perturbed. We can thus create pieces 𝒬′′′′ analogous to 𝒬′′′ using the original boundaries, and these pieces will cover all of P and still be pairwise interior-disjoint. We therefore obtain a small partition of P.

3 Hardness for Small-Cover in 3 dimensions

In this section, we give a gap-preserving reduction from Set-Cover to 3-dimensional small cover. The best-known inapproximability result for Set-Cover is the following:

Theorem 11.

(Dinur and Steurer [22]) For any α>0, it is NP-hard to approximate an instance of Set-Cover of size n to within a factor of (1α)ln(n).

Our results show that Small-Cover in 3 dimensions is no easier to approximate than Set-Cover.

Theorem 12.

Let I be an instance of Set-Cover where the universe is U={1,,n} and the sets are 𝒮={S1,,Sm}. Then we can construct in polynomial time a simple polyhedron P3 with 𝒪(n+i|Si|) vertices such that P has a unit cube cover of size k+5 if and only if U can be covered by k of the sets in 𝒮. The vertices of P have bit-complexity at most 𝒪(log(nm)) and P is contained in a box of size 1×2×3.

Proof.

For simplicity, we will scale the coordinates by a factor of 8. So the polyhedron P will have a cover with pieces that fit inside 8×8×8-cubes. We will construct P from a union of flat plane pieces, but it can easily be thickened to obtain a non-degenerate polyhedron.

To construct P, we start by making layers of hook pieces. There is one type of hook piece for each of the m sets in 𝒮. The hook piece for Sj is shown in Figure 6(a). For each iSj, we place a copy of the corresponding hook piece at z-coordinate mi+jmn.

(a)
(b)
Figure 6: (a) Specification of a hook piece. The (x,y)-positions of the points p1 through p5 are also shown. (b) The segments marked show the wall pieces that connect the hook pieces together. Segments W1 through W5 extend to cover the height of the entire figure, while segment W6 is extended over n disjoint intervals. The outline of a hook piece is shown in green.

The hook pieces are connected by a wall, which is formed by the segments marked W1 through W5 in Figure 6(b) extruded to cover the z-coordinates [m+1mn,(m+1)nmn]. Additionally, the segment marked W6 is extruded to cover the z coordinates [mi+1mn,(m+1)imn] for each iU. The entire construction is illustrated in Figure 7.

Figure 7: A rendering of the polyhedron P. The specific instance shown corresponds to n=4, m=4, S1={1,2,3}, S2={1,3,4}, S3={1,2,4}, and S4={2,3,4}. The hook pieces are shown in gray and the wall pieces are shown in green. The vertical scale is exaggerated for clarity.

Suppose that U can be covered by k of the sets in 𝒮. We want to show that P can be covered with k+5 pieces that fit inside an 8×8×8-unit cube. First note that the 5 cubes shown in Figure 8 are sufficient to cover most of P.

Figure 8: These 5 cubes cover most of P.

The intersection of P with each of these cubes is connected. There are n connected chunks remaining uncovered, corresponding to the n elements of U. Let Qi be the connected part of the uncovered region containing vi. For each Sj, there is a connected piece containing iSjQi that fits inside the cube [4,12]×[24j12m,104j12m]×[0,8], as illustrated in Figure 9(a) and 9(b). So if U can be covered by k of the Sj, then P can be covered by k+5 pieces.

(a)
(b)
Figure 9: (a) The intersection of the cube [4,12]×[24j12m,104j12m]×[0,8] with a hook piece corresponding to Sj connects some of the Qi. (b) A 3-dimensional view of the intersection of P with the cube [4,12]×[24j12m,104j12m]×[0,8]. Shown is the example from Figure 7 with j=3. The green part is connected and contains Q1, Q2 and Q4. The gray part contains Q3, but cannot be connected to the green part without leaving the cube.

Now suppose that P can be covered by k+5 pieces. We first designate five points p1,,p5 (as shown in Figure 6(a) and 7). No 8×8×8 cube can contain more than 1 of these points, so there are at least five pieces in the covering, one for each of these points. These pieces also cannot contain any of the points v1,,vn, so the remaining pieces must cover these points.

Suppose that some piece Q in the cover contains {vi:iS} for some set SU. We want to show that SSj for some j. By assumption, each iU is in some Sj, so WLOG suppose |S|2. Let i,S with i. So Q contains a path γ from vi to v. No part of the walls W3 through W5 is close enough to vi to be contained in Q, so γ must connect through W1 or W2.

In order to get from vi to W1 or W2, γ must go through some hook piece, say this hook piece corresponds to Sj. Such a connection contains y coordinates covering the interval [22jm,102j1m] (see Figure 9(a) and 9(b)). Since Q is contained in an 8×8×8-unit cube, it cannot contain points with y-coordinates covering [22jm,102j1m] for any jj. So any v contained in Q is connected to vi through a hook piece corresponding to Sj. This is only possible if Sj. So SSj.

Thus, U can be covered by k of the Sj if and only if P can be covered by k+5 connected pieces each fitting inside an 8×8×8-unit cube.

If we thicken P slightly, we obtain a simple (topologically ball-shaped) polyhedron. To see this, we observe that P is contractable. Indeed, each hook piece (strongly) deformation retracts onto walls W1 through W6. So all of the hook pieces deformation retract onto the wall pieces. Since the union of the wall pieces is contractable, P is contractable.

We note that it is possible to trim the cover of size k+5 described in the proof in order to obtain a partition, so we get hardness for both Small-Cover and Small-Partition. In fact, it is easy to see that the problems are equivalent in 3 and higher dimensions: If Q1,,Qq form a cover for a polyhedron P, we can define Qi=Qij=1i1Qj for i=1,,q. Then the pieces Qi are pairwise disjoint and also cover P, but they may be disconnected. However, if Qi is disconnected, we can connect the parts by thin tunnels, staying in the original piece Qi so we don’t violate the size constraint. These tunnels are removed from the other pieces Qj, and choosing them sufficiently thin, they will not disconnect any piece.

Corollary 13.

In 3 dimensions, for any α>0, it is NP-hard to approximate Small-Cover and Small-Partition better than (1α)ln(n), where n is the number of bits needed to describe the input polyhedron. This holds even when the polyhedron is simple and contained in a box of size 1×2×3.

References

  • [1] Anders Aamand, Mikkel Abrahamsen, Reilly Browne, Mayank Goswami, Prahlad Narasimhan Kasthurirangan, Linda Kleist, Joseph S. B. Mitchell, and Jack Polishchuk, Valentin Stade. Covering and partitioning complex objects with small pieces, 2026. arXiv:2603.23216.
  • [2] Mikkel Abrahamsen. Covering polygons is even harder. In Symposium on Foundations of Computer Science (FOCS), pages 375–386. IEEE, 2021. doi:10.1109/FOCS52979.2021.00045.
  • [3] Mikkel Abrahamsen, Anna Adamaszek, and Tillmann Miltzow. The art gallery problem is -complete. J. ACM, 69(1):4:1–4:70, 2022. doi:10.1145/3486220.
  • [4] Mikkel Abrahamsen, Joakim Blikstad, André Nusser, and Hanwen Zhang. Minimum star partitions of simple polygons in polynomial time. In Symposium on Theory of Computing, (STOC), pages 904–910. ACM, 2024. doi:10.1145/3618260.3649756.
  • [5] Mikkel Abrahamsen and Nichlas Langhoff Rasmussen. Partitioning a polygon into small pieces. In Symposium on Discrete Algorithms (SODA), pages 3562–3589. SIAM, 2025. doi:10.1137/1.9781611978322.118.
  • [6] Mikkel Abrahamsen and Jack Stade. Hardness of packing, covering and partitioning simple polygons with unit squares. SIAM Journal on Computing, pages FOCS24–29, 2026. doi:10.1137/24M171824X.
  • [7] Esther M. Arkin, Rathish Das, Jie Gao, Mayank Goswami, Joseph S. B. Mitchell, Valentin Polishchuk, and Csaba D. Tóth. Cutting polygons into small pieces with chords: Laser-based localization. In European Symposium on Algorithms (ESA), pages 7:1–7:23, 2020. doi:10.4230/LIPIcs.ESA.2020.7.
  • [8] Rom Aschner, Matthew J. Katz, Gila Morgenstern, and Yelena Yuditsky. Approximation schemes for covering and packing. In WALCOM: Algorithms and Computation, pages 89–100, 2013. doi:10.1007/978-3-642-36065-7_10.
  • [9] Aaron T. Becker, Sándor P. Fekete, Alexander Kröller, SeoungKyou Lee, James McLurkin, and Christiane Schmidt. Triangulating unknown environments using robot swarms. In Symposium on Computational Geometry (SoCG), pages 345–346, 2013. doi:10.1145/2462356.2462360.
  • [10] A. Bezdek and K. Bezdek. A solution of conway’s fried potato problem. Bulletin of the London Mathematical Society, 27(5):492–496, 1995. doi:10.1112/blms/27.5.492.
  • [11] A. Bezdek and K. Bezdek. Conway’s fried potato problem revisited. Arch. Math., 66(6):522–528, 1996. doi:10.1007/BF01268872.
  • [12] Karol Borsuk. Drei Sätze über die n-dimensionale euklidische Sphäre. Fundamenta Mathematicae, 20(1):177–190, 1933. doi:10.4064/fm-20-1-177-190.
  • [13] Maike Buchin and Leonie Selbach. Decomposing polygons into fat components. In Canadian Conference on Computational Geometry (CCCG), pages 175–184, 2021.
  • [14] Antonio Cañete, Isabel Fernández, and Alberto Márquez. Conway’s fried potato problem: a (quadratic) algorithm leading to an optimal division for convex polygons. In Discrete Mathematics Days (DMD), pages 71–76, 2022.
  • [15] Bernard Chazelle. Approximation and decomposition of shapes. In Algorithmic and Geometric Aspects of Robotics, volume 1 of Advances in Robotics, pages 145–185. L. Erlbaum Associates Inc., 1987.
  • [16] Bernard Chazelle and David P. Dobkin. Optimal convex decompositions. In Computational Geometry, volume 2 of Machine Intelligence and Pattern Recognition, pages 63–133. Elsevier, 1985. doi:10.1016/B978-0-444-87806-9.50009-8.
  • [17] Bernard Chazelle and Leonidas Palios. Decomposition algorithms in geometry. In Algebraic Geometry and its applications, pages 419–447. Springer, 1994. doi:10.1007/978-1-4612-2628-4_27.
  • [18] Xun Chen and Mingyong Chen. Skeleton partition models for 3D printing. In Second International Conference on Medical Imaging and Additive Manufacturing (ICMIAM 2022), 2022. doi:10.1117/12.2636369.
  • [19] Hallard T. Croft, Kenneth J. Falconer, and Richard K. Guy. Unsolved Problems in Geometry. Problem Books in Mathematics: Unsolved Problems in Intuitive Mathematics. Springer, 1991. doi:10.1007/978-1-4612-0963-8.
  • [20] Mirela Damian and Sriram V. Pemmaraju. Computing optimal diameter-bounded polygon partitions. Algorithmica, 40(1):1–14, 2004. doi:10.1007/s00453-004-1092-3.
  • [21] Mark de Berg, Sándor Kisfaludi-Bak, Morteza Monemizadeh, and Leonidas Theocharous. Clique-based separators for geometric intersection graphs. Algorithmica, 85(6):1652–1678, 2023. doi:10.1007/S00453-022-01041-8.
  • [22] Irit Dinur and David Steurer. Analytical approach to parallel repetition. In Symposium on Theory of Computing (STOC), pages 624–633. ACM, 2014. doi:10.1145/2591796.2591884.
  • [23] Sándor P. Fekete, Tom Kamphans, Alexander Kröller, Joseph S. B. Mitchell, and Christiane Schmidt. Exploring and triangulating a region by a swarm of robots. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX-RANDOM), pages 206–217. Springer, 2011. doi:10.1007/978-3-642-22935-0_18.
  • [24] Sariel Har-Peled and Kent Quanrud. Approximation algorithms for polynomial-expansion and low-density graphs. SIAM Journal on Computing, 46(6):1712–1744, 2017. doi:10.1137/16M1079336.
  • [25] Thomas Jenrich and Andries E. Brouwer. A 64-dimensional counterexample to Borsuk’s conjecture. Electron. J. Comb., 21(4):4, 2014. doi:10.37236/4069.
  • [26] Xiaotong Jiang, Xiaosheng Cheng, Qingjin Peng, Luming Liang, Ning Dai, Mingqiang Wei, and Cheng Cheng. Models partition for 3D printing objects using skeleton. Rapid Prototyping Journal, 23:54–64, 2017. doi:10.1108/RPJ-07-2015-0091.
  • [27] Jeff Kahn and Gil Kalai. A counterexample to Borsuk’s conjecture. Bulletin of the American Mathematical Society, 29(1):60–62, 1993. doi:10.1090/S0273-0979-1993-00398-7.
  • [28] J. Mark Keil. Polygon decomposition. In Jörg-Rüdiger Sack and Jorge Urrutia, editors, Handbook of computational geometry, chapter 11, pages 491–518. Elsevier, 1999. doi:10.1016/B978-044482537-7/50012-7.
  • [29] J. Mark Keil and Jörg-R. Sack. Minimum decompositions of polygonal objects. In Computational Geometry, volume 2 of Machine Intelligence and Pattern Recognition, pages 197–216. Elsevier, 1985. doi:10.1016/B978-0-444-87806-9.50012-8.
  • [30] Minseok Ko, Yeongjun Yoon, Jaeyeon Kim, Samyeon Kim, and Soonjo Kwon. D-ECOmposer: Sustainable part decomposition for additive manufacturing using machine learning based life cycle assessment. Additive Manufacturing, 103:104759, 2025. doi:10.1016/j.addma.2025.104759.
  • [31] Linjie Luo, Ilya Baran, Szymon Rusinkiewicz, and Wojciech Matusik. Chopper: Partitioning models into 3D-printable parts. ACM Trans. Graph., 31(6):129:1–129:9, 2012. doi:10.1145/2366145.2366148.
  • [32] Joseph O’Rourke. Art Gallery Theorems and Algorithms. Oxford University Press, 1987.
  • [33] Joseph O’Rourke, Subash Suri, and Csaba D. Tóth. Polygons. In J. E. Goodman and J. O’Rourke, editors, Handbook of discrete and computational geometry, chapter 30, pages 787–810. Taylor & Francis, third edition edition, 2018. doi:10.1201/9781315119601.
  • [34] Aniket Basu Roy, Sathish Govindarajan, Rajiv Raman, and Saurabh Ray. Packing and covering with non-piercing regions. Discret. Comput. Geom., 60(2):471–492, 2018. doi:10.1007/S00454-018-9983-2.
  • [35] Thomas C. Shermer. Recent results in art galleries. Proceedings of the IEEE, 80(9):1384–1399, 1992. doi:10.1109/5.163407.
  • [36] Juraj Vanek, Jorge A. Garcia Galicia, Bedrich Benes, Radomír Mech, Nathan A. Carr, Ondrej Stava, and Gavin S. P. Miller. Packmerger: A 3D print volume optimizer. Comput. Graph. Forum, 33(6):322–332, 2014. doi:10.1111/CGF.12353.
  • [37] Chris Worman. Decomposing polygons into diameter bounded components. In Canadian Conference on Computational Geometry (CCCG), pages 103–106, 2003. URL: http://www.cccg.ca/proceedings/2003/9.pdf.
  • [38] Yuan Yao, Longyu Cheng, and Zhengyu Li. A comparative review of multi-axis 3D printing. Journal of Manufacturing Processes, 120:1002–1022, 2024. doi:10.1016/j.jmapro.2024.04.084.