\( \def\<#1>{\left<#1\right>} \let\geq\geqslant \let\leq\leqslant % an undirected version of \rightarrow: \newcommand{\mathdash}{\relbar\mkern-9mu\relbar} \def\deg#1{\mathrm{deg}(#1)} \newcommand{\dg}[1]{d_{#1}} \newcommand{\Norm}{\mathrm{N}} \newcommand{\const}[1]{c_{#1}} \newcommand{\cconst}[1]{\alpha_{#1}} \newcommand{\Exp}[1]{E_{#1}} \newcommand*{\ppr}{\mathbin{\ensuremath{\otimes}}} \newcommand*{\su}{\mathbin{\ensuremath{\oplus}}} \newcommand{\nulis}{\vmathbb{0}} %{\mathbf{0}} \newcommand{\vienas}{\vmathbb{1}} \newcommand{\Up}[1]{#1^{\uparrow}} %{#1^{\vartriangle}} \newcommand{\Down}[1]{#1^{\downarrow}} %{#1^{\triangledown}} \newcommand{\lant}[1]{#1_{\mathrm{la}}} % lower antichain \newcommand{\uant}[1]{#1_{\mathrm{ua}}} % upper antichain \newcommand{\skal}[1]{\langle #1\rangle} \newcommand{\NN}{\mathbb{N}} % natural numbers \newcommand{\RR}{\mathbb{R}} \newcommand{\minTrop}{\mathbb{T}_{\mbox{\rm\footnotesize min}}} \newcommand{\maxTrop}{\mathbb{T}_{\mbox{\rm\footnotesize max}}} \newcommand{\FF}{\mathbb{F}} \newcommand{\pRR}{\mathbb{R}_{\mbox{\tiny $+$}}} \newcommand{\QQ}{\mathbb{Q}} \newcommand{\ZZ}{\mathbb{Z}} \newcommand{\gf}[1]{GF(#1)} \newcommand{\conv}[1]{\mathrm{Conv}(#1)} \newcommand{\vvec}[2]{\vec{#1}_{#2}} \newcommand{\f}{{\mathcal F}} \newcommand{\h}{{\mathcal H}} \newcommand{\A}{{\mathcal A}} \newcommand{\B}{{\mathcal B}} \newcommand{\C}{{\mathcal C}} \newcommand{\R}{{\mathcal R}} \newcommand{\MPS}[1]{f_{#1}} % matrix multiplication \newcommand{\ddeg}[2]{\#_{#2}(#1)} \newcommand{\length}[1]{|#1|} \DeclareMathOperator{\support}{sup} \newcommand{\supp}[1]{\support(#1)} \DeclareMathOperator{\Support}{sup} \newcommand{\spp}{\Support} \newcommand{\Supp}[1]{\mathrm{Sup}(#1)} %{\mathcal{S}_{#1}} \newcommand{\lenv}[1]{\lfloor #1\rfloor} \newcommand{\henv}[1]{\lceil#1\rceil} \newcommand{\homm}[2]{{#1}^{\langle #2\rangle}} \let\daug\odot \let\suma\oplus \newcommand{\compl}[1]{Y_{#1}} \newcommand{\pr}[1]{X_{#1}} \newcommand{\xcompl}[1]{Y'_{#1}} \newcommand{\xpr}[1]{X'_{#1}} \newcommand{\cont}[1]{A_{#1}} % content \def\fontas#1{\mathrm{#1}} %{\mathrm{#1}} %{\mathtt{#1}} % \newcommand{\arithm}[1]{\fontas{Arith}(#1)} \newcommand{\Bool}[1]{\fontas{Bool}(#1)} \newcommand{\BBool}[1]{\fontas{B}(#1)} \newcommand{\linBool}[1]{\fontas{Bool}_{\mathrm{lin}}(#1)} \newcommand{\rBool}[2]{\fontas{Bool}_{#2}(#1)} %\newcommand{\BBool}[2]{\fontas{Bool}_{#2}(#1)} \newcommand{\MMin}[1]{\fontas{Min}(#1)} \newcommand{\MMax}[1]{\fontas{Max}(#1)} \newcommand{\negMin}[1]{\fontas{Min}^{-}(#1)} \newcommand{\negMax}[1]{\fontas{Max}^{-}(#1)} \newcommand{\Min}[2]{\fontas{Min}_{#2}(#1)} \newcommand{\Max}[2]{\fontas{Max}_{#2}(#1)} \newcommand{\convUn}[1]{\fontas{L}_{\ast}(#1)} \newcommand{\Un}[1]{\fontas{L}(#1)} \newcommand{\kUn}[2]{\fontas{L}_{#2}(#1)} \newcommand{\Nor}{\mu} % norm without argument \newcommand{\nor}[1]{\Nor(#1)} \newcommand{\bool}[1]{\hat{#1}} % Boolean version of f \newcommand{\bphi}{\phi} % boolean circuit \newcommand{\xf}{\boldsymbol{\mathcal{F}}} \newcommand{\euler}{\mathrm{e}} \newcommand{\ee}{f} % other element \newcommand{\exchange}[3]{{#1}-{#2}+{#3}} \newcommand{\dist}[2]{{#2}[#1]} \newcommand{\Dist}[1]{\mathrm{dist}(#1)} \newcommand{\mdist}[2]{\dist{#1}{#2}} % min-max dist. \newcommand{\matching}{\mathcal{M}} \renewcommand{\E}{A} \newcommand{\F}{\mathcal{F}} \newcommand{\set}{W} \newcommand{\Deg}[1]{\mathrm{deg}(#1)} \newcommand{\mtree}{MST} \newcommand{\stree}{{\cal T}} \newcommand{\dstree}{\vec{\cal T}} \newcommand{\Rich}{U_0} \newcommand{\Prob}[1]{\ensuremath{\mathrm{Pr}\left\{{#1}\right\}}} \newcommand{\xI}{\boldsymbol{I}} \newcommand{\plus}{\mbox{\tiny $+$}} \newcommand{\sgn}[1]{\left[#1\right]} \newcommand{\ccompl}[1]{{#1}^*} \newcommand{\contr}[1]{[#1]} \newcommand{\harm}[2]{{#1}\,\#\,{#2}} %{{#1}\,\oplus\,{#2}} \newcommand{\hharm}{\#} %{\oplus} \newcommand{\rec}[1]{1/#1} \newcommand{\rrec}[1]{{#1}^{-1}} \DeclareRobustCommand{\bigO}{% \text{\usefont{OMS}{cmsy}{m}{n}O}} \newcommand{\dalyba}{/}%{\oslash} \newcommand{\mmax}{\mbox{\tiny $\max$}} \newcommand{\thr}[2]{\mathrm{Th}^{#1}_{#2}} \newcommand{\rectbound}{h} \newcommand{\pol}[3]{\sum_{#1\in #2}{#3}_{#1}\prod_{i=1}^n x_i^{#1_i}} \newcommand{\tpol}[2]{\min_{#1\in #2}\left\{\skal{#1,x}+\const{#1}\right\}} \newcommand{\comp}{\circ} % composition \newcommand{\0}{\vec{0}} \newcommand{\drops}[1]{\tau(#1)} \newcommand{\HY}[2]{F^{#2}_{#1}} \newcommand{\hy}[1]{f_{#1}} \newcommand{\hh}{h} \newcommand{\hymin}[1]{f_{#1}^{\mathrm{min}}} \newcommand{\hymax}[1]{f_{#1}^{\mathrm{max}}} \newcommand{\ebound}[2]{\partial_{#2}(#1)} \newcommand{\Lpure}{L_{\mathrm{pure}}} \newcommand{\Vpure}{V_{\mathrm{pure}}} \newcommand{\Lred}{L_1} %L_{\mathrm{red}}} \newcommand{\Lblue}{L_0} %{L_{\mathrm{blue}}} \newcommand{\epr}[1]{z_{#1}} \newcommand{\wCut}[1]{w(#1)} \newcommand{\cut}[2]{w_{#2}(#1)} \newcommand{\Length}[1]{l(#1)} \newcommand{\Sup}[1]{\mathrm{Sup}(#1)} \newcommand{\ddist}[1]{d_{#1}} \newcommand{\sym}[2]{S_{#1,#2}} \newcommand{\minsum}[2]{\mathrm{MinS}^{#1}_{#2}} \newcommand{\maxsum}[2]{\mathrm{MaxS}^{#1}_{#2}} % top k-of-n function \newcommand{\cirsel}[2]{\Phi^{#1}_{#2}} % its circuit \newcommand{\sel}[2]{\sym{#1}{#2}} % symmetric pol. \newcommand{\cf}[1]{{#1}^{o}} \newcommand{\Item}[1]{\item[\mbox{\rm (#1)}]} % item in roman \newcommand{\bbar}[1]{\underline{#1}} \newcommand{\Narrow}[1]{\mathrm{Narrow}(#1)} \newcommand{\Wide}[1]{\mathrm{Wide}(#1)} \newcommand{\eepsil}{\varepsilon} \newcommand{\amir}{\varphi} \newcommand{\mon}[1]{\mathrm{mon}(#1)} \newcommand{\mmon}{\alpha} \newcommand{\gmon}{\alpha} \newcommand{\hmon}{\beta} \newcommand{\nnor}[1]{\|#1\|} \newcommand{\inorm}[1]{\left\|#1\right\|_{\mbox{\tiny $\infty$}}} \newcommand{\mstbound}{\gamma} \newcommand{\coset}[1]{\textup{co-}{#1}} \newcommand{\spol}[1]{\mathrm{ST}_{#1}} \newcommand{\cayley}[1]{\mathrm{C}_{#1}} \newcommand{\SQUARE}[1]{\mathrm{SQ}_{#1}} \newcommand{\STCONN}[1]{\mathrm{STCON}_{#1}} \newcommand{\STPATH}[1]{\mathrm{PATH}_{#1}} \newcommand{\SSSP}[1]{\mathrm{SSSP}(#1)} \newcommand{\APSP}[1]{\mathrm{APSP}(#1)} \newcommand{\MP}[1]{\mathrm{MP}_{#1}} \newcommand{\CONN}[1]{\mathrm{CONN}_{#1}} \newcommand{\PERM}[1]{\mathrm{PER}_{#1}} \newcommand{\mst}[2]{\tau_{#1}(#2)} \newcommand{\MST}[1]{\mathrm{MST}_{#1}} \newcommand{\MIS}{\mathrm{MIS}} \newcommand{\dtree}{\mathrm{DST}} \newcommand{\DST}[1]{\dtree_{#1}} \newcommand{\CLIQUE}[2]{\mathrm{CL}_{#1,#2}} \newcommand{\ISOL}[1]{\mathrm{ISOL}_{#1}} \newcommand{\POL}[1]{\mathrm{POL}_{#1}} \newcommand{\ST}[1]{\ptree_{#1}} \newcommand{\Per}[1]{\mathrm{per}_{#1}} \newcommand{\PM}{\mathrm{PM}} \newcommand{\error}{\epsilon} \newcommand{\PI}[1]{A_{#1}} \newcommand{\Low}[1]{A_{#1}} \newcommand{\node}[1]{v_{#1}} \newcommand{\BF}[2]{W_{#2}[#1]} % Bellman-Ford \newcommand{\FW}[3]{W_{#1}[#2,#3]} % Floyd-Washall \newcommand{\HK}[1]{W[#1]} % Held-Karp \newcommand{\WW}[1]{W[#1]} \newcommand{\pWW}[1]{W^{+}[#1]} \newcommand{\nWW}[1]{W^-[#1]} \newcommand{\knap}[2]{W_{#2}[#1]} \newcommand{\Cut}[1]{w(#1)} \newcommand{\size}[1]{\mathrm{size}(#1)} \newcommand{\dual}[1]{{#1}^{\ast}} \def\gcd#1{\mathrm{gcd}(#1)} \newcommand{\econt}[1]{C_{#1}} \newcommand{\xecont}[1]{C_{#1}'} \newcommand{\rUn}[1]{\fontas{L}_{r}(#1)} \newcommand{\copath}{\mathrm{co}\text{-}\mathrm{Path}_n} \newcommand{\Path}{\mathrm{Path}_n} \newcommand{\slice}[2]{\{0,1\}^{#1}_{#2}} \newcommand{\sep}[1]{\fontas{sep}(#1)} \newcommand{\xc}[1]{\fontas{xc}(#1)} \)

Pure DP versus LP algorithms

Contents

A linear program (LP) is a system $Ax\leq b$ of linear inequalities, where $A$ is a $k\times m$ matrix over the reals, and $b\in\RR^k$. In the case of optimization, the problem is, given a (target) vector $c\in\RR^m$, to maximize or minimize $\skal{c,x}$ subject to $Ax\leq b$ and $x\in \RR^m$.

1. Boolean circuits to LPs

As observed by Valiant [6] and Yannakakis [7], every Boolean $(\lor,\land,\neg)$ circuit of size $s$ and $n$ input variables can be encoded as an LP $Ax\leq b$ with $m=n+s$ variables and $k=O(n+s)$ constraints (linear inequalities), where $A$ is a $k\times m$ matrix with entries from $\{-1,0,1\}$ and $b\in \{-1,0,1\}^m$.

Let $\Phi(x)$ be a (non-monotone!) $(\lor,\land,\neg)$ circuit with $s$ gates and $n$ input variables $x_1,\ldots,x_n$ computing a Boolean function $f:\{0,1\}^n\to \{0,1\}$. For convenience, let us call also input variables gates; hence, we have $m=n+s$ gates, the $i$th of which is either an input variable (if $1\leq i\leq n$) or an AND, OR or NOT operation applied to some previous gates. Introduce a variable $x_u$ for each gate $u$ of $\Phi$; hence, if $u=x_i$ for $i\in\{1,\ldots,n\}$, then $x_u=x_i$ is an "old" variable.

Let $P=\{(x_1,\ldots,x_n)\colon Ax\leq b, x\in\RR^m\}$ be the projection of the resulting polytope onto the first $n$ positions. It can be verified that, if the first $n$ variables $x_1,\ldots,x_n$ have values $0$ and $1$, then all other variables are forced to have value $0$ or $1$ equal to the output value of the corresponding gate. Let, for example, $w=u\lor v$ be an OR gate. If $x_u=x_v=0$, then $0\leq x_u\leq x_w\leq 1$ gives $x_w\geq 0$, while $x_w\leq x_u+x_v$ gives $x_w\leq 0$; hence, $x_w=0$. If $x_u=1$, then $0\leq x_u\leq x_w\leq 1$ gives $x_w=1$, and similarly when $x_v=1$.

Thus, $P\cap\{0,1\}^n=f^{-1}(1)$. That is, the projection of LP $Ax\leq b$ onto the first $n$ variables includes all $0$-$1$ vectors accepted by the function $f$ and excludes all vectors rejected $f$.

Remark 1: Note the importance of allowing new variables in the resulting LP. Without new variables, linear programming is extremely weak for decision problems; even such trivial Boolean functions as parity require LPs of exponential size.

2. Tropical circuits to LPs

Similarly, every $(\min,+)$ circuit $\Phi(x_1,\ldots,x_n)$ with $n$ input variables and $s$ gates can be simulated by a (maximizing) linear program $ Ax\leq b$ with $m=n+s$ variables and $k=O(s)$ constraints as \[ \Phi(x_1,\ldots,x_n)=\max\{\skal{c,x}\colon Ax\leq b,\, x\in\RR^m\}\,, \] where $A$ is a $k\times m$ matrix $A$ with entries from $\{-1,0,1\}$, $b=\vec{0}$ and $c\in\{0,1\}^m$ is the $0$-$1$ vectors with only one $1$ in the last position.

Again, let us call also input variables gates; hence, we have $m=n+s$ gates, the $i$th of which is either an input variable (if $1\leq i\leq n$) or is an addition or a $\min$ operation applied to some previous gates. As before, introduce a variable $x_u$ for each gate $u$ of $\Phi$; hence, if $u=x_i$ for $i\in\{1,\ldots,n\}$, then $x_u=x_i$ is an "old" (input) variable $x_i$ of the circuit $\Phi$.

Finally, let the target function be "maximize $x_o,$" where $o$ is the output gate of $\Phi$. That is, in this LP, $b=\vec{0}$ is the all-$0$ vector, and $c$ is a vector with one $1$ in the last position and zeros elsewhere. Now, for any assignment of weights to the variables $x_1, \dots, x_n$, the linear program outputs exactly the value that the $(\min,+)$ circuit $\Phi$ computes: \[ \mbox{$x_w=\min\{x_u,x_v\}$ iff $x_w=\max\{z\colon z\leq x_u, z\leq x_v\}$.} \] A similar construction works for minimizing linear programs and tropical $(\max,+)$ circuits.

Thus, tropical $(\min,+)$ and $(\max,+)$ circuits can be encoded as LPs of almost the same size.

On the other hand, there are problems that can be solved efficiently by an optimizing LP algorithm but not by pure DP $(\min,+)$ or $(\max,+)$ algorithms. For example, the assignment problem (minimum weight perfect matching in $K_{n,n}$ problem) requires tropical circuits of exponential $2^{\Omega(n)}$ size (Theorem 3.6 in the book), but can be solved with only $O(n^3)$ operations by the well-known "Hungarian LP algorithm" of Kuhn [4]. So we can conclude that LP is strictly stronger than pure DP.

This is not surprising. As we have just seen, every Boolean $(\lor,\land,\neg)$ circuit of size $s$ can be represented as a system of linear inequalities with about $s$ variables and about $s$ inequalities. But solving this LP (computing the minimum of maximum values of $\skal{c,x}$) requires very powerful operations like branchings via if-then-else operation. Why this latter operation is really powerful is shown by the following simple example: Boolean negation $\neg x=1-x$ (a "devil" operation prohibiting to capture the power of non-monotone Boolean circuits for decades) is just a seemingly "innocent" operation "if $x=0$ then $1$ else $0$."

Remark 2: Besides the if-then-else constraints, Kuhn's LP algorithm only uses $(\min,+,-)$ operations. Problem 3 in the book asks whether if-then-else constraints can be avoided at least for this particular problem: can the assignment problem be solved by an extended tropical $(\min,+,-)$ circuit (with subtraction gates) of polynomial size. That, sometimes, if-then-else constraints can be avoided is demonstrated in Remark 6.8 of Section 6.2 in the book on the MST problem (minimum weight spanning tree in $K_n$ problem).   $\Box$

Remark 3: In the book, we consider discrete optimization (say, minimization) problems of the form $f(x)=\min_{a\in A}\skal{a,x}$ for given finite sets $A\subseteq\NN^n$ of feasible solutions, and do not care about how the sets $A$ are specified. One way to specify $A$ is to let it be the set $A=\{a\in \NN^n\colon Ma\leq b\}$ of all vectors $a\in\NN^n$ fulfilling all inequalities of the system $Ma\leq b$ of linear inequalities for some $m\times n$ matrix $M$ and a $1\times m$ vector $b$ over the reals. Then the problem $f$ turns into a minimizing LP \[ f(x)=\min\{\skal{c,a}\colon Ma\leq b, a\in\NN^n, c=x\}\,. \] That is, target vectors $c$ are input weightings $x\in\RR_+^n$, and the set $A$ of feasible solutions is the set of integer solutions $a\in\NN^n$ of the given system $Ma\leq b$ of linear inequalities.   $\Box$

3. Digression: LP and extension complexity

Recall that a polytope $P\subseteq\RR^n$ is the convex hull of a finite set of points in $\RR^n$. It can also be viewed as a bounded set defined by a finite number of linear constraints. The extension complexity of a polytope $P$, $\xc{P}$, is the smallest $k$ so that there exists a polytope $Q\subseteq\RR^m$ with $k$ facets (constraints) and an affine map $\pi:\RR^m\to\RR^n$ such that $P=\pi(Q)$. This reduces linear programming over $P$ to linear programming over $Q$.

Given $A\subseteq\{0,1\}^n$, its separation complexity, $\sep{A}$, is the minimum $\xc{P}$ over all polytopes $P\subseteq\RR^n$ with $P\cap\{0,1\}^n=A$; such a $P$ is called a separating polytope for $A$.

The Valiant-Yannakakis simulation yields the following fact. For a Boolean function $f:\{0,1\}^n\to\{0,1\}$, let $\BBool{f}$ denote the minimum size of a Boolean $(\lor,\land,\neg)$ circuit computing $f$.

Fact 1: Let $A=f^{-1}(1)$. If $\BBool{f}\leq s$ then $\sep{A}=O(n+s)$.
In particular, lower bounds on the separation complexity $\sep{A}$ imply lower bounds on $\BBool{f}$.

Note that the convex hull $P_f:=\conv{A}$ of the set $A=f^{-1}(1)$ of vectors accepted by a Boolean function $f$ is a separating polytope for $A$. These polytopes are well-studied. The first lower bounds on the extension complexity $\xc{P_f}$ for explicit Boolean functions $f$ were proved already by Yannakakis in his seminal paper [6] under the additional restriction that the extended polytopes $Q$ must be "symmetric" in a particular sense. The breakthrough by Fiorini, Massar, Pokutta, Tiwary, and de Wolf [1] more than twenty years later showed that several well-studied polytopes, including the correlation polytope and the TSP polytope, have exponential extension complexity; without the "symmetry" restriction. The proof used communication complexity arguments; a taste of how this goes can be seen in the short note of Kaibel and Weltge [3]. Rothvoß [4] has shown that the matching polytope also has exponential extension complexity (see references in [1,4] for extensive literature about the extension complexity).

However, $P_f$ is just one of infinitely many separating polytopes for $A=f^{-1}(1)$, and these results do not imply a lower bound on $\sep{f}$. So far, high lower bounds on $\sep{A}$ are only known for non-explicit sets $A\subseteq\{0,1\}^n$. In particular, Hrubeš and Talebanfard [2] have shown that $\sep{A}=O(2^{n/2})$ holds for all $A\subseteq\{0,1\}^n$, and there is a set $A\subseteq\{0,1\}^n$ such that $\sep{A}\geq 2^{\frac{n}{3}(1-o(1)}$.

References:

  1. S. Fiorini, S. Massar, S. Pokutta, H. R. Tiwary, and R. de Wolf: Exponential lower bounds for polytopes in combinatorial optimization, Journal of the ACM, 62:2 (2015), 17:1-17:23.    arxiv
  2. P. Hrubeš and N. Talebanfard: On the extension complexity of polytopes separating subsets of the Boolean cube, Discrete & Computational Geometry, 70 (2023), 268–278.    arxiv
  3. V. Kaibel and S. Weltge: A short proof that the extension complexity of the correlation polytope grows exponentially, arXiv preprint arXiv:1307.3543 (to appear in J. Comb. Ser. A)
  4. H. W. Kuhn: The Hungarian method for the assignment problem. Naval Research Logistic 2 (1955), 83-97.
  5. T. Rothvoß: The matching polytope has exponential extension complexity, Journal of the ACM, 64 (2017) Article 41.    arxiv
  6. L. G. Valiant: Reducibility by algebraic projections, L'Enseignement Mathématique, 28 (1982), 253-268.    local copy
  7. M. Yannakakis: Expressing combinatorial optimization problems by linear programs, J. Comput. Syst. Sci. 43:3 (1991), 441-466.    local copy

⇦   Back to the comments page