mention of trees
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
\newcommand{\disthrectmin}{d^{l}}
|
||||
\newcommand{\disthrectmax}{d^{u}}
|
||||
\newcommand{\dist}[2]{d(#1,#2)}
|
||||
\newcommand{\kdroot}[1]{#1^{\!\text{root}}}
|
||||
\newcommand{\kdroot}[1]{#1^{\!\text{\rm root}}}
|
||||
\newcommand{\kdleft}[1]{#1^{\!L}}
|
||||
\newcommand{\kdright}[1]{#1^{\!R}}
|
||||
|
||||
@@ -461,11 +461,11 @@ transform to help work around them.
|
||||
\end{definition}
|
||||
\begin{definition}
|
||||
Regular second-order reduce problem $\Theta$ is {\bf block
|
||||
decomposable} if, for all nonempty partitions $X^{\!L} \cup X^{\!R}
|
||||
decomposable} if, for all nonempty partitions $\kdleft{X} \cup \kdright{X}
|
||||
= X \subset \mathcal{X}$ and nonempty $Y \in \mathcal{Y}$,
|
||||
$\GNP(Y,X) = \GNP(Y,X^{\!L}) \otimes \GNP(Y,X^{\!R})$. Such a
|
||||
$\GNP(Y,X) = \GNP(Y,\kdleft{X}) \otimes \GNP(Y,\kdright{X})$. Such a
|
||||
problem\footnote{Observe that commutativity and associativity ensure
|
||||
that $\GNP(Y,X) = \GNP(Y^{\!L},X) \odot \GNP(Y^{\!R},X)$.} is known
|
||||
that $\GNP(Y,X) = \GNP(\kdleft{Y},X) \odot \GNP(\kdright{Y},X)$.} is known
|
||||
as a {\bf second-order generalized $N$-body problem}.
|
||||
\end{definition}
|
||||
|
||||
@@ -557,8 +557,8 @@ operator pairs that gaurantee block decomposability.
|
||||
\begin{proof}
|
||||
By commutativity and associativity, we may rearrange
|
||||
\[ \begin{array}{ll}
|
||||
\multicolumn{2}{l}{\displaystyle \GNP(Y,X) = \bigotimes_{y \in Y} \bigotimes_{x \in X} f(x,y) = \bigotimes_{x \in X} \bigotimes_{y \in Y} f(x,y) = \bigotimes_{x \in X^{\!L}} \bigotimes_{y \in Y} f(x,y) \otimes \bigotimes_{x \in X^{\!R}} \bigotimes_{y \in Y} f(x,y)} \\
|
||||
& \displaystyle = \bigotimes_{y \in Y} \bigotimes_{x \in X^{\!L}} f(x,y) \otimes \bigotimes_{y \in Y} \bigotimes_{x \in X^{\!R}} f(x,y) = \GNP(Y,X^{\!L}) \otimes \GNP(Y,X^{\!R}).
|
||||
\multicolumn{2}{l}{\displaystyle \GNP(Y,X) = \bigotimes_{y \in Y} \bigotimes_{x \in X} f(x,y) = \bigotimes_{x \in X} \bigotimes_{y \in Y} f(x,y) = \bigotimes_{x \in \kdleft{X}} \bigotimes_{y \in Y} f(x,y) \otimes \bigotimes_{x \in \kdright{X}} \bigotimes_{y \in Y} f(x,y)} \\
|
||||
& \displaystyle = \bigotimes_{y \in Y} \bigotimes_{x \in \kdleft{X}} f(x,y) \otimes \bigotimes_{y \in Y} \bigotimes_{x \in \kdright{X}} f(x,y) = \GNP(Y,\kdleft{X}) \otimes \GNP(Y,\kdright{X}).
|
||||
\end{array} \]
|
||||
\end{proof}
|
||||
|
||||
@@ -578,8 +578,8 @@ operator pairs that gaurantee block decomposability.
|
||||
\GNPvec(Y,X)$ and by commutativity, associativity, and the
|
||||
definition of map, we have
|
||||
\[ \begin{array}{ll}
|
||||
\multicolumn{2}{l}{\displaystyle \GNPvec(Y,X) \equiv \Big\{ \!\Big( y,\bigotimes_{x \in X} f(x,y) \Big)\! \Big| y \in Y \Big\} = \Big\{ \!\Big( y,\bigotimes_{x \in X^{\!L}} f(x,y) \otimes \bigotimes_{x \in X^{\!R}} f(x,y) \Big)\! \Big| y \in Y \Big\}} \\
|
||||
& \displaystyle = \Big\{ \!\Big( y,\bigotimes_{x \in X^{\!L}} f(x,y) \Big)\! \Big| y \in Y \Big\} \otimesvec \Big\{ \!\Big( y,\bigotimes_{x \in X^{\!R}} f(x,y) \Big)\! \Big| y \in Y \Big\} \equiv \GNPvec(Y,X^{\!L}) \otimesvec \GNPvec(Y,X^{\!R}).
|
||||
\multicolumn{2}{l}{\displaystyle \GNPvec(Y,X) \equiv \Big\{ \!\Big( y,\bigotimes_{x \in X} f(x,y) \Big)\! \Big| y \in Y \Big\} = \Big\{ \!\Big( y,\bigotimes_{x \in \kdleft{X}} f(x,y) \otimes \bigotimes_{x \in \kdright{X}} f(x,y) \Big)\! \Big| y \in Y \Big\}} \\
|
||||
& \displaystyle = \Big\{ \!\Big( y,\bigotimes_{x \in \kdleft{X}} f(x,y) \Big)\! \Big| y \in Y \Big\} \otimesvec \Big\{ \!\Big( y,\bigotimes_{x \in \kdright{X}} f(x,y) \Big)\! \Big| y \in Y \Big\} \equiv \GNPvec(Y,\kdleft{X}) \otimesvec \GNPvec(Y,\kdright{X}).
|
||||
\end{array} \]
|
||||
\end{proof}
|
||||
|
||||
@@ -625,8 +625,8 @@ to the na\"{\i}ve computation,
|
||||
\[
|
||||
\GNP(Y,X) = \left\{ \begin{array}{lrr}
|
||||
f(x,y) & \multicolumn{2}{r}{\mbox{\rm if } X = \{x\} \mbox{ \rm and } Y = \{y\},} \\
|
||||
\multicolumn{2}{l}{\GNP(Y,X^{\!L}) \otimes \GNP(Y,X^{\!R})} & \mbox{\rm if } X \succ Y, \\
|
||||
\multicolumn{2}{l}{\GNP(Y^{\!L}\!,X) \odot \GNP(Y^{\!R}\!,X)} & \mbox{\rm otherwise},
|
||||
\multicolumn{2}{l}{\GNP(Y,\kdleft{X}) \otimes \GNP(Y,\kdright{X})} & \mbox{\rm if } X \succ Y, \\
|
||||
\multicolumn{2}{l}{\GNP(\kdleft{Y}\!,X) \odot \GNP(\kdright{Y}\!,X)} & \mbox{\rm otherwise},
|
||||
\end{array} \right.
|
||||
\]
|
||||
where $X \succ Y$ prescribes how to recurse,
|
||||
@@ -690,8 +690,8 @@ Summarization directly leads to a simple pruning technique.
|
||||
\GNP[\sigmahat](Y,X) = \left[ |Y| \cdot |X| \cdot I(\disthrectmax(\sigma_x(Y),\sigma_x(X)) \leq r), |Y| \cdot |X| \cdot I(\disthrectmin(\sigma_x(Y),\sigma_x(X)) \leq r) \right].
|
||||
\]
|
||||
This set is $\{|Y| \cdot |X|\}$ when
|
||||
$D^{\!U}(\sigma_x(Y),\sigma_x(X)) \leq r$ and $\{0\}$ when
|
||||
$D^{\!L}(\sigma_x(Y),\sigma_x(X)) > r$.
|
||||
$\disthrectmax(\sigma_x(Y),\sigma_x(X)) \leq r$ and $\{0\}$ when
|
||||
$\disthrectmin(\sigma_x(Y),\sigma_x(X)) > r$.
|
||||
\end{proof}
|
||||
\maybekillspace
|
||||
% \subsection{Iterative Refinement.}
|
||||
@@ -720,15 +720,15 @@ subcomponents.
|
||||
{\bf Iterative refinement} constructs a binary tree wherein each
|
||||
node $\GNP[\Sigma](Y,X)$ represents composed summary results for a
|
||||
component of computation introduced via block decomposition. First,
|
||||
initialize $\GNP[\Sigma](Y_{root},X_{root}) \gets
|
||||
\GNP[\sigmahat](\sigma_y(Y_{root}),\sigma_x(X_{root}))$. Then,
|
||||
initialize $\GNP[\Sigma](\kdroot{Y},\kdroot{X}) \gets
|
||||
\GNP[\sigmahat](\sigma_y(\kdroot{Y}),\sigma_x(\kdroot{X}))$. Then,
|
||||
repeatedly select some node $\GNP[\Sigma](Y,X) =
|
||||
\GNP[\sigmahat](\sigma_y(Y),\sigma_x(X))$ and replace it with
|
||||
\[
|
||||
\GNP[\Sigma](Y,X) \gets \left\{ \begin{array}{lrr}
|
||||
\{f(x,y)\} & \multicolumn{2}{r}{\mbox{\rm if } X = \{x\} \mbox{ \rm and } Y = \{y\}} \\
|
||||
\multicolumn{2}{l}{\GNP[\Sigma](Y,X^{\!L}) \otimeshat \GNP[\Sigma](Y,X^{\!R})} & \mbox{\rm if } X \succ Y, \\
|
||||
\multicolumn{2}{l}{\GNP[\Sigma](Y^{\!L}\!,X) \odothat \GNP[\Sigma](Y^{\!R}\!,X)} & \mbox{\rm otherwise},
|
||||
\multicolumn{2}{l}{\GNP[\Sigma](Y,\kdleft{X}) \otimeshat \GNP[\Sigma](Y,\kdright{X})} & \mbox{\rm if } X \succ Y, \\
|
||||
\multicolumn{2}{l}{\GNP[\Sigma](\kdleft{Y}\!,X) \odothat \GNP[\Sigma](\kdright{Y}\!,X)} & \mbox{\rm otherwise},
|
||||
\end{array} \right.
|
||||
\]
|
||||
where newly introduced child nodes are initialized
|
||||
@@ -751,7 +751,7 @@ Iterative refinement allows us to prune components when more precise
|
||||
knowledge of their results cannot affect the global result.
|
||||
\begin{lemma}[Extrinsic Pruning]
|
||||
For node $\GNP[\Sigma](Y,X)$ at depth $D$ of tree
|
||||
$\GNP[\Sigma](Y_{root},X_{root})$ and path $A_0,\ldots,A_D$ given by
|
||||
$\GNP[\Sigma](\kdroot{Y},\kdroot{X})$ and path $A_0,\ldots,A_D$ given by
|
||||
$A_D = \GNP[\Sigma](Y,X)$ and $A_{d-1} = parent(A_{d})$ for $1 \leq
|
||||
d \leq D$, we may prune if
|
||||
\[
|
||||
@@ -796,14 +796,14 @@ knowledge of their results cannot affect the global result.
|
||||
% we have $s_0 = \overrightarrow{\min}(s_0,b)$. Because $s_0$
|
||||
% represents a final result,
|
||||
\[
|
||||
\forall a \in \GNP[\Sigma](Y_{root},X_{root})~~ \exists r \st~ \forall b \in \GNP[\Sigma](Y,X)~~ \overrightarrow{\min}(a,b) = r.
|
||||
\forall a \in \GNP[\Sigma](\kdroot{Y},\kdroot{X})~~ \exists r \st~ \forall b \in \GNP[\Sigma](Y,X)~~ \overrightarrow{\min}(a,b) = r.
|
||||
\]
|
||||
is equivalent\footnote{This claim deserves a proof, but we omit it
|
||||
for brevity.} to the extrinsic prune test. If, for all matching
|
||||
$(q,v_a) \in a$ and $(q,v_b) \in b$, we have $v_a < v_b$, then
|
||||
$\overrightarrow{\min}(a,b) = a$. Thus, if for all matching
|
||||
$(q,[l_a,u_a]) \in A$ and $(q,[l_b,u_b]) \in B$, with $\eta(A) =
|
||||
\GNP[\Sigma](Q_{root},R_{root})$ and $\eta(B) = \GNP[\Sigma](Q,R)$,
|
||||
\GNP[\Sigma](\kdroot{Q},\kdroot{R})$ and $\eta(B) = \GNP[\Sigma](Q,R)$,
|
||||
we have $u_a \leq l_b$, then we may always choose $r = a$. In
|
||||
words, we may prune when the lower bound distance between the
|
||||
queries and references is greater than the greatest of the queries'
|
||||
@@ -902,6 +902,26 @@ knowledge of their results cannot affect the global result.
|
||||
|
||||
% \subsection{Practical Considerations: Trees, Bounds}
|
||||
|
||||
{\bf Dual-tree Algorithms.} In all of the above, our ability to find
|
||||
tight summary statistics and, by extension, to employ pruning is
|
||||
highly dependent upon the partitions $\kdleft{X} \cup \kdright{X} = X$
|
||||
and $\kdleft{Y} \cup \kdright{Y} = Y$ chosen during computation.
|
||||
While it is possible to decide these partitions on the fly and to use
|
||||
different partitions for the same sets $X$ and $Y$ occuring in
|
||||
different parts of computation, it is often computationally intensive
|
||||
or inconvenient to do so. A compromise to these two constraints
|
||||
involves trees formed on the inputs sets.
|
||||
\begin{definition}
|
||||
A {\bf dual-tree algorithm} approaches the task of partitioning
|
||||
input sets $X$ and $Y$ throughout computation by precomputing trees
|
||||
for $\kdroot{X}$ and $\kdroot{Y}$ and reusing splits from those
|
||||
trees to obtain $\kdleft{X} \cup \kdright{X} = X$ and $\kdleft{Y}
|
||||
\cup \kdright{Y} = Y$.
|
||||
\end{definition}
|
||||
Trees built for the inputs sets may also serve other useful purposes,
|
||||
such as facilitating rapid, bottom-up precomputation of statistics and
|
||||
storing summary results during the process of iterative refinement.
|
||||
|
||||
% \section{Derivation of Example Algorithms}
|
||||
|
||||
\section{Affinity Propagation}
|
||||
|
||||
Reference in New Issue
Block a user