In this paper, we consider the counting function $E_P(y) = |P_{y} \cap Z^{n_x}|$ for a parametric polyhedron $P_{y} = \{x \in R^{n_x} \colon A x \leq b + B y\}$, where $y \in R^{n_y}$. We give a new representation of $E_P(y)$, called a \emph{piece-wise step-polynomial with periodic coefficients}, which is a generalization of piece-wise step-polynomials and integer/rational Ehrhart's quasi-polynomials. It gives the fastest way to calculate $E_P(y)$ in certain scenarios. The most important cases are the following: 1) We show that, for the parametric polyhedron $P_y$ defined by a standard-form system $A x = y,\, x \geq 0$ with a fixed number of equalities, the function $E_P(y)$ can be represented by a polynomial-time computable function. In turn, such a representation of $E_P(y)$ can be constructed by an $poly\bigl(n, \|A\|_{\infty}\bigr)$-time algorithm; 2) Assuming again that the number of equalities is fixed, we show that integer/rational Ehrhart's quasi-polynomials of a polytope can be computed by FPT-algorithms, parameterized by sub-determinants of $A$ or its elements; 3) Our representation of $E_P$ is more efficient than other known approaches, if $A$ has bounded elements, especially if it is sparse in addition. Additionally, we provide a discussion about possible applications in the area of compiler optimization. In some "natural" assumptions on a program code, our approach has the fastest complexity bounds.
翻译:本文研究参数多面体 $P_{y} = \{x \in R^{n_x} \colon A x \leq b + B y\}$ 的计数函数 $E_P(y) = |P_{y} \cap Z^{n_x}|$,其中 $y \in R^{n_y}$。我们提出了 $E_P(y)$ 的一种新表示方法,称为"带周期系数的分段阶梯多项式",它是分段阶梯多项式与整数/有理埃哈特拟多项式的推广。在某些场景下,该方法提供了计算 $E_P(y)$ 的最快途径。最关键的情形包括:1) 我们证明,对于由标准型方程组 $A x = y,\, x \geq 0$ 定义且等式数量固定的参数多面体 $P_y$,函数 $E_P(y)$ 可用多项式时间可计算函数表示,且该表示可通过 $poly\bigl(n, \|A\|_{\infty}\bigr)$ 时间算法构造;2) 同样在等式数量固定假设下,我们证明多面体的整数/有理埃哈特拟多项式可通过以子行列式或矩阵元素为参数的FPT算法计算;3) 当矩阵 $A$ 元素有界时(尤其是稀疏情形),我们的 $E_P$ 表示方法比其他已知方法更高效。此外,我们讨论了该方法在编译器优化领域的潜在应用。在关于程序代码的某些"自然"假设下,我们的方法具有最快的复杂度界。