Minimum Convex Partition of Point Sets is NP-Hard

by   Nicolas Grelier, et al.
ETH Zurich

Given a point set P, are k closed convex polygons sufficient to partition the convex hull of P, such that the interior of a convex set contains no point in P? What if the vertices of these polygons are constrained to be points of P? We show that the first decision problem is NP-hard, and the second NP-complete.



There are no comments yet.


page 1

page 2

page 3

page 4


Shellability is NP-complete

We prove that for every d≥ 2, deciding if a pure, d-dimensional, simplic...

The Inverse Problems of some Mathematical Programming Problems

The non-convex quadratic orogramming problem and the non-monotone linear...

On the number of integer points in translated and expanded polyhedra

We prove that the problem of minimizing the number of integer points inp...

Minimum-Link Rectilinear Covering Tour is NP-hard in R^4

Given a set P of n points in R^d, a tour is a closed simple path that co...

A Fully Polynomial Time Approximation Scheme For A NP-Hard Problem

We present a novel feasibility criteria for the intersection of convex s...

Solving the Minimum Convex Partition of Point Sets with Integer Programming

The partition of a problem into smaller sub-problems satisfying certain ...

Optimal Art Gallery Localization is NP-hard

Art Gallery Localization (AGL) is the problem of placing a set T of broa...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The CG Challenge 2020 organised by Demaine, Fekete, Keldenich, Krupke and Mitchell, is about finding good solutions to the problem of Minimum Convex Partition (MCP). We give a definition equivalent to their, which fits better the purpose of this paper.

Definition 1 (Minimum Convex Partition problem).

Given a set of points in the plane and a natural number , is it possible to find at most closed convex polygons whose vertex sets are points of , with the following properties:

  • The union of the polygons is the convex hull of ,

  • The interiors of the polygons don’t intersect pairwise,

  • The interior of each polygon does not contain a point of .

The organisers of the CG Challenge 2020 mention that the complexity of this problem is unknown. Some partial results are known, when it is assumed that no three points are on a line. For some constrained point sets, Fevens, Meijer and Rappaport gave a polynomial time algorithm [3]. Keeping only the assumption that no three points are collinear, Knauer and Spillner have shown a -approximation algorithm [6]. They also ask for the complexity of the Minimum Convex Partition problem. On a related note, Sakai and Urrutia have shown that for every set of points, there exists a convex partition with at most polygons [9]. Their proof can be adapted into a polynomial-time algorithm. Concerning lower bounds, García-Lopez and Nicolás have given a point set for which any convex partition has at least polygons. They later improved on this result, showing a lower bound of  [4]

. An integer linear programming formulation of the problem, along with experimental results, has been recently introduced by Barboza, Souza and Rezende 

[1]. Recall that all those results, concerning algorithms and bounds, are shown for point sets in general position. However this is not assumed in the CG Challenge 2020. In this paper, we show that the problem is NP-complete by a reduction from a modified version of planar -SAT. In our reduction, many triplets of points are collinear. Therefore, finding the complexity of Minimum Convex Partition of point sets in general position is still open.

We also show the NP-hardness of a similar problem, that we call Minimum Convex Tiling problem (MCT). The problem is exactly as in Definition 1, but the constrain about the vertex sets of the polygons is removed (i.e. they need not to be points of ). This can make a difference as shown in Figure 1. Equivalently, the MCT problem corresponds to the MCP problem when Steiner points are allowed. Our proofs are very similar for the two problems. We will give all details concerning the NP-hardness proof of MCT, and state afterwards how to adapt it for MCP.

Figure 1: A partition with three convex polygons, and a tiling with two.

Our proof builds upon gadgets introduced by Lingas [8]. He used them to prove NP-hardness of two decision problems: Minimum Rectangular Partition for rectangles with point holes and Minimum Convex Partition for polygons with polygon holes. In the second problem, Steiner points are allowed. This is the reason why we first consider the MCT problem, as it is closer to what Lingas studied. However, as noted by Keil [5], one can easily adapt Lingas’ proof in order not to use Steiner points. That is what we do in a second part to prove NP-hardness of the MCP problem. The two proofs of Lingas are extremely similar, and consist in a reduction from the following variation of planar -SAT. The instances are a CNF formula with set of variables and set of clauses , and a planar bipartite graph , such that there is an edge between a variable and a clause if and only if or is a literal of . Moreover, each clause contains either two literals or three, and in this last case the clause must contain at least one positive and one negative literal. Lingas refers to this decision problem as the Modified Planar -SAT (MPLSAT).

Lingas claims that planar satisfiability can easily be reduced to MPLSAT by adding new variables. As planar satisfiability was shown to be NP-complete by Lichtenstein [7], this would imply that MPLSAT is NP-complete too. For the sake of completeness, let us remark that it is not clear why adding these new variables would not break the planarity of the graph. This can be solved by considering the following lemma of Lichtenstein:

Lemma 1 (Lichtenstein [7]).

Planar satisfiability is still NP-complete even when, at every variable node, all the arcs representing positive instances of the variable are incident to one side of the node and all the arcs representing negative instances are incident to the other side.

This lemma can easily be strengthen to the case of planar -SAT as noted by Lichtenstein, and explicitly done by Tippenhauer [10] in his Master’s thesis. From here a reduction to MPLSAT becomes indeed straightforward. The main result of this paper is as follow:

Theorem 1.

MPLSAT can be reduced in polynomial time to MCP, and to MCT.

As it is easy to see that MCP is in NP, Theorem 1 implies that MCP is NP-complete. The question whether MCT is in NP is still open.

2 Construction of the point set

We will construct the point set in three steps. First we construct a non-simple polygon, in a very similar way as in Lingas’ proof, with few more constraints. Secondly we add some line segments to build a grid around the polygon, and finally we discretise all line segments into sets of collinear points, evenly spaced. The idea of the first part is to mimic Lingas’ proof. The second part makes the correctness proof easier, and the last part transforms the construction into our setting. The aim of the grid is to force the sets in a minimal convex tiling to be rectangular.

We use the gadgets introduced by Lingas, namely cranked wires and junctions [8]. A section of a wire is shown in Figure 2. It consists of a loop delimited by two polygons, one inside the other. In Lingas’ construction, the two polygons are simple, and a wire is therefore a polygon with one hole. Moreover in his proof the dimensions of the cranks do not matter. In our case, the polygon inside is not simple, and each line segment has unit length. Each wire is bent several times with an angle of , as shown in Figure 2, in order to close the loop.

Figure 2: A section of a wire.

The wires are used to encode the values of the variables. There is a wire for each variable, and there are exactly two optimal tilings (see Figure 3):

Figure 3: A section of a wire and its optimal tilings.
Lemma 2 (Lingas [8]).

A minimum tiling with convex sets of a wire uses either horizontal or vertical rectangles but not both. Any other tiling requires at least one additional convex set.

As in Lingas’ proof, we interpret the vertical tiling as setting the variable to true, and the horizontal as false. The second tool is called a junction, and a it serves to replace a clause. Figure 4 depicts a junction corresponding to a clause of three literals. A junction has three arms, represented as dashed black line segments. A junction for a clause of two literals is obtained by blocking one of the arms of the junction. The blue line segments have length , for a fixed arbitrarily small. Therefore the red line segments are not aligned with the long black line segment to the left of the junction. A junction can be in four different orientations, which can be obtained successively by making rotations of . Let us consider the orientation of the junction in Figure 4. One wire is connected from above, one from below, and one from the left. A wire can only be connected to a junction at one of its bends (see Figure 2). We then remove the line segment corresponding to the arm of the junction, as illustrated in Figure 4.

If the tiling of the wire connected from above is vertical, then one of the rectangles can be prolonged into the junction. The same holds for the wire connected from below. On the contrary, a rectangle can be prolonged from the wire connected from the left only if the tiling is horizontal. If a rectangle can be prolonged, we say that the wire sends true, otherwise it sends false. If a clause contains two positive literals and one negative , the corresponding junction will be as in Figure 4, or the rotation of it. The wire corresponding to will be connected from the left or right, and the wires corresponding to and will be connected from above and below, or vice versa. Therefore, the wire corresponding to (respectively ) sends true if and only if (respectively ) is set to true. On the contrary, the wire corresponding to sends true if and only if is set to false. If the clause has two negative literals, then the junction will be horizontal, and the junction will behave likewise.

Lingas proved that when trying to minimise the number of convex polygons in a tiling, it should be that for each junction at least one adjacent wire sends true. Indeed in Figure 4, we have represented four rectangles delimited by dashed brown and black line segments. But whenever a rectangle from a wire can be prolonged, it is always possible to prolong it so that it contains the small rectangle in the middle. Moreover, because of the fact that the length of the blue line segments is bigger than , it is not optimal to have a rectangle intersecting two wires. Before stating this lemma exactly, we need to explain the first step of the construction of the point set.

Figure 4: A junction for the MCT problem.

2.1 Construction of the polygon with holes

Let us consider one instance of MPLSAT. Following the result of de Fraysseix, Pach and Pollack [2], we can embed in a grid a of size , where denotes the vertex set of . We want the following property: Let be the line segment incident to in the edge , where is a variable and a clause. Our constraint is that appears positively in if and only if is vertical. Moreover we impose to be of length at least . It is clear that we can find an embedding of on another grid, still of size , that satisfies our constraint.

Now we replace each clause by a junction, and each set of the form by a wire. As introduced in the definition of the junctions is arbitrarily small, we can consider that all line segments of junctions and wires are segments of a grid. For sake of simplicity, we will from now on omit to mention that some line segments are not exactly on the grid. Again, it is possible to find an embedding in a grid of size , such that wires don’t intersect, and a wire is connected to a junction if and only the variable corresponding to the wire is contained in the clause corresponding to the junction. This embedding is the same as in Lingas’ proof, with the added property that the figure is embedded in a grid of quadratic size. We denote the polygon with holes that we have obtained by . We can now state Lingas’ lemma:

Lemma 3 (Lingas [8]).

In a minimum tiling with convex sets of , a junction contains wholly at least three convex sets. The junction contains wholly exactly three if and only if at least one of the wires connected to the junction sends true.

2.2 Discretisation of the line segments

Before doing the discretisation, we add more line segments. Let us consider our polygon with holes and the grid . It consists of points with integer coordinates, and line segments between points that are at Manhattan distance . We add to the figure each line segment of whose interior is not contained in the interior of . Notice that therefore we add line segments outside , but also inside its holes. Notice that the figure that we obtain, denoted by is included in .

Now we define as twice the number of squares in plus . Finally, we replace each line segment in the figure by points evenly spaced. We denote this point set by .

3 Proof of correctness

In this section, we prove the following:

Lemma 4.

In a minimal convex tiling of , for each convex set , the interior of does not intersect .

Let denotes the number of squares in , plus the minimum number of rectangles in a partition of the wires, plus three times the number of clauses. Using Lemmas 2 and 3 shown by Lingas coupled with Lemma 4, we immediately obtain the following theorem:

Theorem 2.

The formula is satisfiable if and only if there exists a convex tiling of with polygons.

Since can be constructed in polynomial time, and can be computed as fast, Theorem 2 implies Theorem 1 for the MCT problem. Before showing Lemma 4, we introduce some intermediary lemmas. We also introduce the following notation: For a set , denotes the area of .

Lemma 5.

Let and be two squares in , and be a convex polygon whose interior does not contain any point in . If and , then the boundary of does not cross a line segment of between and .


The proof is by contrapositive, and is illustrated in Figure 5. Let us consider whose boundary crosses a line segment of between two squares and , and let us assume . By definition, goes between two points and at distance . Let us consider the two line segments and of the boundary of that intersects the line spawned by and . Assume by contradiction that the lines spawned by and intersect on the side of where lies. This implies that is contained in a parallelogram or a trapezoid that has small area. Indeed such parallelogram has base and height , therefore in this case . If is contained in a trapezoid, one can divide it into two triangles such that both areas are at most . This shows that the lines spawned by and intersect on the side of where lies. Using the same arguments as above, this implies . ∎

Figure 5: If , the two lines cannot be parallel.
Lemma 6.

Let be a rectilinear polygon on whose interior does not contain any point in . Let be a set of squares of contained in , such that no two of them are on the same line or same column. Let be a minimal convex partition of . Let be an element of , such that for each , we have . Then there exist squares in and convex sets in , such that for any square we have .


Let denotes . We assume , otherwise there is nothing to prove. Using Lemma 5, we know that if such an exists, then there are no line segment of between any two squares in . We can observe thanks to how wires and junctions are defined that is at most three. Moreover for the same reason, there are squares in such that the area of their intersection with is at most , as illustrated in Figure 6. As is bigger than twice the number of squares in , there exists a set for each such square , with . Moreover by iterating this process we can choose these convex sets so that they are distinct. By construction, for any such tuple and any square not in , there is a line segment in between and . We conclude with Lemma 5. ∎

Figure 6: If , then and .
Proof of Lemma 4.

We define a map that that associates each square in to a convex set such that . Such a set exists since otherwise we would need more than sets only to fill the square . Now we define a map in several steps. We start from . At step , find and on the same line or the same column, and between them, such that . If this is not possible then stop. Otherwise define as identically equal to , except for all square between and , that are mapped to . Notice that keeps the property that for each square , we have . Moreover, this procedure must stop eventually because the convex sets are non-overlapping. We denote by the map obtained after the last iteration.

We denote by the function that maps a set to . By Lemma 6, if for some there are squares in that are pairwise not on line nor on a column, then there exists at least convex sets such that for each , . Moreover, such a cannot appear when considering another element of : If Lemma  6 when applied to gives the existence of the , and when applied to gives the existence of the , then all these convex sets are distinct. We denote by the number of such sets, taken over all sets with .

We are going to partition into at most rectilinear sets (not necessarily convex). We denote by the partition. For each set such that , we add in the square in . For each such that , we add in the rectilinear polygon consisting of the union of the squares in . We know thanks to Lemma 5 that the boundary of this rectilinear polygon does not cross any line segment in . Following what was argued above, there are at most sets in . We now construct a new convex tiling , that we claim to be minimal. We replace each set in that is not convex by rectangles. From the construction of wires and junctions, there exists a partition of the sets in into rectangles that will add new sets. Looking at the construction of and then , we can observe that the convex tiling was minimal if and only if there were no set such that its interior intersects . ∎

Let us explain how to adapt the proof to the case of the MCP problem. Notice that the only lemma for which it makes a difference is Lemma 3. Indeed, if in Figure 4 the wire connected from below sends true, then one can prolong a rectangle of this wire so that it contains the small rectangle in the junction. Therefore only three rectangles are wholly contained in the junction. However, the vertex on the top left of the prolonged rectangle is not a point of . This can be solved by adding a line segment to the construction, coloured in red in Figure 7. With this construction, the rectangle is prolonged into a trapezoid (delimited above by the dashed red line segment). The convex set above remains a rectangle, and the one to the left becomes a quadrilateral with a right angle. Now one can adapt the proof by taking into account this new triangular hole that has been inserted in each junction. The proof can then be done similarly to the one of the MCT problem.

Figure 7: A junction for the MCP problem.

4 Open problems

It is still open whether MCT is in NP. It may be that the coordinates of a vertex of a polygon require exponentially many bits to be written. We also don’t know the complexity of MCP and MCT when it is assumed that no three points are collinear. A key property used for our proof can be summarised as follow: When a rectangle with large area is delimited by a lot of points, it is optimal to take this rectangle in the convex tiling or partition. But this cannot be achieved when no three points are on a line, as illustrated in Figure 8. In any convex partition the red edges are forced. Even in a convex tiling, one can observe that they are needed for the tiling to be minimal. This implies that three convex sets are necessary. But adding the convex set consisting of the points in convex position would add one non-necessary convex set. Adding more points to delimit the convex set cannot change the fact that taking this convex set in the tiling would not be optimal. The construction can easily be adapted for the MCP problem. Therefore it is not clear how one could force some convex sets to be in the partition or tiling.

Figure 8: An optimal tiling splits the area delimited by points in convex position.


  • [1] Allan S Barboza, Cid C de Souza, and Pedro J de Rezende. Minimum convex partition of point sets. In International Conference on Algorithms and Complexity, pages 25–37. Springer, 2019.
  • [2] Hubert De Fraysseix, János Pach, and Richard Pollack. How to draw a planar graph on a grid. Combinatorica, 10(1):41–51, 1990.
  • [3] Thomas Fevens, Henk Meijer, and David Rappaport. Minimum convex partition of a constrained point set. Discrete Applied Mathematics, 109(1-2):95–107, 2001.
  • [4] Jesús García-López and Carlos M Nicolás. Planar point sets with large minimum convex decompositions. Graphs and Combinatorics, 29(5):1347–1353, 2013.
  • [5] J Mark Keil. Decomposing a polygon into simpler components. SIAM Journal on Computing, 14(4):799–817, 1985.
  • [6] Christian Knauer and Andreas Spillner. Approximation algorithms for the minimum convex partition problem. In Scandinavian Workshop on Algorithm Theory, pages 232–241. Springer, 2006.
  • [7] David Lichtenstein. Planar formulae and their uses. SIAM journal on computing, 11(2):329–343, 1982.
  • [8] Andrzej Lingas. The power of non-rectilinear holes. In International Colloquium on Automata, Languages, and Programming, pages 369–383. Springer, 1982.
  • [9] Toshinori Sakai and Jorge Urrutia. Convex decompositions of point sets in the plane. arXiv preprint arXiv:1909.06105, 2019.
  • [10] Simon Tippenhauer and Wolfgang Muzler. On planar 3-sat and its variants. Fachbereich Mathematik und Informatik der Freien Universitat Berlin, 2016.