Started texing poly reformation write up.

master
Aaron Huber 2020-06-12 11:45:15 -04:00
parent a892a91480
commit 3e3ec84622
4 changed files with 68 additions and 13 deletions

View File

@ -2,6 +2,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Polynomial Reformulation
\newcommand{\wbit}{w}
%using \wVec for world bit vector notation
\newcommand{\poly}{Q}
\newcommand{\rpoly}{\widetilde{Q}}%r for reduced as in reduced 'Q'
\newcommand{\out}{output}%output aggregation over the output vector
%David's Scheme
\newcommand{\vecform}[1]{\textbf{#1}}%auxiliary cmd to use only with macros, so that we can change the format easily if need be
\newcommand{\sone}{\vecform{x}}
@ -268,6 +275,7 @@
\newtheorem{Definition}{Definition}
\newtheorem{Lemma}{Lemma}
\newtheorem{Proposition}{Proposition}
\newtheorem{Property}{Property}
\newtheorem{Corollary}{Corollary}
\newtheorem{Example}{Example}
\newtheorem{Axiom}{Axiom}

View File

@ -125,19 +125,21 @@
%\input{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{prob_def}
\input{notation}
\input{analysis}
\input{est_bounds}
\input{combining}
\input{instantiation}
\input{hash_const}
\input{exact}
\input{var_estj}
\input{pos}
\input{sop}
\input{davidscheme}
%\input{prob_def}
%\input{notation}
%\input{analysis}
%\input{est_bounds}
%\input{combining}
%
%\input{instantiation}
%\input{hash_const}
%\input{exact}
%\input{var_estj}
%\input{pos}
%\input{sop}
%\input{davidscheme}
\input{ra-to-poly}
\input{poly-form}
%\input{}

41
poly-form.tex Normal file
View File

@ -0,0 +1,41 @@
%root: main.tex
\section{Polynomial Formulation}
Let $\vect_1,\ldots, \vect_\numTup$ be vectors annotating $\numTup$ tuples in a TIDB such that \begin{equation}\vect_i[(\wbit_1,\ldots,\wbit_\numTup)] =
\begin{cases} 1 &\wbit_i = 1,\\
0 &otherwise.\label{eq:vec-def}
\end{cases}
\end{equation}
Here we define vector indexing by the $\numTup$-bit binary tuple $\wVec = (\wbit_1,\ldots,\wbit_\numTup)$ such that the possible world $\wVec$ is identified by its bit vector binary value.
Futher we define the polynomial $\poly(\vect_1,\ldots,\vect_\numTup)$ as an arbitrary polynomial defined over the input vectors, whose addition and multiplication operations are defined as the traditional point-wise vector addition and multiplication. We overload notation and denote the $i^{th}$ world of $\poly$ as $\poly[\wVec]$, where $\poly$ can be viewed as the output annotation vector, and the L-1 norm can be represented as $\poly = \sum\limits_{\wVec \in \wSet} \poly[\wVec]$.
By noting that \cref{eq:vec-def} is equivalent to $\vect_i[(\wbit_1,\ldots, \wbit_\numTup)] = \wbit_i$, we can further reformulate the problem by saying that $\poly[\wVec] = \poly(\wbit_1,\ldots, \wbit_\numTup)$, where each element of the RHS input is a bit element of the $\wVec$ bit vector, and we can thus replace each variable of $\poly$ with its corresponding input bit, and solve for the particular world $\wVec$. We can then further rewrite our L-1 norm output as $\sum\limits_{(\wbit_1,\ldots, \wbit_\numTup) \in \{0, 1\}^\numTup} \poly(\wbit_1,\ldots, \wbit_\numTup)$.
Further, define $\rpoly(\wbit_1,\ldots, \wbit_\numTup)$ as the reduced version of $\poly(\wbit_1,\ldots, \wbit_\numTup)$, formally defined as
\[\rpoly(\wbit_1,\ldots, \wbit_\numTup) = \poly(\wbit_1,\ldots, \wbit_\numTup) \mod \wbit_1^2-\wbit\cdots\mod \wbit_\numTup^2 - \wbit_\numTup.\] Intuitively, $\rpoly(\wbit_1,\ldots, \wbit_\numTup)$ is the expanded sum of products form of $\poly(\wbit_1,\ldots, \wbit_\numTup)$ such that if any $\wbit_j$ term has an exponent $e > 1$, it is reduced to $1$, i.e. $\wbit_j^e\mapsto \wbit_j$ for any $e > 1$. This usefulness of this reduction will be seen shortly.
First, note the following fact:
\[\text{For all } (\wbit_1,\ldots, \wbit_\numTup) \in \{0, 1\}^\numTup, \poly(\wbit_1,\ldots, \wbit_\numTup) = \rpoly(\wbit_1,\ldots, \wbit_\numTup).\]
\begin{proof}
For all $b \in \{0, 1\}$ and all $e \geq 1$, $b^e = 1$.\qed
\end{proof}
As stated previously, the aggregate output we seek to compute is the L1-norm of the output vector $\poly$, which we'll denote as $\out$. Assuming each tuple has a probability $p = 0.5$, we note that
\begin{Property}
\begin{equation*}
\out = \sum_{(\wbit_1,\ldots, \wbit_\numTup) \in \{0, 1\}^\numTup} \poly(\wbit_1,\ldots, \wbit_\numTup) = 2^\numTup \cdot \rpoly(\frac{1}{2},\ldots, \frac{1}{2}).
\end{equation*}
\end{Property}
\begin{proof}
Using the fact above, we need to compute \[\sum_{(\wbit_1,\ldots, \wbit_\numTup) \in \{0, 1\}}\rpoly(\wbit_1,\ldots, \wbit_\numTup)\]. We therefore argue that
\[\sum_{(\wbit_1,\ldots, \wbit_\numTup) \in \{0, 1\}}\rpoly(\wbit_1,\ldots, \wbit_\numTup) = 2^\numTup \cdot \rpoly(\frac{1}{2},\ldots, \frac{1}{2}).\]
Note that for any single monomial, this is indeed the case since 1) each tuple appears in a possible world with probability of $\frac{1}{2}$, 2) the value $2^\numTup$ is the number of worlds, and 3) the product of expectation and total number of worlds yields and exact result.
The final result follows by noting that $\rpoly$ is a sum of monomials, and we can, by rearranging the sum, equivlently push the sum into the monomials.\qed
\end{proof}

4
ra-to-poly.tex Normal file
View File

@ -0,0 +1,4 @@
%root: main.tex
\section{Query translation into polynomials}
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}.