From 62975da833561b0781ae679e302f805c22125c7c Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 19 May 2022 14:45:58 -0400 Subject: [PATCH] moving 1.6 and poly(*) to appendix --- app_notation-background.tex | 37 +++++++++++++++++++++++++++++++++++++ binarybidb.tex | 35 +++-------------------------------- prob-def.tex | 14 ++------------ 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/app_notation-background.tex b/app_notation-background.tex index 3665b99..4c09541 100644 --- a/app_notation-background.tex +++ b/app_notation-background.tex @@ -119,6 +119,28 @@ By expanding $\nxpolyqdt$ and the expectation we have: \qed \end{proof} +\subsection{Construction of the lineage (polynomial) for an $\raPlus$ query $\query$ over $\gentupset'$} +\label{fig:lin-poly-bidb} + +The following rules are analogous to \Cref{fig:nxDBSemantics}, differing only in the base case. They are presented here for completeness. + +\begin{align*} +\poly'\pbox{\project_A\inparen{\query}, \gentupset', \tup_j} = + &~\sum_{\substack{\tup_{j'},\\\project_{A}\inparen{\tup_{j'}} = \tup_j}}\poly'\pbox{\query, \gentupset', \tup_{j'}}\\ +% +\poly'\pbox{\query_1\union\query_2, \gentupset', \tup_j} = + &\qquad\poly'\pbox{\query_1, \gentupset', \tup_j}+\poly'\pbox{\query_2, \gentupset', \tup_j}\\ +% +\poly'\pbox{\select_\theta\inparen{\query}, \gentupset', \tup_j} = + &~\begin{cases}\theta = 1 &\poly'\pbox{\query, \gentupset', \tup_j}\\\theta = 0& 0\\\end{cases} \\ +% +\poly'\pbox{\query_1\join\query_2, \gentupset', \tup_j} = + &\qquad \poly'\pbox{\query_1, \gentupset', \project_{attr\inparen{\query_1}}\inparen{\tup_j}}\\ &\qquad\cdot\poly'\pbox{\query_2, \gentupset', \project_{attr\inparen{\query_2}} \inparen{\tup_j}}\\ + % +\poly'\pbox{\rel,\gentupset', \tup_j} =& j\cdot X_{\tup, j}. +\end{align*}\\%[-10mm] + + \subsection{Proposition~\ref{proposition:q-qtilde}}\label{app:subsec-prop-q-qtilde} \noindent Note the following fact: @@ -177,6 +199,21 @@ Note that~\Cref{lem:tidb-reduce-poly} shows that $\expct\pbox{\poly} =$ $\rpoly( \qed \end{proof} +\subsection{Definition of $\polyf(\cdot)$} +\label{def:poly-func} + +We formally define the relationship of circuits with polynomials. While the definition assumes one sink for notational convenience, it easily generalizes to the multiple sinks case. + +$\polyf(\circuit)$ maps the sink of circuit $\circuit$ to its corresponding polynomial in \abbrSMB. $\polyf(\cdot)$ is recursively defined on $\circuit$ as follows, with addition and multiplication following the standard interpretation for polynomials: +\begin{equation*} + \polyf(\circuit) = \begin{cases} + \polyf(\circuit_\lchild) + \polyf(\circuit_\rchild) &\text{ if \circuit.\type } = \circplus\\ + \polyf(\circuit_\lchild) \cdot \polyf(\circuit_\rchild) &\text{ if \circuit.\type } = \circmult\\ + \circuit.\val &\text{ if \circuit.\type } = \var \text{ OR } \tnum. + \end{cases} +\end{equation*} + +$\circuit$ need not encode $\poly\inparen{\vct{X}}$ in the same, default \abbrSMB representation. For instance, $\circuit$ could encode the factorized representation $(X + 2Y)(2X - Y)$ of $\poly\inparen{\vct{X}} = 2X^2+3XY-2Y^2$, as shown in \Cref{fig:circuit}, while $\polyf(\circuit) = \poly\inparen{\vct{X}}$ is always the equivalent \abbrSMB representation. %%% Local Variables: %%% mode: latex diff --git a/binarybidb.tex b/binarybidb.tex index d4b8ce3..2337137 100644 --- a/binarybidb.tex +++ b/binarybidb.tex @@ -49,7 +49,9 @@ Define a \emph{\abbrOneBIDB} to be the pair $\pdb' = \inparen{\bigtimes_{\tup\in We slightly abuse notation here, denoting a world vector as $W$ rather than $\worldvec$ to distinguish between the random variable and the world instance. When there is no ambiguity, we will denote a world vector as $\worldvec$.} \end{Definition} -\Cref{fig:lin-poly-bidb} shows the lineage construction of $\poly'\inparen{\vct{X}}$ given $\raPlus$ query $\query$ for arbitrary deterministic $\gentupset'$. Note that the semantics differ from~\Cref{fig:nxDBSemantics} only in the base case. +Lineage polynomials for arbitrary deterministic $\gentupset'$ are constructed in a manner analogous to $1$-\abbrTIDB\xplural (see \Cref{fig:nxDBSemantics}), differing only in the base case. +In a $1$-\abbrTIDB, each tuple contributes a multiplicity of 0 or 1, and $\polyqdt{\rel}{\gentupset}{\tup} = X_\tup$. +In a $c$-\abbrTIDB, each expanded tuple $t_j$ contributes its corresponding multiplicity: $\polyqdt{\rel}{\gentupset}{\tup_j} = j\cdot X_\tup$. These semantics are fully detailed in \Cref{fig:lin-poly-bidb}. \begin{Proposition}[\abbrCTIDB reduction]\label{prop:ctidb-reduct} Given \abbrCTIDB $\pdb =$\newline $\inparen{\worlds, \bpd}$, let $\pdb' = \inparen{\onebidbworlds{\tupset'}, \bpd'}$ be the \emph{\abbrOneBIDB} obtained in the following manner: for each $\tup\in\tupset$, create block $\block_\tup = \inset{\intuple{\tup, j}_{j\in\pbox{\bound}}}$ of disjoint tuples, for all $j\in\pbox{\bound}$ where $\bound_{\tup_j} = j$ for each $\tup_j$ in $\tupset'$. @@ -58,37 +60,6 @@ Given \abbrCTIDB $\pdb =$\newline $\inparen{\worlds, \bpd}$, let $\pdb' = \inpar \end{Proposition} We now define the reduced polynomial $\rpoly'$ of a \abbrOneBIDB. -\begin{figure}[t!] -%\centering -%\resizebox{0.5\textwidth}{!}{ -%\begin{minipage}{0.5\textwidth} - \begin{align*} - &\begin{aligned}[t] - &\poly'\pbox{\project_A\inparen{\query}, \gentupset', \tup_j} =\\ - &~\sum_{\substack{\tup_{j'},\\\project_{A}\inparen{\tup_{j'}} = \tup_j}}\poly'\pbox{\query, \gentupset', \tup_{j'}} - \end{aligned} - & - &\begin{aligned}[t] - &\poly'\pbox{\query_1\union\query_2, \gentupset', \tup_j} = \\ - &\qquad\poly'\pbox{\query_1, \gentupset', \tup_j}+\poly'\pbox{\query_2, \gentupset', \tup_j} - \end{aligned}\\ - &\begin{aligned} - &\poly'\pbox{\select_\theta\inparen{\query}, \gentupset', \tup_j} =\\ - &~\begin{cases}\theta = 1 &\poly'\pbox{\query, \gentupset', \tup_j}\\\theta = 0& 0\\\end{cases} - \end{aligned} - & - &\begin{aligned} - &\poly'\pbox{\query_1\join\query_2, \gentupset', \tup_j} = \\ - &\qquad \poly'\pbox{\query_1, \gentupset', \project_{attr\inparen{\query_1}}\inparen{\tup_j}}\\ &\qquad\cdot\poly'\pbox{\query_2, \gentupset', \project_{attr\inparen{\query_2}} \inparen{\tup_j}} - \end{aligned}\\ - &&&\poly'\pbox{\rel,\gentupset', \tup_j} = j\cdot X_{\tup, j}. - \end{align*}\\%[-10mm] -%\end{minipage}} - \setlength{\abovecaptionskip}{-0.2cm} - \caption{Construction of the lineage (polynomial) for an $\raPlus$ query $\query$ over $\gentupset'$.} - \label{fig:lin-poly-bidb} - \vspace{-0.53cm} -\end{figure} \begin{Definition}[$\rpoly'$]\label{def:reduced-poly-one-bidb} Given a polynomial $\poly'\inparen{\vct{X}}$ generated from a \abbrOneBIDB, let $\rpoly'\inparen{\vct{X}}$ denote the reduced $\poly'\inparen{\vct{X}}$ derived as follows: i) compute $\smbOf{\poly'\inparen{\vct{X}}}$ eliminating monomials with cross terms $X_{\tup}X_{\tup'}$ for $\tup\neq \tup' \in \block_i$ and ii) reduce all \emph{variable} exponents $e > 1$ to $1$. diff --git a/prob-def.tex b/prob-def.tex index fa0310a..f7c4b73 100644 --- a/prob-def.tex +++ b/prob-def.tex @@ -56,19 +56,9 @@ Note that the ciricuit \circuit representing $AX$ and the circuit \circuit' repr \label{fig:circuit} \vspace{-0.53cm} \end{figure} -We next formally define the relationship of circuits with polynomials. While the definition assumes one sink for notational convenience, it easily generalizes to the multiple sinks case. -\begin{Definition}[$\polyf(\cdot)$]\label{def:poly-func} -$\polyf(\circuit)$ maps the sink of circuit $\circuit$ to its corresponding polynomial in \abbrSMB. $\polyf(\cdot)$ is recursively defined on $\circuit$ as follows, with addition and multiplication following the standard interpretation for polynomials: -\begin{equation*} - \polyf(\circuit) = \begin{cases} - \polyf(\circuit_\lchild) + \polyf(\circuit_\rchild) &\text{ if \circuit.\type } = \circplus\\ - \polyf(\circuit_\lchild) \cdot \polyf(\circuit_\rchild) &\text{ if \circuit.\type } = \circmult\\ - \circuit.\val &\text{ if \circuit.\type } = \var \text{ OR } \tnum. - \end{cases} -\end{equation*} -\end{Definition} -$\circuit$ need not encode $\poly\inparen{\vct{X}}$ in the same, default \abbrSMB representation. For instance, $\circuit$ could encode the factorized representation $(X + 2Y)(2X - Y)$ of $\poly\inparen{\vct{X}} = 2X^2+3XY-2Y^2$, as shown in \Cref{fig:circuit}, while $\polyf(\circuit) = \poly\inparen{\vct{X}}$ is always the equivalent \abbrSMB representation. + +We next define the inverse of the function $\polyf(\cdot)$ (\Cref{def:poly-func}), which maps a circuit to the polynomial it encodes. \begin{Definition}[Circuit Set]\label{def:circuit-set} $\circuitset{\polyX}$ is the set of all possible circuits $\circuit$ such that $\polyf(\circuit) = \polyX$.