diff --git a/poly-form.tex b/poly-form.tex index 7c02791..f2e08fe 100644 --- a/poly-form.tex +++ b/poly-form.tex @@ -64,6 +64,7 @@ We would like to argue that in the general case there is no computation of expec To this end, consider the following graph $G(V, E)$, where $|E| = m$, $|V| = \numTup$, and $i, j \in [\numTup]$. Consider the query $q_E(X_1,\ldots, X_\numTup) = \sum\limits_{(i, j) \in E} X_i \cdot X_j$. \AR{The two lemmas need to be re-written once notation for representing a query is finalized in Section 1.} +\AH{\^-----This is an issue that we are currently discussing.} \begin{Lemma}\label{lem:const-p} If we can compute $\poly(\wElem_1,\ldots, \wElem_\numTup) = q_E(\wElem_1,\ldots, \wElem_\numTup)^3$ in T(m) time for $\wElem_1 = \ldots = \wElem_\numTup = \prob$, then we can count the number of 3-matchings in $G$ in $T(m) + O(m)$ time. \end{Lemma} @@ -164,3 +165,5 @@ Then $\numocc{\tri}_2 = 0$, and if we can prove that\AR{Again you are not transc \end{itemize} we solve our problem for $q_E^3$ based on $G_2$ and we can compute $\numocc{\threedis}$, a hard problem. \end{proof} +{\bf TESTING} +$\vec{w}\sim\mathcal{D}$ diff --git a/ra-to-poly.tex b/ra-to-poly.tex index a512adb..48cebb1 100644 --- a/ra-to-poly.tex +++ b/ra-to-poly.tex @@ -1,11 +1,11 @@ %root: main.tex \section{Query translation into polynomials} -\AH{This section will involve the set of queries (RA+) that we are interested in, the probabilistic/incomplete models we address, and the outer aggregate functions we perform over the output \textit{annotation} -1) RA notation -2) DB (TIDB) notation -3) How queries translate into polynomials -} +%\AH{This section will involve the set of queries (RA+) that we are interested in, the probabilistic/incomplete models we address, and the outer aggregate functions we perform over the output \textit{annotation} +%1) RA notation +%2) DB (TIDB) notation +%3) How queries translate into polynomials +%} Given tables $\rel, \reli$, an arbitrary query $\query(\rel)$ over the positive relational operators (SPJU), abusing notation slightly denote the query polynomial as $\poly(X_1,\ldots, X_\numTup)$. To be clear, $\poly(X_1,\ldots, X_\numTup)$ is a polynomial whose variables represent the tuple annotations of an arbitrary query.The annotation for arbitrary tuple $\tup$ can be viewed as an element of the image of $\rel$, where relation $\rel$ can be thought of as a function with preimage of all tuples in $\rel$, such that $\rel(\tup) = \poly(X_1,\ldots, X_\numTup)$. Further, it is known that the algebraic semiring structure aptly models the translation and computation of query operations into tuple annotation, aka polynomials. To make things more concrete, consider the $\{\mathbb{N}, \times, +, 1, 0\}$ bag semiring. Here the set in which the tuple annotations (computed polynomials) exist is the natural numbers. Query operations are translated into one of the two semiring operators, with $\project$ and $\union$ of agreeing tuples being the equivalent of the '+' opertator in polynomial $\poly$, $\join$ translating into the $\times$ operator, and finally, $\select$ is better modeled as a function that returns either $\rel(\tup)$ or $0$ based on some predicate.