Orthogonal Strip Partitioning of Polygons: Lattice-Theoretic Algorithms and Lower Bounds
Abstract
We study a variant of a polygon partition problem, introduced by Chung, Iwama, Liao, and Ahn [ISAAC’25]. Given orthogonal unit vectors and a polygon with vertices, we partition into connected pieces by cuts parallel to such that each resulting subpolygon has width at most one in direction . We consider the value version, which asks for the minimum number of strips, and the reporting version, which outputs a compact encoding of the cuts in an optimal strip partition.
We give efficient algorithms and lower bounds for both versions on three classes of polygons of increasing generality: convex, simple, and self-overlapping. For convex polygons, we solve the value version in time and the reporting version in time, where is the width of in direction . We prove matching lower bounds in the decision-tree model, showing that the reporting algorithm is input-sensitive optimal with respect to . For simple polygons, we present -time, -space algorithms for both versions and prove an lower bound. For self-overlapping polygons, we extend the approach for simple polygons to obtain -time, -space algorithms for both versions, and we prove a matching lower bound in the algebraic computation-tree model via a reduction from the -closeness problem.
Our approach relies on a lattice-theoretic formulation of the problem. We represent strip partitions as antichains of intervals in the Clarke–Cormack–Burkowski lattice, originally developed for minimal-interval semantics in information retrieval. Within this lattice framework, we design a dynamic programming algorithm that uses the lattice operations of meet and join. To the best of our knowledge, this is the first geometric application of the Clarke–Cormack–Burkowski lattice.
Keywords and phrases:
Polygon partitioning, Strip partition, Lattice, Self-overlapping curves2012 ACM Subject Classification:
Theory of computation Computational geometryFunding:
This work was supported in part by a KIAS Individual Grant AP106101 via the Center for Artificial Intelligence and Natural Sciences at Korea Institute for Advanced Study, and by the Center for Advanced Computation at Korea Institute for Advanced Study.Editor:
Pierre FraigniaudSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Partitioning a polygon into the minimum number of pieces has been studied extensively under shape-class constraints, for example into convex, star-shaped, quadrilateral, or monotone pieces [1, 10, 15]. Much less is known for metric constraints that bound geometric measures, such as width, diameter, or perimeter. In contrast to the classical shape-based setting, the problem becomes significantly harder under such metric bounds. Imposing a unit upper bound on diameter or perimeter already makes the minimum partition problem NP-hard for simple polygons without holes [3]. Moreover, no polynomial-time algorithm is known for computing an optimal solution even when the input is a square or an equilateral triangle [2].
In ISAAC’25, Chung et al. [11] introduced a minimum partition problem with an upper-bounded width constraint, which limits the width of each partitioned piece in prescribed directions. Such a constraint is motivated by manufacturing and recycling, where materials must be cut or processed within width limits. For instance, Lan et al. [16] recycle wind turbine blades by first cutting the blades into panels small enough to fit the intake of crushing machines, and then crushing them into recyclates. Moreover, wind turbine blades are typically made of glass-fiber composites with directionally aligned fibers, so the cutting effort can depend on the cut direction [13].
From a theoretical perspective, the problem is related to Bang’s conjecture, a long-standing open problem in convex geometry [5]. Chung et al. resolved a partition analogue of this conjecture, showing that for any convex body, there exists a direction in which an optimal partition can be achieved using only parallel cuts.
These applications and theoretical results motivate the study of minimum partitioning under an upper-bounded width constraint. Moreover, they suggest that it is natural to restrict attention to partitions in which all cuts are parallel to a single direction, which we call the strip partition model.
We consider three classes of input polygons: convex, simple, and self-overlapping, where a self-overlapping polygon generalizes a simple polygon by allowing the boundary to self-intersect. A self-overlapping curve was introduced by Shor and van Wyk [21] as the boundary of a topological disk immersed in . When this curve is polygonal, it serves as the boundary of a self-overlapping polygon. Unlike in the simple case, the boundary alone does not determine a unique interior or visibility relation. Following Shor and van Wyk, we define visibility with respect to a triangulation of the curve, so that partitions of the polygon are well defined.
In this work, we study orthogonal strip partitioning of polygons and present efficient algorithms with lower bounds for each class of input polygons.
Orthogonal strip partition problem.
We first recall the partitioning problem under width and cut constraints introduced by Chung et al. [11]. Let be a simple polygon, and let denote the set of all unit vectors in the plane. For and a set , let denote the width of in direction , that is, the length of the projection of onto a line parallel to . Given a subset , we say that satisfies the unit-width constraint if for some . We also impose a cut constraint , meaning that every cut used to partition must be aligned with some direction in . Here, a cut is a line segment whose relative interior lies in the interior of . Given a simple polygon and sets , the goal is to find a partition of into the minimum number of pieces such that every cut is aligned with a direction in and each piece satisfies the unit-width constraint .
The orthogonal strip partition problem is the special case with and for two orthogonal unit vectors . A strip is a subpolygon with , and a strip partition divides into strips using only cuts parallel to . Without loss of generality, we assume and . Under this assumption, each cut is a vertical segment and every strip has width at most 1 in the horizontal direction. In this orthogonal setting, we regard a cut as a maximal vertical segment contained in whose relative interior lies in the interior of . See Figure 1 for an illustration.
Cut descriptors and lossless encoding.
We define the descriptor of a cut as the pair of boundary edges of on which its top and bottom endpoints lie, together with its -coordinate. If a top or bottom endpoint lies on two incident edges, we choose the left edge, so the descriptor uniquely determines the position of the cut. A partition of can be represented by the descriptors of its cuts. Our primary objective is to minimize the number of strips. In the reporting variant, we also compute the descriptors of all cuts in an optimal partition.
To store these descriptors succinctly, we fix a lossless encoding scheme for strip partitions. For each polygon , the scheme assigns a codeword to each strip partition of so that the partition can be reconstructed from the codeword without loss. Thus each strip partition of is represented by a unique codeword.
The purpose of lossless encoding is to separate the combinatorial difficulty of finding an optimal partition from the cost of listing all cuts. For an integer , the optimal strip partition of rectangle consists of cuts spaced one unit apart. If we store one descriptor per cut, any reporting algorithm requires time to output the explicit list. We therefore allow the algorithm to output a succinct codeword from which the full list of cut descriptors can be reconstructed without loss, for example by encoding the -coordinate of the leftmost cut together with the number of cuts. This is called a run-length encoding [6]. Under this model, the cost is no longer dominated by explicit output size, but by distinguishing among combinatorially different optimal partitions.
Definition 1 (Orthogonal Strip Partition Problems).
An orthogonal strip partition of a polygon is a partition of into subpolygons (strips) using vertical cuts, such that each subpolygon has horizontal width at most . We consider three input domains . For , an input instance consists of the vertices of listed in counterclockwise order along its boundary. For , an instance consists of a triangulation of . For each domain , we consider two versions:
-
Value version: return the minimum number of strips.
-
Reporting version: with respect to the fixed lossless encoding scheme, output any codeword representing an optimal strip partition of .
Let denote the type of , corresponding to convex, simple, and self-overlapping, respectively. For a polygon in domain , let and be the value and reporting versions of the orthogonal strip partition problem, respectively. We denote by the minimum number of strips in an optimal strip partition of .
Related work.
The general version of the strip partition problem with arbitrary width and cut constraints , was first introduced by Chung et al. [11]. They studied structural properties in simple polygons, in particular the monotonicity of the minimum partition number under polygon containment. They proved a partition analogue of Bang’s conjecture. If contains every direction orthogonal to each , then any convex body admits an optimal partition obtained by equally spaced cuts parallel to some direction . Hence an optimal solution exists in the strip partition model.
Most algorithmic work for the strip partition model focuses on monotone variants, including the convex case. Liu [19] gave an -time algorithm for partitioning a rectilinear polygon with rectilinear holes into -monotone pieces using horizontal cuts, where is the total number of vertices. Lee et al. [17] improved this to linear time for hole-free polygons. Lingas and Soltan [18] studied minimum convex partitions of polygons with holes by cuts restricted to a set of directions; in particular, they give an -time algorithm when (parallel cuts).
Our results.
We study orthogonal strip partitioning of convex, simple, and self-overlapping polygons, and give efficient algorithms with matching lower bounds in appropriate computational models, in particular the decision-tree and algebraic computation-tree models.
First, for a convex -gon, the value version can be solved in time and the reporting version in time, where is the horizontal width of the input polygon. As a function of , this bound is when and approaches as increases. We prove matching lower bounds in the decision-tree model, showing that any algorithm needs time for the value version and time for the reporting version. Thus the reporting algorithm is input-sensitive optimal with respect to .
Second, for simple polygons with vertices, we use a lattice-theoretic formulation of strip partitions. We represent strip partitions as antichains of intervals in the Clarke–Cormack–Burkowski lattice, originally developed for minimal-interval semantics in information retrieval, and design a dynamic programming algorithm on a trapezoidal decomposition whose recurrence is expressed using the lattice operations of meet and join on these antichains. This yields an -time, -space algorithm that solves both the value and reporting versions. We also show that, unlike for convex polygons, any algorithm requires accesses to the coordinates of the input vertices in the worst case. To the best of our knowledge, this is the first geometric application of the Clarke–Cormack–Burkowski lattice.
Finally, we extend this lattice-based framework to self-overlapping polygons given by a triangulation. We obtain an -time, -space algorithm that solves both versions, and prove an lower bound in the algebraic computation-tree model by a reduction from the -closeness problem. This shows that our algorithm is optimal in that model.
2 Preliminaries
Let be a polygon with vertices in the plane, given as a list of vertices in counterclockwise order along its boundary. A partition of is a set of connected pieces with pairwise disjoint interiors whose union equals . The cardinality of a partition is the number of its pieces.
For a set , we denote by its boundary, by its interior, and by its closure. We regard a polygon as the union of its interior and boundary; in particular, , is the boundary of , and is its interior.
For a point , let and denote its - and -coordinates, respectively. For any two points , we use to denote the line segment connecting and , and write for its length. We call a cut in if and the interior points of lie in . If is a vertical cut, we denote by the -coordinate of .
Let be a totally ordered set. A subset is an interval of if for all with , the condition implies . A closed interval of is an interval of the form . We denote by the set of all closed intervals of . If with the induced order, then for a closed interval , we define its length by . The set is locally finite if every closed interval contains only finitely many elements of ; for example, is locally finite, whereas and are not.
We use the notation for a positive integer . For a finite set , we use to denote its cardinality.
Computational model.
We work in the real-RAM model, which supports unit-cost arithmetic () and comparisons on real numbers. The vertices of the input polygon are given by real coordinates . We allow a restricted use of floor function: for each input , the integer part is also given and can be accessed in constant time, which increases the input size only by a constant factor. We do not allow the floor function on arbitrary real values, since this would make the model unrealistically powerful [20]. The integer labels do not increase the computational power for the problems we consider.
Our algorithms take floor/ceiling of differences between -coordinates of input vertices. In our model, these are supported in constant time because the integer parts of all input -coordinates are given. Let be the -coordinates of the vertices of . For each , let (the integer part) and (the fractional part). Then, , where is the indicator function and its value is computed by a single comparison. For computing ceilings, we use the identity .
3 Lattice formulation for orthogonal strip partitions of simple polygons
In this section, is a simple polygon with vertices, stored in an array in counterclockwise order along its boundary. We give an -time, -space algorithm for both and .
We first compute a vertical trapezoidal decomposition of and its dual graph in time using the algorithm of Chazelle [9]; see Figure 2(a). Let be the set of trapezoids and let be its dual graph. Then and is a tree.
Let be a vertical cut in the trapezoidal decomposition. Cutting along yields two subpolygons , where is the part of lying to the left of and is the part lying to the right. Consider optimal strip partitions of and in which every strip has horizontal width at most . Taking the union of these two partitions, with as a common boundary, yields a feasible strip partition of , implying . Conversely, given an optimal partition of , restricting it to and yields feasible strip partitions of these subpolygons. Thus, , and we need to determine whether the lower or upper bound is achieved in a given instance.
To analyze this, observe that in any strip partition of , there is exactly one strip incident to . For , let denote the set of -intervals obtained as follows: for each optimal strip partition of , take the strip incident to and project it onto the -axis, and include the resulting interval in . We define for analogously. Every interval in and in contains , since its corresponding strip is incident to .
When gluing optimal partitions of and along , the total number of strips decreases by one only when the two strips incident to can be merged into a single strip without violating the width constraint. In terms of -intervals, this is equivalent to checking whether there exist intervals and such that . See Figure 2.
Observation 2.
We have if and only if there exist intervals and such that .
Moreover, it suffices to consider only inclusion-minimal intervals in each family and . If satisfies and there exists with , then also holds; by symmetry, the same argument applies to . Thus, we may restrict attention to inclusion-minimal intervals in and .
Observation 3.
To decide whether there exist and with , it suffices to consider only the inclusion-minimal intervals in and .
Algorithm overview and lattice formulation.
Our algorithm performs a bottom-up dynamic program over the vertical trapezoidal decomposition of and its dual tree , rooted at an arbitrary node. For a node of , let be the subpolygon formed by the union of trapezoids in the subtree rooted at . If is not the root, we designate a vertical edge of that serves as the interface to its parent. The associated subproblem for is to determine the minimum number , together with the possible -intervals of strips incident to in optimal partitions of .
Observation 2 shows that, when two subpolygons are glued across , the optimum of the combined region can be determined from the optimum of each subpolygon and the -intervals of the strips incident to in optimal partitions of the two subpolygons. Moreover, by Observation 3, it suffices to retain only the inclusion-minimal such intervals. Thus, for each subproblem , we maintain the optimal value together with the inclusion-minimal intervals in .
We initialize these DP states at leaf trapezoids and combine them bottom-up at internal nodes, eventually reaching the root and obtaining . The crucial observation is that the update from child subproblems to a parent subproblem can be carried out entirely on these interval families. These interval families form an order-theoretic structure, namely the Clarke–Cormack–Burkowski (CCB) lattice. This lattice comes with two basic operations, meet() and join(). As we show next, the two basic operations naturally describe the two update situations of the dynamic program: gluing two incident strips into one, or introducing a new cut when such a gluing would violate the unit-width constraint.
3.1 Antichain completion and the Clarke–Cormack–Burkowski lattice
Let be a partially ordered set (poset). A subset is an antichain if no two distinct elements of are comparable, that is, for all with , we have neither nor . We denote by the set of all antichains of .
Boldi and Vigna [8] order antichains by their lower sets. For , its lower set is . They define a partial order on by . The poset is called the antichain completion of .
Now let be a totally ordered set, and let be the set of all closed intervals of . We order by reverse inclusion, so is a poset. We write and view as the antichain completion of . For our purposes, it suffices to keep in mind the following description of and . Each element is a family of intervals in which no interval properly contains another. For , the relation means that every interval in contains at least one interval in .
Clarke–Cormack–Burkowski (CCB) lattice.
A poset is a lattice if every pair of elements has a unique least upper bound (join) and a unique greatest lower bound (meet). For a locally finite, totally ordered set , Boldi and Vigna [8] show that the antichain completion forms a complete lattice. This structure, known as the Clarke–Cormack–Burkowski lattice, is named after the work of Clarke, Cormack, and Burkowski on minimal-interval semantics in information retrieval [12].
Let be a locally finite, totally ordered set, so is a CCB lattice. Each is a family of intervals of in which no interval properly contains another. For a family of intervals, let be the set of inclusion-minimal intervals in . The join and meet of are defined, respectively, as
See Figure 3 for an illustration of the partial order, meet, and join of two antichains.
Boldi and Vigna also show that is a completely distributive lattice: arbitrary meets distribute over arbitrary joins in this lattice. In particular, for any family and any , we have .
Lattice-based representation of strip partitions.
For a vertical cut , the sets and are antichains of intervals, since no interval in each set properly contains another. By Observation 3, these antichains suffice to decide whether the strips incident to can be merged. In fact, the equality holds if and only if the meet contains an interval of length at most . Thus, in our dynamic program, we only need to maintain, for each subpolygon with vertical edge , the antichain . In other words, is the set of inclusion-minimal -intervals of strips incident to across all optimal strip partitions of .
At first glance, these antichains appear to be families of intervals of , which is not locally finite. However, as we will show, once we fix some , every interval that arises in our algorithm has endpoints of the form or , where is a vertex of and . Thus all endpoints lie in
a locally finite, totally ordered set. Consequently, every antichain maintained by our dynamic program lies in the CCB lattice . This lattice is completely distributive.
3.2 Subproblem structures in the refined dual tree
We now describe the subproblem structure underlying our dynamic program for simple polygons, formulated in terms of antichains of intervals.
We associate each subproblem with a pair , where is a union of trapezoids from the vertical trapezoidal decomposition and is a vertical boundary edge of . (Recall that denotes the family of -intervals of all strips incident to edge across all optimal strip partitions of .) We compress this family into an antichain by keeping only inclusion-minimal intervals: . Every interval in has length at most , and each such interval includes the common -coordinate .
Let be the dual graph of the trapezoidal decomposition , and fix an arbitrary leaf as the root. For each node , let be the subtree of rooted at and let be the subpolygon obtained as the union of the trapezoids in . A vertical cut of the trapezoidal decomposition that lies on is called a vertical interface of .
Because is a tree, all the vertical interfaces of lie on a single vertical edge of for . Let denote this vertical edge. Note that is contained in . We define the normal direction of , denoted , to be right if lies on the right side of , and left if it lies on the left side. We refer to the triple as the subproblem structure associated with . See Figure 4.
Refining into a binary tree .
We transform the dual graph of into a rooted binary tree by locally refining each star centered at a trapezoid. Let be a trapezoid in with subproblem structure , and assume without loss of generality that . Suppose has children incident to its left side and children on its right. Let (resp. ) be the subproblem structures associated with its left (resp. right) children. By construction, each and each .
First, we construct a binary tree whose leaves are the left children of . If , we do not create ; if , then is a single node . For , we create new internal nodes and set each as the parent of and for each , with . Symmetrically, we construct a binary tree for the right children of .
Next, we remove all edges from to its children in . If exists (i.e., ), we attach the root of as the sole child of . If exists, let be a new internal node whose children are the root of and ; otherwise, let . If has a parent in , we replace the edge between and by an edge between and . The case is handled symmetrically. See Figure 5 for an illustration.
Processing all trapezoids in postorder replaces every star subgraph in with a binary tree. At each step, only the adjacency between and its children changes; the subtrees rooted at those children remain intact. This refinement adds only new internal nodes in total, and can be constructed in time. We refer to the original nodes of as trapezoid nodes and the new internal nodes as bridge nodes. By construction, every trapezoid node in has at most one child, and every bridge node has exactly two children.
Subproblem structures in .
We lift the subproblem structures defined for nodes of to the nodes of the refined tree . For each non-root node , we associate a triple , where is a weakly simple subpolygon of , is a vertical edge on , and is the outward normal direction of with respect to . If is a trapezoid node corresponding to a trapezoid , we inherit its subproblem structure by setting .
Suppose that is a bridge node with children and . Assume that and are already defined. Let be the minimal vertical segment spanning both and , and define . If , then is a same-side bridge. We set and . In this case, has boundary edges that touch each other without crossing, so is only weakly simple.
If , then is a cross-side bridge. In this case, is always simple and one of properly contains the other. If , we set and ; otherwise, and . Figure 6(a-b) illustrates the subproblem structures at bridge nodes.
For the root node of , which corresponds to the leaf of , the region has no vertical interface on its boundary. Then, we cannot directly define a subproblem structure for . Let be the vertical side of that is not incident to any other trapezoid of . Note that may be a single vertex if is a triangle. In this degenerate case, we conceptually replace with a very short vertical segment, obtained by extending it slightly in both vertical directions. This extension preserves the -interval of , keeps simple, and does not affect any strip partition of . We set and define as if lies on the left side of , or if lies on the right side. This yields the subproblem structure for the root node . See Figure 6(c).
Lemma 4.
For every node of , the subproblem structure is well-defined: is a weakly simple subpolygon of , is a vertical edge of with positive length, and is the outward normal direction of with respect to .
Reducing weakly simple subpolygons to simple ones.
By Lemma 4, every node of has an associated subproblem structure . If is a trapezoid node or a cross-side bridge node, then is simple. If is a same-side bridge node, however, is only weakly simple. To handle all subproblems in the simple polygon setting, we convert into a simple polygon by attaching a thin triangular cap along on the outside of .
Let be any point on the edge , excluding its endpoints. For sufficiently small , let be the point obtained by shifting by units in the direction of . Let be the triangle with base and apex .
Lemma 5.
For each node of , there exists such that is a simple polygon for all .
Let be the -coordinates of the vertices of , and let . Let be the minimum positive distance between two distinct points of . From Lemma 5, for each node , there exists such that is simple for all . Choose a particular satisfying and . Note that and are not computed explicitly; we only fix such values conceptually.
Now we define the capped subpolygon , which is a simple polygon. Figure 6 illustrates how the cap attaches to for each node type. Let denote the minimum number of strips in an optimal strip partition of . Among all optimal strip partitions of , let be the set of strips incident to the apex , and define , where is the interval obtained by projecting onto the -axis. Then is an antichain of intervals. By definition, every interval in is realized as the -projection of a strip incident to in some optimal partition of . Although the family may be infinite, Algorithm 1 and Lemma 9 together imply that is finite. We define the dynamic-programming subproblem to be the task of computing both and . The pair is called the DP state at node ; its first entry is the value component, and its second entry is the antichain component.
4 Dynamic programming algorithm and complexity
We process the nodes of the rooted binary tree in bottom-up order. For each node , after the subproblems for all of its descendants have been solved, we compute the DP state of using the update rule for either a trapezoid node or a bridge node.
During this process, we maintain the following invariant for each node of . The value is the minimum number of strips in a strip partition of . Let be the set of strips incident to the apex among all optimal partitions of . Then consists of the inclusion-minimal -intervals of the strips in .
4.1 Bottom-up evaluation on the refined tree
The update procedure is described in detail in Algorithm 1. Throughout the algorithm, we assume that ; the case is symmetric. We use the low-pass operator on the family of intervals. For , let , which discards intervals of length greater than .
Trapezoid nodes.
Let be a trapezoid node corresponding to a trapezoid . If has a child in , the DP state has already been computed. If is a leaf, we introduce a virtual child by taking to be the vertical side of opposite to , letting be the degenerate trapezoid consisting of , and setting ; then and consists of a single interval of length adjacent to .
The update at a trapezoid node proceeds as follows. Let be the -interval of , where and . For each strip , we remove the old cap , insert into the polygon, and then attach the new cap along . If is the -interval of , then the extended strip has -interval , which is exactly the interval obtained by taking the meet of with . Thus, the inclusion-minimal -intervals of all feasible extensions are exactly .
If at least one extended strip survives, then we do not introduce any new cut at . If none survive, then no strip can be extended through without violating the unit-width constraint. Let be the -interval of the rightmost strip in . If no extended strip survives, we insert a series of vertical cuts in at -coordinates , decomposing the extended region into unit-width strips (with the last piece possibly shorter than ). We then increase by the number of new strips, and define to consist of the single -interval of the rightmost suffix strip incident to .
Bridge nodes.
Let be a bridge node of with children and . At a bridge node, we consider pairs of strips and , and ask whether they can be combined into a single strip incident to . By the choice of , the -interval of each of and already contains . Hence, replacing the child caps with the cap does not change either -interval.
For a same-side bridge, this combination is obtained by removing the caps and , gluing the two strips along , and attaching the cap . For a cross-side bridge, we remove the two caps, take the union of the resulting strips, and attach along . In either case, if and are the -intervals of and , respectively, then the combined region has -interval . Thus, the inclusion-minimal -intervals of all feasible combinations are exactly .
If at least one pair of strips yields a feasible strip, then no additional cut is introduced at , and the feasible combined strips form . Otherwise, we insert a vertical cut near so that strips from the two child subproblems cannot be combined across . The strips from and are then extended separately to . Hence, .
Cut placement at nodes.
We now describe how new cuts are placed when strips cannot be merged or extended at a node without violating the unit-width constraint.
If is a trapezoid node, no strip extends through its trapezoid , so we place vertical cuts in . They start at , where is the interval with the maximum left endpoint in , and continue at unit distance. See Figure 7(a).
Now suppose that is a bridge node with children and . If some strip in can merge with one in into a unit-width strip, no new cut is added at . Otherwise, we place a single vertical cut near to prevent any strip from from merging with a strip from , so that all strips are extended to separately. See Figure 7(b–c).
The position of this cut depends on the bridge type and on the child from which each -interval in originates. For a same-side bridge, the cut is placed along if the interval comes from and along if it comes from . For a cross-side bridge, either or . Assume . If the interval comes from , the cut is placed along . Otherwise it is placed inside at -distance from , blocking any strip from from reaching ; see Figure 7(c). The case is symmetric. Note that inserting these cuts at bridge nodes does not increase the -interval of any strip from or ; we prove this in the proof of Lemma 6.
Every interval appearing in an antichain has endpoints of the form or , where is a vertex of and . Thus all endpoints lie in the locally finite, totally ordered set , and each antichain maintained by our DP is an element of the Clarke–Cormack–Burkowski lattice . The update rules are written using meet () and join () in this lattice, and the outputs of these operations remain in .
Since is chosen sufficiently small, the values and differ by at most one. This difference occurs only when, in every optimal partition of , the only strip incident to is the cap ; in this case we have .
In the DP state, we store an endpoint of the form or as the value together with a single bit indicating whether the –offset is present. Since is chosen sufficiently small, all order and width tests used by the algorithm can be decided from the base values and the flags. For example, if and , then
Lemma 6.
When Algorithm 1 is executed on the tree in bottom-up order, it correctly computes, for every node of , the pair , where is the number of strips in an optimal partition of , and is the antichain of -intervals of the strips incident to across all optimal partitions of .
Encoding cut descriptors.
We show that the additional cuts placed at trapezoid and bridge nodes admit a lossless encoding from which all cut descriptors in the optimal partition can be reconstructed in time using extra space. Importantly, we can generate this encoding during the DP without increasing the asymptotic running time.
Lemma 7.
The cut descriptors produced by the dynamic program admit an -space encoding from which all cuts in an optimal partition can be reconstructed in time.
Failure of greedy approach.
One might suspect that we can discard some intervals from an antichain component before passing information to its parent. This is impossible in general: if we discard even one interval before passing the DP state upward, the reduced state no longer determines the optimum.
Let be a simple polygon and let be a vertical edge of . Let denote the outward normal direction of . Let be the set of all simple polygons for which there exists a simple polygon such that and . In other words, consists of all simple polygons that contain as a subproblem structure in the orthogonal strip partition problem.
Let be the antichain component computed by Algorithm 1 for the subproblem structure . A certificate for is a subset with the following property: there exists an algorithm that, for every , computes from given , , and the remaining region . The certificate complexity of is . This viewpoint is standard in lower bound arguments [4], and shows whether pruning loses information necessary to determine .
Lemma 8.
For every integer , there exists a subproblem instance with vertices whose certificate complexity is at least .
Although keeping all intervals in the antichain component often appears redundant, Lemma 8 shows that one cannot safely prune intervals in general. There exist instances in which every interval is necessary; hence any greedy approach that discards intervals using only information available in the subproblem fails on some instance.
4.2 Algorithmic complexity and lower bounds
We analyze the running time and space of our dynamic program. The value component is updated only by testing whether the resulting antichain is empty, and the cut descriptor is computed during the meet or join operations without extra asymptotic cost. Thus, the overall running time is dominated by the cost of the meet and join operations on antichains.
In an antichain, intervals are strictly ordered: for two distinct intervals and , we have if and only if . Thus, we store each antichain as a list of intervals sorted by their left (or right) endpoints. Every antichain produced by our lattice operations is maintained in this sorted order.
Lemma 9.
Let and be finite antichains of intervals in . Then, and .
If is a leaf node of , consists of a single interval. At every trapezoid node or bridge node, Algorithm 1 performs exactly one meet or one join of two antichains. At every node of , Lemma 9 implies that is bounded by the size of the subtree rooted at . Boldi and Vigna [7] give one-pass, optimally lazy algorithms that compute and in time linear in . Moreover, the operation can clearly be implemented in time linear in the number of intervals in the antichain.
Let be the total running time of Algorithm 1 on a subtree with nodes, where . If is a trapezoid node, its unique child has a subtree of size , the antichain at has size , and the update takes time; thus . If is a bridge node with children whose subtrees have sizes and , then the two antichains together have size , so the update again takes time and . In the worst case, this recurrence yields .
To improve this bound, we work in the real-RAM model, where random access and binary search allow these operations to be implemented more efficiently than the one-pass algorithms. Let and denote the sorted list of left and right endpoints of intervals in , respectively. For each interval , we compute the insertion ranks of in and of in , that is, their positions in these sorted lists.
Given two sorted lists and with and , we use a selection technique of Kaplan et al. [14] to compute all insertion ranks of in in time for . We partition into blocks of size ; for each , we first identify the block containing and then perform a binary search within that block. The block size itself can be computed in comparisons by testing powers of two, so this does not change the overall running time.
The following lemma shows that the join and filtered meet of two antichains can be computed efficiently, assuming precomputed insertion ranks.
Lemma 10.
Let be two finite antichains of intervals in such that every interval in has length at most . Assume that, for every interval , the insertion ranks of its endpoints among those of are available in constant time. Then, and can be computed in time.
Let and with . We first compute the insertion ranks of all endpoints of intervals in among and in time. If , we then compute and in time. If , we instead use the linear-time algorithm of Boldi and Vigna, which runs in time.
Let be the running time of Algorithm 1 on a subtree of size . For a trapezoid node with a unique child, one antichain in the meet is a singleton, so the update takes time and . For a node whose children have subtree sizes and with , the cost at that node is , so . These recurrences give in the worst case.
Theorem 11.
For a simple polygon with vertices, the problems and can be solved in time using space.
Lower bounds.
We now show that no sublinear-time algorithm exists for the value or reporting version, so our algorithm is optimal up to a logarithmic factor. If the input polygon is given as an array of vertices in boundary order and each query reveals one input vertex at unit cost, then any algorithm requires time in the worst case.
Theorem 12.
Let be a simple polygon with vertices stored in an array in boundary order, and suppose that each query reveals one vertex of the input polygon and has unit cost. Then, any algorithm for or requires time in the worst case.
5 Orthogonal strip partitioning of convex and self-overlapping polygons
We also consider the orthogonal strip partition problem for convex and self-overlapping polygons.
-
Convex polygons. For a convex polygon with vertices given in boundary order, and can be solved in and time, respectively, where is the horizontal width of . Both bounds are optimal in the decision-tree model.
-
Self-overlapping polygons. For a self-overlapping polygon with vertices given together with a triangulation, and can be solved in time using space. This bound is optimal in the algebraic computation-tree model.
6 Concluding remarks
We studied orthogonal strip partitioning for convex, simple and self-overlapping polygons. For convex polygons, we presented optimal algorithms for both value and reporting versions. In particular, for the reporting version, our reporting algorithm is input-sensitive optimal with respect to the horizontal width of .
For simple and self-overlapping polygons, we presented a dynamic programming approach that runs in time and uses space for both the value and reporting versions. The DP recurrences are naturally formulated on the Clarke–Cormack–Burkowski lattice from order theory. For self-overlapping inputs, the running time is optimal in the algebraic computation-tree model; for simple polygons, it is optimal up to a logarithmic factor in the decision-tree model.
The main open problem is to close the logarithmic gap between the upper and lower bounds for simple polygons. Lemma 8 rules out any greedy pruning rule, so in the worst case the algorithm must compute a meet or join operation between antichains of size . However, it seems difficult to construct a simple polygon in which such expensive lattice operations occur repeatedly, whereas this is easy for self-overlapping inputs. This implies that simplicity may limit the number of costly lattice operations. Even if this intuition is correct, a binary-search based implementation still incurs time. To obtain an -algorithm, one likely needs a linear-scan procedure, similar to that of Boldi and Vigna [7], together with an amortized analysis of the total cost of all lattice operations.
References
- [1] Mikkel Abrahamsen, Joakim Blikstad, André Nusser, and Hanwen Zhang. Minimum star partitions of simple polygons in polynomial time. In Proc. 56th Annual ACM Symposium on Theory of Computing (STOC), pages 904–910. Association for Computing Machinery, 2024. doi:10.1145/3618260.3649756.
- [2] Mikkel Abrahamsen and Nichlas Langhoff Rasmussen. Partitioning a polygon into small pieces. In Proc. 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3562–3589. Society for Industrial and Applied Mathematics, 2025. doi:10.1137/1.9781611978322.118.
- [3] Mikkel Abrahamsen and Jack Stade. Hardness of packing, covering and partitioning simple polygons with unit squares. In Proc. 65th IEEE Symposium on Foundations of Computer Science (FOCS), pages 1355–1371. IEEE, 2024. doi:10.1109/FOCS61266.2024.00087.
- [4] Sanjeev Arora and Boaz Barak. Computational Complexity: A Modern Approach. Cambridge University Press, 2009.
- [5] Thøger Bang. A solution of the “plank problem”. Proc. American Mathematical Society, 2(6):990–993, 1951.
- [6] Timothy C. Bell, John G. Cleary, and Ian H. Witten. Text Compression. Prentice-Hall, 1990.
- [7] Paolo Boldi and Sebastiano Vigna. Efficient optimally lazy algorithms for minimal-interval semantics. Theoretical Computer Science, 648:8–25, 2016. doi:10.1016/J.TCS.2016.07.036.
- [8] Paolo Boldi and Sebastiano Vigna. On the lattice of antichains of finite intervals. Order, 35(1):57–81, 2018. doi:10.1007/S11083-016-9418-8.
- [9] Bernard Chazelle. Triangulating a simple polygon in linear time. Discrete & Computational Geometry, 6(3):485–524, 1991. doi:10.1007/BF02574703.
- [10] Bernard Chazelle and David Dobkin. Decomposing a polygon into its convex parts. In Proc. 11th Annual ACM Symposium on Theory of Computing (STOC), pages 38–48. Association for Computing Machinery, 1979. doi:10.1145/800135.804396.
- [11] Jaehoon Chung, Kazuo Iwama, Chung-Shou Liao, and Hee-Kap Ahn. Minimum Partition of Polygons Under Width and Cut Constraints. In 36th International Symposium on Algorithms and Computation (ISAAC 2025), volume 359 of Leibniz International Proceedings in Informatics (LIPIcs), pages 22:1–22:20. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPIcs.ISAAC.2025.22.
- [12] Charles L. A. Clarke, G. V. Cormack, and F. J. Burkowski. An algebra for structured text search and a framework for its implementation. The Computer Journal, 38(1):43–56, 1995. doi:10.1093/COMJNL/38.1.43.
- [13] J. W. S. Hearle. The structural mechanics of fibers. Journal of Polymer Science Part C: Polymer Symposia, 20(1):215–251, 1967.
- [14] Haim Kaplan, László Kozma, Or Zamir, and Uri Zwick. Selection from heaps, row-sorted matrices, and x+y using soft heaps. In Proc. 2nd Symposium on Simplicity in Algorithms (SOSA), pages 5:1–5:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/OASIcs.SOSA.2019.5.
- [15] J. Mark Keil. Decomposing a polygon into simpler components. SIAM Journal on Computing, 14(4):799–817, 1985. doi:10.1137/0214056.
- [16] Tianhui Lan, Bingze Wang, Junchao Zhang, Hao Wei, and Xu Liu. Utilization of Waste Wind Turbine Blades in Performance Improvement of Asphalt Mixture. Frontiers in Materials, 10:1164693, 2023.
- [17] Jaegun Lee, Hyojeong An, Hwi Kim, and Hee-Kap Ahn. Monotone partitions of simple polygons. In Proc. 36th International Workshop on Combinatorial Algorithms (IWOCA), pages 72–85, 2025. doi:10.1007/978-3-031-98740-3_6.
- [18] A. Lingas and V. Soltan. Minimum convex partition of a polygon with holes by cuts in given directions. Theory of Computing Systems, 31(5):507–538, 1998. doi:10.1007/S002240000101.
- [19] Robin Ru-Sheng Liu. Partitioning Rectilinear Polygons into Simpler Components. PhD thesis, The University of Texas at Dallas, 1985.
- [20] Arnold Schönhage. On the power of random access machines. In Proc. International Colloquium on Automata, Languages and Programming (ICALP), pages 520–529, 1979. doi:10.1007/3-540-09510-1_42.
- [21] Peter W. Shor and Christopher J. Van Wyk. Detecting and decomposing self-overlapping curves. Computational Geometry, 2(1):31–50, 1992. doi:10.1016/0925-7721(92)90019-O.
