The computational complexity of integer programming with alternations
Danny Nguyen, Igor Pak

TL;DR
This paper establishes that integer programming with three quantifier alternations is NP-complete, even with a fixed number of variables, and explores the complexity of counting integer points in polytope projections.
Contribution
It proves NP-completeness for three-quantifier integer programming and shows counting projections of integer points in certain polytopes is #P-complete, extending previous polynomial-time results.
Findings
Integer programming with three quantifier alternations is NP-complete.
Counting integer points in projections of certain polytopes is #P-complete.
Polynomial-time algorithms exist for at most two quantifier alternations.
Abstract
We prove that integer programming with three quantifier alternations is -complete, even for a fixed number of variables. This complements earlier results by Lenstra and Kannan, which together say that integer programming with at most two quantifier alternations can be done in polynomial time for a fixed number of variables. As a byproduct of the proof, we show that for two polytopes , counting the projection of integer points in is -complete. This contrasts the 2003 result by Barvinok and Woods, which allows counting in polynomial time the projection of integer points in and separately.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
The computational complexity of integer programming with alternations
Danny Nguyen*⋆* and Igor Pak*⋆*
Abstract.
We prove that integer programming with three alternating quantifiers is NP-complete, even for a fixed number of variables. This complements earlier results by Lenstra and Kannan, which together say that integer programming with at most two alternating quantifiers can be done in polynomial time for a fixed number of variables. As a byproduct of the proof, we show that for two polytopes , counting the projection of integer points in is #P-complete. This contrasts the 2003 result by Barvinok and Woods, which allows counting in polynomial time the projection of integer points in and separately.
⋆Department of Mathematics, UCLA, Los Angeles, CA, 90095. Email: {ldnguyen, pak}@math.ucla.edu
1. Introduction
1.1. Background
In a pioneer paper [Len83], Lenstra showed that Integer Programming in a bounded dimension can be solved in polynomial time. The next breakthrough was obtained by Kannan in 1990 and until recently remained the most general result in this direction (see [Eis10]).
Theorem 1.1** (Parametric Integer Programming [Kan90]).**
Fix and . Given a polyhedron , a matrix and a vector , the following sentence can be decided in polynomial time:
[TABLE]
Here is given by a system , with and . The numbers are part of the input.
In [Kan92], Kannan asked if Theorem 1.1 can be extended to three alternating quantifiers. We give an answer in the negative direction to this question:
Theorem 1.2**.**
Fix and . Given two polyhedra , , a matrix and a vector , then deciding the sentence
[TABLE]
is an NP-complete problem. Here and are given by two systems and , with , , , and .
Let us emphasize that in both Theorem 1.1 and 1.2, there is no bound on the number of inequalities invovled. In other words, the parameters and are not fixed. Theorem 1.2 is especially surprising for the following reasons. First, in [NP17a], we gave strong evidence that (1.2) is decidable in polynomial time if and are fixed. Second, by an easy application of the Doignon–Bell–Scarf theorem, (1.1) is polynomial time reducible to the case with and fixed. Unfortunately, this simple reduction breaks down when there are more than two quantifiers (see Section 8.1) as in (1.2). Still, in [NP17a], we speculated that a more involved reduction argument might still apply to (1.2). Theorem 1.2 refutes the possibility of any reduction from (1.2) to an easier form with and bounded for which decision could be in polynomial time, unless . In fact, Theorem 1.2 holds even when is an interval and is an axis-parallel rectangles (see Theorem 4.1 and 8.8). Thus, the problem (1.2) is already hard when are fixed and only is unbounded.
In [Sch97], Schöning proved that it is NP-complete to decide whether
[TABLE]
Compared to (1.2), this has only two quantifiers. However, here the expression is allowed to contain both conjunctions and disjunctions of many inequalities. So Theorem 1.2 tells us that disjunctions can be discarded at the cost of adding one extra alternation. In the next subsection, we generalize this observation.
On can also consider a “hybrid” version of (1.2) and (1.3) with only quantifiers and only disjunctions in . In Section 7, we show this is still NP-complete to decide.
1.2. Presburger sentences
In [Grä87], Grädel considered the theory of Presburger Arithmetic, and proved many completeness results in this theory when the number of variables and quantifiers are bounded. Those results were later strengthened by Schöning in [Sch97]. They can be summed up as follows:
Theorem 1.3** ([Sch97]).**
Fix . Let be a Boolean combination of linear inequalities with integer coefficients in the variables and . Then deciding the sentence
[TABLE]
is -complete if , and -complete if . Here are alternating quantifiers.
This result characterizes the complexity of so called Presburger sentences with quantifiers in a fixed number of variables. The main difference between Presburger Arithmetic versus integer programming is that the expression allows both conjunction and disjunction of many inequalities. This flexibility allows effective reductions of classical decision problems such as QSAT. For some time, it remains a question whether such reductions can be carried with only conjunctions, and at the same time keeping the number of variables fixed. We prove the following result, which generalizes Theorem 1.2:
Theorem 1.4**.**
Integer programming in a fixed number of variables with alternating quantifiers is -complete, depending on whether . Here the problem is allowed to contain only a system of inequalities.
We refer to Theorem 5.1 for the precise statement. Thus, we see that integer programming requires only one more quantifier alternation to achieve the same complexity as Presburger Arithmetic. Again, we emphasize that while the number of variables and quantifiers are fixed in Theorem 1.4, the linear system is still allowed many inequalities.
1.3. Counting points in projections of non-convex polyhedra
For polytopes in arbitrary dimension, counting the number of integer points points is classically #P-complete, even for 0/1 polytopes. In a fixed dimension , Barvinok famously showed this can be done in polynomial time:
Theorem 1.5** ([Bar93]).**
Fix . Given a polytope , the number of integer points in can be computed in polynomial time. Here is described by a system , with .
For a set , denote by . The previous results say that is computable in polynomial time. Given two polytopes , we clearly have . So the number of integer points in a complement can also be computed effectively.
Theorem 1.5 was later generalized by Barvinok and Woods to count the number of integer points in projections of polytopes:
Theorem 1.6** ([BW03]).**
Fix and . Given a polytope , and a linear transformation , the number of integer points in can be computed in polynomial time. Here is described by a system and is described by a matrix , where and .
For a set , denote by the projection of on the first coordinate, i.e.,
[TABLE]
By Theorem 1.6, can be computed in polynomial time for every polytope .
We prove the following result:
Theorem 1.7**.**
Given two polytopes , computing is #P-complete.
In other words, it is #P-complete to compute the size of the set
[TABLE]
Note that the corresponding decision problem is equivalent to , and thus can be decided in polynomial time by applying Theorem 1.5.
The contrast between Theorem 1.6 and our negative result can be explained as follows. The proof Theorem 1.6 depends on the polytopal structure of and exploited convexity in a crucial way. By taking the complement , we no longer have a convex set. In other words, we show that projection of the complement is complicated enough to allow encoding of hard counting problems, even in (see also 8.5).
Remark 1.8**.**
To understand the theorem, consider three examples of polygons as in Figure 1. Note that the sets of integer points of the vertical projections of and are the same in all three cases, but the sets number of integer points of the vertical projections of are quite different.
As an easy consequence of Theorem 1.7 we obtain:
Corollary 1.9**.**
Given simplices , computing is #P-complete.
1.4. Outline of the paper
We begin with notations (Section 2) and a geometric construction of certain polytopes based on Fibonacci numbers (Section 3). In Section 4 we use this construction to prove Theorem 1.2 via a reduction of the GOOD SIMULTANEOUS APPROXIMATION (GSA) Problem in Number Theory, which is known to be NP-complete. The proof of Theorem 1.4 is via a reduction of QSAT (Section 5). The proof of Theorem 1.7 follows a similar route via reduction of #GSA (Section 6). Then we show that a “hybrid” version of (1.2) and (1.3) with only quantifiers and disjunctions is still NP-complete to decide (Section 7). Finally, we conclude with final remarks and open problems (Section 8).
2. Notations
We use and .
All constant vectors are denoted etc.
Matrices are denoted , etc.
Variables are denoted , etc.; vectors of variables are denoted , etc.
We write if for all .
A polyhedron is an intersection of finitely many closed half-spaces in .
A polytope is a bounded polyhedron.
Polyhedra and polytopes are denoted by , etc.
3. Geometric constructions and properties
3.1. Fibonacci points
We consider the first Fibonacci numbers:
[TABLE]
From these, we construct integer points:
[TABLE]
Let
[TABLE]
We have . Denote by the curve consisting of segments connecting to for .
We also define the following two polygons. Their properties will be mentioned later.
[TABLE]
and
[TABLE]
The following properties are straightforward from the above definitions:
- (F1)
The points are in convex position. The curve connecting them is convex (upwards). See Figure 2. 2. (F2)
Each segment and each triangle has no interior integer points. This can be deduced from the facts that two consecutive Fibonacci numbers are coprime, and also
[TABLE] 3. (F3)
The set of integer points in can be partitioned into parts: those lying strictly above the convex curve , and those lying strictly below it. 4. (F4)
The part of lying above is exactly . This can be seen as follows. The line connecting [math] and is defined by:
[TABLE]
So every integer point lying above satisfies:
[TABLE]
By property (F2), there are no integer points between and . The other two edges of come from . See Figure 2. 5. (F5)
The part of lying below is exactly . This can be seen as follows. The line connecting and is defined by
[TABLE]
So all integer points below that line satisfies:
[TABLE]
This gives faces for , one for each . The other two faces of come from from . See Figure 2.
3.2. The polytopes
Given and , for each , we define a polygon:
[TABLE]
Next, for each , we define a new polygon
[TABLE]
Finally, we define the convex hull:
[TABLE]
The following properties are straightforward from the above definitions:
- (P1)
Each is a parallelogram with vertices \big{\{}(1,\alpha_{i}\pm\epsilon),\,(N,\alpha_{i}N\pm\epsilon)\big{\}}. 2. (P2)
Each is a parallelogram in (i.e., a Minkowski sum of two intervals), with vertices \big{\{}(1,\phi_{i},\alpha_{i}\pm\epsilon),\,(N,\phi_{i},\alpha_{i}N\pm\epsilon)\big{\}}. 3. (P3)
The set of all vertices from are in convex position. Each forms a -dimensional face of . This follows from from (3.6) and (F1). 4. (P4)
The polytope has vertices, which are all the vertices of . 5. (P5)
For every vertex of , we have for some . Conversely, for every , we have:
[TABLE]
We will be using these properties in the latter sections.
4. Proof of Theorem 1.2
4.1.
By a box in , we mean the set of integer points of the form . We will prove the following stronger version of Theorem 1.2.
Theorem 4.1**.**
Given a polytope and two finite boxes , , deciding the sentence
[TABLE]
is an NP-complete problem. Here is described by a system , where and .
Since low dimensional boxes can be easily embedded into higher dimensions, the above implies Theorem 1.2 for every and . Compared to Theorem 1.2, all parameters in the above theorem are fixed, except for . So from now on, the symbols and will be reused for other purposes. For a vector and an integer , we define
[TABLE]
where for each rational , the quantity is defined as:
[TABLE]
[TABLE]
Note that GSA is only non-trivial for . We need the following result by Lagarias:
Theorem 4.2** ([Lag85]).**
GSA* is NP-complete.*
Let us emphasize that in GSA, the number is part of the input. If is fixed instead, then the problem can be decided in polynomial time (see [Lag85] and [GLS89, Ch. 5]). What follows is a reduction of GSA to a sentence of the form (4.1). GSA can be expressed as an integer programming problem:
[TABLE]
The inequalities on can be expressed as , where was defined in (3.5). Letting , we see that GSA is equivalent to deciding:
[TABLE]
Lemma 4.3**.**
Let be as in (3.2) and be as in (3.7). We have:
[TABLE]
Proof.
Indeed, assume , i.e., satisfies GSA. By (4.4), for every , there exists with . Now (P5) implies that . Since this holds for every , the RHS in (4.5) is satisfied. For the other direction, assume the RHS in (4.5) holds. Then for every , there exists with . By (P5), we have . By (4.4), satisfies GSA, i.e., . ∎
By the above lemma, GSA is equivalent to:
[TABLE]
Consider from (3.2), which contains . We can rewrite the above sentence as:
[TABLE]
Recall the polygons and defined in (3.3) and (3.4). By properties (F3), (F4) and (F5), we can rewrite as . Now, we can rewrite (4.7) as:
[TABLE]
Next, define two polytopes and as follows:
[TABLE]
Polytopes and are defined in such a way so that for every and , we have if and only if there exists such that .111Such a must automatically be [math] by the definition of . Now, it is clear that (4.8) is equivalent to:
[TABLE]
which is equivalent to:
[TABLE]
The difference between (4.10) and (4.1) is that we have polytopes instead of just one.
4.2.
The final step is two compress three polytopes and into one polytope. Recall from (P4) that has vertices, which correspond to the vertices of all for . The vertices of and can be computed in polynomial time from systems (3.3) and (3.4). From there we easily get the vertices of and . Since and are in the fixed dimension , we can write down all their facets in polynomial time using their vertices. So we can represent:
[TABLE]
The above three systems all have lengths polynomial in the input and . Next, we need the following lemma:
Lemma 4.4**.**
Fix and . Given polytopes described by systems
[TABLE]
there is a polytope , where , such that
[TABLE]
Furthermore, the system that describes can be found in polynomial time, given ’s and ’s as input.
Proof.
Let , we have . Pick as different vertices of the -dimensional unit cube. Define
[TABLE]
and
[TABLE]
In other words, we form by augmenting each with coordinates of . Since are in convex position, so are the new polytopes . So the vertices of are all the vertices of all . Note that for every , we have if and only if for some . This implies that the only integer points in are those in ’s. In other words:
[TABLE]
So we have (4.12).
For each , its vertices can be computed in polynomial time from the system . From these, we easily get the vertices for each . Thus, we can find all vertices of in polynomial time. Note that is in a fixed dimesion , since and are fixed. Therefore, we can find in polynomial time all the facets of using those vertices. This gives us a system of polynomial length that describes . ∎
Applying the above lemma for three polytopes and with and , we find a polytope such that:
[TABLE]
Here we have , which means and . The lemma also allows us to find a system that describes , which has size polynomial in the systems in (4.11). Now, we can rewrite (4.10) as:
[TABLE]
which is equivalent to
[TABLE]
Here . The final system still has size polynomial in the original input and . Therefore, the original GSA problem is equivalent to (4.1). This implies that (4.1) is NP-hard.
It remains to show that (4.1) is in NP. We argue that more general sentence (1.2) is also in NP. From a result in [Grä87], if (1.2) is true, there must be an satisfying it with length polynomial in the input and . For such an , we can apply Theorem 1.1 to check the rest of the sentence, which has the form , in polynomial time. This shows that deciding (1.2) is in NP, and thus NP-complete.
5. Proof of Theorem 1.4
Recall the definition of boxes from Section 4. In this section, we prove:
Theorem 5.1**.**
Fix . Given a polytope and finite boxes , , , then the problem of deciding:
[TABLE]
is complete if , and complete if . Here are alternating quantifiers with . The polytope is described by a system , where and .
For the proof, we work with the canonical problem Q3SAT. Let a Boolean expression of the form:
[TABLE]
Here each is a tuple of Boolean variables, and each is a literal in the set . From , we construct a sentence:
[TABLE]
Here are alternating quantifiers with . The numbers and are part of the input.
[TABLE]
For clarity, we use the notation to emphasize problem (5.3) for a fixed . It is well-known that is -complete if and -complete if (see e.g. [Pap94, MM11] and [AB09]). We proceed to reduce (5.3) to (5.1). In fact, by representing each Boolean string as an integer , we will only need to use .
For every string , let be the corresponding integer in binary. Then is true or false respectively when the -th binary digit of is or [math]. In other words, is true or false respectively when is odd or even. Observe that is the only integer that satisfies . Now, each term or can be expressed in as follows:
[TABLE]
Let . Recall that each term in (5.2) is or for some and . So each clause can be expressed in as:
[TABLE]
where three systems are of the form (5.4) (with different and for each). Note that the strict inequalities in (5.4) can be sharpened without losing any integer solutions (see Remark 6.2). We define the polytopes:
[TABLE]
So the RHS in (5.5) can be rewritten as:
[TABLE]
Let , we see that (5.3) is equivalent to:
[TABLE]
For each , we apply Lemma 4.4 (with ) to the polytopes . This gives us another polytope that satisfies:
[TABLE]
Substituting this into (5.6), we have an equivalent sentence:
[TABLE]
where , and each .
Notice that apart from the outer quantifiers, (5.7) is a direct analogue of (4.4), with playing the role of and in place of . The proof now proceeds similarly to the rest of Section 4 after (4.4). Along the proof, we need to define and in similar manners to (3.6) and (3.7). The variable is again needed to define . and from (3.2) are reused without change. This gives us . At the end of the proof, we also need to apply Lemma 4.4 one more time to produce a single polytope , just like in (4.13). The dimension in (4.13) is now . As a result, the final polytope has dimension . In the final form (5.1), we will have and .
We have converted (5.3) to an equivalent sentence (5.1) with polynomial size. This shows that (5.1) is /-hard depending when . For each tuple , we can check in polynomial time whether by applying Theorem 1.1. This shows the membership of (5.1) in /. We conclude that (5.1) is /-complete when .
6. Proof of Theorem 1.7
6.1.
Now we prove Theorem 1.7. We use the same construction as in the proof of Theorem 1.2. Recall the definition of from Section 4. We reduce the following counting problem to a problem of the form (1.4):
[TABLE]
The argument in [Lag85] is based on a parsimonious reduction. Namely, it gives a bijection between solutions for and the following problem:
[TABLE]
It is well known and easy to see that #WEAK PARTITIONS is #P-complete. The decision version WEAK PARTITION was earlier shown by [vEB81] to be NP-complete with a parsimonious reduction from KNAPSACK. Together with Lagarias’s reduction, we conclude:
Theorem 6.1**.**
#GSA* is #P-complete.*
6.2.
Now we proceed with the reduction of #GSA to (1.4).
Just like the decision version, #GSA is only non-trivial for . Define:
[TABLE]
Let . We have:
Observation 1**.**
An satisfies if and only if for every , there is no such that .
Indeed, consider . By (4.3), we have if and only if for each , there exists with . This interval of length is contained in . The latter is a half-open unit interval, which always contains a unique integer . So if and only if . In other words, for each , there should be no with . The converse is also straightforward.
Remark 6.2**.**
Note that each has two open edges. They can actually sharpened without affecting the integer points in . Indeed, we can multiply each inequality with the denominators in and , which have polynomial length. Each resulting inequality is of the form , with and having integer values. This is equivalent to . Therefore, we can replace with a (smaller) closed parallelogram containing the same integer points.
By the above observation, #GSA asks for:
[TABLE]
We convert the union of into a complement of two polytopes .
6.3.
Let . Pick integers so that
[TABLE]
We embed each parallelogram into as
[TABLE]
In other words, we translate by in the direction , and embed it into the plane inside (see Figure 3). The following is obvious:
Observation 2**.**
For each and , there exists with if and only if there exists with .
Denote by and the vertices of . Let and for each . Define:
[TABLE]
Since for each , we have . It is also clear that:
[TABLE]
Denote by the plane .
Observation 3**.**
We have . Similarly, .
Indeed, from (6.5), it is clear that lies in both and the plane . On the other hand, if , it must be a convex combination of for . First, assume that
[TABLE]
From (6.1) and (6.4), the -coordinates of are within the range . For and , their -coordinates are [math]. Therefore, by the convexity condition (6.3), any point as in (6.7) must have . This implies that (x,i,w)\in{\text{\rm{conv}}}\big{\{}A_{i},B_{i},K_{i},L_{i}\big{\}}, because the -coordinates of and are at least . So we have
[TABLE]
Adding and to the LHS, we have
[TABLE]
This proves the observation for . The same argument works for .
By Observation 3, for , we have if and only if
[TABLE]
for some . Combined with (6.6) and Observation 2, for every , we have:
[TABLE]
From (6.2), we conclude that #GSA is exactly:
[TABLE]
Let we have Theorem 1.7.
6.4. Proof of Corollary 1.9
By Theorem 1.7, counting is #P-complete for . Nevertheless, the complement can still be triangulated into polynomially many simplices . In fact, by an application of Proposition 5.2.2 in [Woo15], the systems describing all such can be found in polynomial time. Therefore, counting is #P-complete.
7. Another hard decision problem
Our construction with Fibonacci points also yields the following completeness result with only quantifiers:
Theorem 7.1**.**
Given three polytopes and two boxes , deciding the sentence:
[TABLE]
is NP-complete.
Here the condition is expressed as a disjunction of three systems in four variables . Instead of many as in (1.3), we only need only disjunctions to express . Also notice that the quantifiers are as opposed to in Theorem 1.1.
Sketch of proof.
We again find a reduction of GSA. Let . Recall from (3.5). For every , define two new polygons:
[TABLE]
Observation 4**.**
For every and , we have:
[TABLE]
Indeed, by (3.5), we have if and only if contains an integer point . Also notice that and
[TABLE]
Since is a half-open unit interval, it contains a unique integer point . So lies in if and only if
[TABLE]
This last condition is exactly the RHS in (7.2).
Recall the Fibonacci points . We construct similarly to (3.6) and similarly to (3.7) using the same Fibonacci points. As a direct analogy to (4.6), GSA is equivalent to:
[TABLE]
Recall from (3.2). Let K=J\times\big{(}[-1,T]\cap\mathbb{Z}\big{)}, which is a box in . Let . Also recall and from (3.3) and (3.4). Define
[TABLE]
From properties (F3)–(F5), it is not hard to see that (7.3) is equivalent to:
[TABLE]
∎
8. Final remarks and open problems
8.1.
It is sufficient to prove Theorem 1.1 for the case when are also bounded. In the system , we view as the parameters and as the variables to be solved for. For a fixed and , the Doignon–Bell–Scarf theorem [Sch86, 16.5] implies that the system is solvable in if and only if every subsystem is solvable. Here is a submatrix with rows from with the corresponding subvector from . In other words:
[TABLE]
The total number of pairs is , which is polynomial in .
Note that the conjunction over all commutes with the universal quantifier . Therefore:
[TABLE]
Thus, it is equivalent to check each of the smaller subproblems, each of which has . Recall that the number of facets in is , which can still be large. However, given the system describing , we can triangulate into to a union of simplices . Since the dimension is bounded, we can find such a triangulation in polynomial time (see e.g. [DRS10]). Now for each pair , we have:
[TABLE]
Each simplex has facets. Each subsentence in the RHS now has and . Note that the total number of such subsentences is still polynomial, so it suffices to check each of them individually.
For three quantifiers , this argument breaks down because the existential quantifier no longer commutes with a long conjunction.
8.2.
By taking finite Boolean combinations, we see that Theorem 1.5 also allows counting integer points in a union of polytopes, where is bounded (see [Bar08, BP99]). In fact, Woods proved in [Woo15, Prop. 5.3.1] that it is still possible to count all such points in polynomial time when is arbitrary. By Corollary 1.9, we see that this is not the case for projection.
8.3.
The GSA Problem plays an important role in both Number Theory and Integer Programming especially in connection to lattice reduction algorithms (see e.g. [GLS89]). Let us mention that via a chain of parsimonious reductions one can show that #GSA is also hard to approximate (cf. [ER09]). Note also that GSA has been recently used in a somewhat related geometric context in [EH12].
8.4.
An easy consequence of Lemma 4.4 proves the first part of the following result:
Proposition 8.1**.**
Every set is a projection of integer points of some convex polytope , where . Moreover, the bound is tight.
We only use the proposition to reduce the dimension of variable z in Theorem 4.1 from to , but it is perhaps of independent interest. Note that a weaker inequality is trivial.
Proof of the second part of Proposition 8.1.
Consider a set of integer points in convex position and with even coordinates. Assume there is a polytope with so that is exactly the projection of on . Then there are integer points so that . Since , by the pigeonhole principle, we have for some . Then the midpoint of and is an integer point in , which also lies in by convexity. The projection of this midpoint on is , which must lie in . However, the points in are in convex positions and thus contain no midpoints, a contradiction. ∎
8.5.
Let us give another motivation behind Theorem 1.7 and put it into context of our other work. In this paper, we bypass the “short generating function” technology developed for computing for convex polytopes . Note, however, that for as in the theorem, the corresponding short GF is simply the difference , which can still be computed in polynomial time (see [Bar93]). Thus, if one could efficiently present the projection of on as a short generating function of polynomial size, then one would be able to compute , a contradiction. In other words, Theorem 1.7 is an extension of a result by Woods [Woo04], which shows that computing projecting short generating functions is NP-hard. It is also an effective but weaker version of the main result in [NP17c, Th. 1.3], which deals with the size of short GFs of the projections rather than complexity of their computation.
8.6.
Corollary 1.9 says that computing is #P-complete even for simplices . By a stronger version of Theorem 1.6 (see [BW03]), for each polytope , there is a short generating function representing . The union of all those generating functions correspond to . As a corollary we conclude that the union operation on short generating functions is #P-hard to compute. As in 8.5 above, one should compare this to a stronger result [NP17c, Th. 1.1], which says that the union of short generating functions can actually have super-polynomial lengths unless .
8.7.
Dimension in Theorem 1.7 is optimal. Indeed, assume . Then one can decompose , where each is a polygon, so that the projection onto the -axis of each intersects at most one other . This can easily be done by drawing vertical lines through vertices of , which together with will divide into . By Theorem [BW03], we can find a generating function for each in polynomial time. From Corollary 3.7 in [BW03], the union of all can also be found in polynomial time, because each of them intersects at most one another in support. Evaluating , we get the count for .
8.8.
Note that Theorem 4.1 was proved for dimensions and . One can ask if the problem still remains NP-complete when some of these dimensions are lowered. In particular, it would be interesting to see if the following problem is still NP-complete:
[TABLE]
where and are convex polytopes.
Acknowledgements
We are grateful to Iskander Aliev, Matthias Aschenbrenner, Sasha Barvinok, Matt Beck, Artëm Chernikov, Jesús De Loera, Matthias Köppe, Sinai Robins and Kevin Woods for interesting conversations and helpful remarks. The second author was partially supported by the NSF.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[AB 09] S. Arora and B. Barak, Computational complexity: a modern approach , Cambridge Univ. Press, Cambridge, 2009.
- 2[Bar 93] A. Barvinok, A polynomial time algorithm for counting integral points in polyhedra when the fimension is fixed, in Proc. 34th FOCS , IEEE, Los Alamitos, CA, 1993, 566–572.
- 3[Bar 08] A. Barvinok, Integer points in polyhedra , EMS, Zürich, 2008.
- 4[BP 99] A. Barvinok and J. E. Pommersheim, An algorithmic theory of lattice points in polyhedra, in New Perspectives in Algebraic Combinatorics , Cambridge Univ. Press, Cambridge, 1999, 91–147.
- 5[BW 03] A. Barvinok and K. Woods, Short rational generating functions for lattice point problems, Jour. AMS 16 (2003), 957–979.
- 6[DRS 10] J. A. De Loera, J. Rambau and F. Santos, Triangulations , Springer, Berlin, 2010.
- 7[Eis 10] F. Eisenbrand, Integer programming and algorithmic geometry of numbers, in 50 years of Integer Programming , Springer, Berlin, 2010, 505–560.
- 8[EH 12] F. Eisenbrand and N. Hähnle, Minimizing the number of lattice points in a translated polygon, in Proc. 24th SODA , SIAM, Philadelphia, PA, 2012, 1123–1130.
