paper-BagRelationalPDBsAreHard/mult_distinct_p.tex

53 lines
4.1 KiB
TeX
Raw Normal View History

2020-12-04 13:14:12 -05:00
%root:main.tex
2020-12-08 11:59:46 -05:00
\subsection{Multiple Distinct $\prob$ Values}
2020-12-04 13:14:12 -05:00
2020-12-09 00:00:04 -05:00
We would like to argue for a compressed version of $\poly(\vct{w})$, in general $\expct_{\vct{w}}\pbox{\poly(\vct{w})}$ cannot be computed in linear time.
\AR{Added the hardness result below.}
The hardness result is based on the following hardness result:
\begin{theorem}[\cite{k-match}]
\label{thm:k-match-hard}
Given a positive integer $k$ and an undirected graph $G$ with no self-loops of parallel edges, couting the number of $k$-matchings in $G$ is $\#W[1]$-hard.
\end{theorem}
The above result means that we cannot hope to count the number of $k$-matchings in $G=(V,E)$ in time $f(k)\cdot |V|^{O(1)}$ for any function $f$. In fact, all known algorithms to solve this problem takes time $|V|^{\Omega(k)}$.
2020-12-04 13:14:12 -05:00
To this end, consider the following graph $G(V, E)$, where $|E| = \numedge$, $|V| = \numvar$, and $i, j \in [\numvar]$.
2020-12-04 13:14:12 -05:00
Consider the query $\poly_{G}(\vct{X}) = q_E(X_1,\ldots, X_\numvar) = \sum\limits_{(i, j) \in E} X_i \cdot X_j$.
2020-12-04 13:14:12 -05:00
2020-12-08 11:59:46 -05:00
For the following discussion, set $\poly_{G}^\kElem(\vct{X}) = \left(q_E(X_1,\ldots, X_\numvar)\right)^\kElem$.
\begin{Lemma}\label{lem:qEk-multi-p}
2020-12-08 11:59:46 -05:00
Given polynomial $\poly_{G}^\kElem(\prob,\ldots, \prob)$, we can write $\rpoly_{G}^\kElem$ as $\rpoly_{G}^\kElem(\prob,\ldots, \prob) = \sum\limits_{i = 0}^{2\kElem} c_i \cdot \prob^i$ for some fixed terms $\vct{c}$. Given $2\kElem + 1$ distinct $\prob$ values, one can compute each $c_i$ in $\vct{c}$ exactly. Additionally, the number of $\kElem$-matchings can be computed exactly.
2020-12-04 13:14:12 -05:00
\end{Lemma}
\begin{proof}[Proof of ~\cref{lem:qEk-multi-p}]
2020-12-08 11:59:46 -05:00
It is trivial to see that one can readily expand the exponential expression by performing the $n^\kElem$ product operations, yielding the polynomial in the sum of products form of the lemma statement. By definition $\rpoly_{G}^\kElem$ reduces all variable exponents greater than $1$ to $1$. Thus, a monomial such as $X_i^\kElem X_j^\kElem$ is $X_iX_j$ in $\rpoly_{G}^\kElem$, and the value after substitution is $p_i\cdot p_j = p^2$. Further, that the number of terms in the sum is no greater than $2\kElem + 1$, can be easily justified by the fact that each edge has two endpoints, and the most endpoints occur when we have $\kElem$ distinct edges (such a subgraph is also known as a $\kElem$-matching), with non-intersecting points, a case equivalent to $p^{2\kElem}$.
2020-12-04 13:14:12 -05:00
Given that we have $2\kElem + 1$ distinct values of $\prob$ by the lemma statement, it follows that we then have $2\kElem + 1$ linear equations which are distinct. Further, by construction of the summation, these $2\kElem + 1$ equations collectively form the Vandermonde matrix, from which it follows that we have a matrix with full rank, and we can solve the linear system to determine $\vct{c}$ exactly.
2020-12-08 11:59:46 -05:00
It has already been established above that a $\kElem$-matching ($\kmatch$) has coefficient $c_{2\kElem}$. As noted, a $\kElem$-matching occurs when there are $\kElem$ edges, $e_1, e_2,\ldots, e_\kElem$, such that all of them are disjoint, i.e., $e_1 \neq e_2 \neq \cdots \neq e_\kElem$. In all $\kElem$ factors of $\poly_{G}^\kElem(\vct{X})$ there are $k$ choices from the first factor to select an edge for a given $\kElem$ matching, $\kElem - 1$ choices in the second factor, and so on throughout all the factors, yielding $\kElem!$ duplicate terms for each $\kElem$ matching in the expansion of $\poly_{G}^\kElem(\vct{X})$.
Thus, the product $\kElem!\cdot\numocc{G}{\kmatch}$ is the exact number of $\kElem$-matchings in $\poly_{G}^\kElem(\vct{X})$.
2020-12-04 13:14:12 -05:00
\end{proof}
\qed
\begin{Corollary}\label{cor:lem-qEk}
2020-12-08 11:59:46 -05:00
One can compute $\numocc{G}{\kmatch}$ in $\query_{G}^\kElem(\vct{X})$ exactly.
2020-12-04 13:14:12 -05:00
\end{Corollary}
\begin{proof}[Proof for Corollary ~\ref{cor:lem-qEk}]
2020-12-08 11:59:46 -05:00
By ~\cref{lem:qEk-multi-p}, the term $c_{2\kElem}$ can be exactly computed. Additionally we know that $c_{2\kElem}$ can be broken into two factors, and by dividing $c_{2\kElem}$ by the factor $\kElem!$, it follows that the resulting value is indeed $\numocc{G}{\kmatch}$.
2020-12-04 13:14:12 -05:00
\end{proof}
\qed
\begin{Corollary}\label{cor:reduct}
2020-12-08 11:59:46 -05:00
By ~\cref{lem:qEk-multi-p} and ~\cref{cor:lem-qEk} it follows that computing $\rpoly(\vct{X})$ is hard.
2020-12-04 13:14:12 -05:00
\end{Corollary}