Started texing poly reformation write up.
parent
a892a91480
commit
3e3ec84622
|
@ -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}
|
||||
|
|
28
main.tex
28
main.tex
|
@ -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{}
|
||||
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
||||
|
|
@ -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}.
|
Loading…
Reference in New Issue