Changes from 021221 meeting implemented.
parent
85216530df
commit
9aa7773219
|
@ -1,6 +1,7 @@
|
|||
%!TEX root=./main.tex
|
||||
\revision{
|
||||
\section{More on Circuits and Moments}
|
||||
|
||||
}
|
||||
\label{sec:gen}
|
||||
%In this section, we consider generalizations/corollaries of our results.
|
||||
|
@ -14,6 +15,8 @@ Finally, in~\Cref{sec:momemts}, we generalize our result for expectation to othe
|
|||
|
||||
\revision{
|
||||
\subsection{Cost Model, Query Plans, and Runtime}
|
||||
As in the introduction, we could consider polynomials to be represented as an expression tree.
|
||||
However, they do not capture many of the compressed polynomial representations that we can get from query processing algorithms on bags, including the recent work on worst-case optimal join algorithms~\cite{ngo-survey,skew}, factorized databases~\cite{factorized-db}, and FAQ~\cite{DBLP:conf/pods/KhamisNR16}. Intuitively, the main reason is that an expression tree does not allow for `sharing' of intermediate results, which is crucial for these algorithms (and other query processing methods as well).
|
||||
}
|
||||
|
||||
\label{sec:circuits}
|
||||
|
|
|
@ -96,15 +96,13 @@ We first formally define circuits, an encoding of polynomials that we use throug
|
|||
For illustrative purposes consider the polynomial $\poly(\vct{X}) = 2X^2 + 3XY - 2Y^2$ over $\vct{X} = [X, Y]$.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\oldstuff{\begin{Definition}[Expression Tree]\label{def:express-tree}
|
||||
Consider a vector of variables $\vct{X}$.
|
||||
An expression tree $\etree$ over $\vct{X}$ is a binary %an ADT logically viewed as an n-ary
|
||||
tree, whose internal nodes are from the set $\{+, \times\}$, with leaf nodes being either from the set $\mathbb{R}$ $(\tnum)$ or from the set of monomials $(\var)$. The members of $\etree$ are \type, \val, \vari{partial}, \vari{children}, and \vari{weight}, where \type is the type of value stored in the node $\etree$ (i.e. one of $\{+, \times, \var, \tnum\}$, \val is the value stored, and \vari{children} is the list of $\etree$'s children where $\etree_\lchild$ is the left child and $\etree_\rchild$ the right child.
|
||||
\end{Definition}}
|
||||
%\oldstuff{\begin{Definition}[Expression Tree]\label{def:express-tree}
|
||||
%Consider a vector of variables $\vct{X}$.
|
||||
% An expression tree $\etree$ over $\vct{X}$ is a binary %an ADT logically viewed as an n-ary
|
||||
%tree, whose internal nodes are from the set $\{+, \times\}$, with leaf nodes being either from the set $\mathbb{R}$ $(\tnum)$ or from the set of monomials $(\var)$. The members of $\etree$ are \type, \val, \vari{partial}, \vari{children}, and \vari{weight}, where \type is the type of value stored in the node $\etree$ (i.e. one of $\{+, \times, \var, \tnum\}$, \val is the value stored, and \vari{children} is the list of $\etree$'s children where $\etree_\lchild$ is the left child and $\etree_\rchild$ the right child.
|
||||
%\end{Definition}}
|
||||
|
||||
\revision{
|
||||
As in the introduction, we could consider polynomials to be represented as an expression tree.
|
||||
However, they do not capture many of the compressed polynomial representations that we can get from query processing algorithms on bags, including the recent work on worst-case optimal join algorithms~\cite{ngo-survey,skew}, factorized databases~\cite{factorized-db}, and FAQ~\cite{DBLP:conf/pods/KhamisNR16}. Intuitively, the main reason is that an expression tree does not allow for `sharing' of intermediate results, which is crucial for these algorithms (and other query processing methods as well).
|
||||
|
||||
We represent query polynomials via {\em arithmetic circuits}~\cite{arith-complexity}, a standard way to represent polynomials over fields (particularly in the field of algebraic complexity) that we use for polynomials over $\mathbb N$ in the obvious way.
|
||||
|
||||
|
@ -137,7 +135,7 @@ Denote \revision{$\polyf(\circuit)$}~ to be the function from circuit \revision{
|
|||
\end{equation*}
|
||||
\end{Definition}
|
||||
|
||||
Note that $\circuit$ need not encode an expression in standard monomial basis. For instance, $\circuit$ could represent a compressed form of the running example, such as $(X + 2Y)(2X - Y)$.
|
||||
Note that $\circuit$ need not encode an expression in standard monomial basis, while as stated previously a polynomial is considered to be in SMB, and the output of \polyf($\cdot$) is therefore in SMB. For instance, $\circuit$ could represent a compressed form of the running example, such as $(X + 2Y)(2X - Y)$.
|
||||
|
||||
\oldstuff{
|
||||
\begin{Definition}[Expression Tree Set]\label{def:express-tree-set}$\etreeset{\smb}$ is the set of all possible expression trees $\etree$, such that $poly(\etree) = \poly(\vct{X})$.
|
||||
|
@ -150,7 +148,7 @@ $\circuitset{\smb}$ is the set of all possible circuits $\circuit$ such that $\p
|
|||
}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
For our running example, $\circuitset{\smb} = \{2X^2 + 3XY - 2Y^2, (X + 2Y)(2X - Y), X(2X - Y) + 2Y(2X - Y), 2X(X + 2Y) - Y(X + 2Y)\}$. Note that ~\Cref{def:express-tree-set} implies that \revision{$\circuit \in \circuitset{\polyf(\circuit)}$}.
|
||||
For our running example, $\circuitset{\smb} \supset \{2X^2 + 3XY - 2Y^2, (X + 2Y)(2X - Y), X(2X - Y) + 2Y(2X - Y), 2X(X + 2Y) - Y(X + 2Y)\}$. Note that ~\Cref{def:circuit-set} implies that \revision{$\circuit \in \circuitset{\polyf(\circuit)}$}.
|
||||
}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\medskip
|
||||
|
|
Loading…
Reference in New Issue