1: \documentclass{article}
2:
3: \newif\ifpdf
4: \ifx\pdfoutput\undefined
5: \pdffalse
6: \else
7: \pdfoutput=1
8: \pdftrue
9: \fi
10:
11: \ifpdf
12: \usepackage[pdftex]{graphicx}
13: \usepackage[pdftex]{color}
14: \DeclareGraphicsExtensions{.pdf,.png,.jpg}
15: \else
16: \usepackage[dvips]{graphicx}
17: \usepackage[dvips]{color}
18: \DeclareGraphicsExtensions{.eps,.epsi,.ps}
19: \fi
20:
21: \usepackage{times}
22: \usepackage{amsfonts}
23: \usepackage{latexsym}
24: \usepackage{fullpage}
25:
26: \title{Qualitative Analysis of Correspondence \\ for Experimental Algorithmics}
27:
28: \author{
29: Chris Bailey-Kellogg \\
30: 1398 Computer Science Building\\
31: Department of Computer Sciences \\
32: Purdue University, IN 47907\\
33: {\tt cbk@cs.purdue.edu}
34: \and
35: Naren Ramakrishnan \\
36: 629 McBryde Hall \\
37: Department of Computer Science \\
38: Virginia Tech, VA 24061\\
39: {\tt naren@cs.vt.edu}
40: }
41:
42: \newlength\colwidth \setlength\colwidth{\textwidth}
43: \long\def\todo#1{{\color{red}[#1]}}
44: \long\def\gobble#1{}
45: \def\set#1{{\{#1\}}}
46: \def\R{{\ensuremath\mathbb{R}}}
47: \def\N{{\ensuremath\mathbb{N}}}
48: \def\Bool{\{0,1\}}
49:
50: \newenvironment{closeitemize}{\begin{list}{-}{\topsep=0in\itemsep=0in\parsep=0in}}{\end{list}}
51:
52: \begin{document}
53:
54: \maketitle
55:
56: \begin{abstract}
57:
58: Correspondence identifies relationships among objects via similarities
59: among their components; it is ubiquitous in the analysis of spatial
60: datasets, including images, weather maps, and computational
61: simulations. This paper develops a novel multi-level mechanism for
62: qualitative analysis of correspondence. Operators leverage domain
63: knowledge to establish correspondence, evaluate implications for model
64: selection, and leverage identified weaknesses to focus additional data
65: collection. The utility of the mechanism is demonstrated in two
66: applications from experimental algorithmics --- matrix spectral
67: portrait analysis and graphical assessment of Jordan forms of
68: matrices. Results show that the mechanism efficiently samples
69: computational experiments and successfully uncovers high-level problem
70: properties. It overcomes noise and data sparsity by leveraging domain
71: knowledge to detect mutually reinforcing interpretations of spatial
72: data.
73:
74: \end{abstract}
75:
76: \section{Introduction}
77:
78: Correspondence is a ubiquitous concept in the interpretation of
79: spatial datasets. Correspondence establishes analogy, indicating
80: objects that play similar roles with respect to some context. For
81: example, correspondence between template and image features supports
82: object recognition, correspondence among isobars in a weather map aids
83: identification of pressure troughs and ridges, and, as shown in this
84: paper, correspondence and lack thereof among level curves in datasets
85: like Fig.~\ref{fig:compan} supports characterization of matrix
86: properties for scientific computing applications.
87:
88: This paper develops a novel qualitative analysis mechanism for
89: extracting and utilizing correspondence in spatial data, with
90: particular focus on model selection in applications with sparse, noisy
91: data. We develop our mechanism in the context of {\em experimental
92: algorithmics}, an emerging field that designs methodologies for
93: empirically evaluating algorithms on realistic test problems, and
94: interpreting and generalizing the results to guide selection of
95: appropriate mathematical software. It is the preferred method of
96: analysis in applications where domain knowledge is imperfect and for
97: which our understanding of the factors influencing algorithm
98: applicability is incomplete. For instance, when solving linear
99: systems associated with finite-difference discretization of elliptic
100: partial differential equations (PDEs), there is little mathematical
101: theory to guide a choice between, say, a direct solver and an
102: iterative Krylov solver plus preconditioner. An experimental
103: algorithmics approach is to parameterize a suitable family of
104: problems, and mine a database of PDE ``solves'' to gain insight into
105: the likely relative performance of these two
106: approaches~\cite{naren-ribbens}. Thus experimental algorithmics is
107: data-driven and aims to empirically capture the relationship between
108: problem characteristics and algorithm performance.
109:
110: \begin{figure}
111: \begin{center}
112: \includegraphics[width=3in]{compan}
113: \end{center}
114: \caption{An example spectral portrait, for a matrix with eigenvalues
115: at 1, 2, 3, and 4. Qualitative properties of the portait correspond
116: to important characteristics of the underlying problem that must be
117: considered with respect to algorithm selection. For instance, a level
118: curve surrounding multiple eigenvalues indicates a level of precision
119: beyond which the eigenvalues cannot be distinguished.}
120: \label{fig:compan}
121: \end{figure}
122:
123: Many tasks in experimental algorithmics involve assessing the
124: eigenstructure of a given matrix. Eigenstructure helps characterize
125: the stability, sensitivity, and accuracy of numerical methods as well
126: as the fundamental tractability of problems. Recently, the {\em
127: spectral portrait} (e.g.\ Fig.~\ref{fig:compan}) has emerged as a tool
128: for graphically visualizing eigenstructure. A spectral portait
129: characterizes how the eigenvalues of a matrix change as perturbations
130: (e.g.\ due to numerical error) are introduced in computations
131: involving the matrix. Level curves in a spectral portait correspond
132: to perturbations, and the region enclosed by a level curve contains
133: all possible eigenvalues that are equivalent with respect to
134: perturbations of a given magnitude. Analysis of level curves with
135: respect to a class of perturbations reveals information about the
136: matrix (e.g.\ nonnormality and defective eigenvalues) and the effects
137: of different algorithms and numerical approximations.
138:
139: Experimental algorithmics thus determines {\em high-level properties}
140: from analysis of data from {\em low-level computational experiments};
141: we focus here on the particular case where such properties are
142: extracted from {\em graphical representations} and where it is
143: necessary to minimize the computational experiments performed (owing
144: to the cost and complexity of conducting them). We pose the
145: extraction of high-level properties as a model selection problem and
146: show that correspondence can be exploited to drive data collection in
147: order to discriminate among possible models. Each step in our
148: framework is parameterized by domain knowledge of properties such as
149: locality, similarity, and correspondence. Therefore the
150: framework is generic both with respect to a variety of problems in
151: experimental algorithmics (two case studies are presented here), and
152: to problems in other domains (e.g.\ connections to weather data
153: analysis are discussed). Furthermore, the approach leads to efficient
154: and explainable data collection motivated directly by the need to
155: disambiguate among high-level models.
156:
157: \section{Qualitative Analysis of Spatial Data}
158:
159: Our mechanism for qualitative analysis of correspondence is based on
160: the Spatial Aggregation Language (SAL)~\cite{bailey-kellogg96,yip96a}
161: and the ambiguity-directed sampling
162: framework~\cite{bailey-kellogg-naren01}. SAL programs apply a set of
163: uniform operators and data types (Fig.~\ref{fig:sal}) in order to
164: extract multi-layer geometric and topological representations of
165: spatial data. These operators utilize domain knowledge of physical
166: properties such as continuity and locality, specified as metrics,
167: adjacency relations, and equivalence predicates, to uncover regions of
168: uniformity in spatially distributed data. Ambiguity-directed sampling
169: focuses data collection so as to clarify difficult choice points in an
170: aggregation hierarchy. It seeks to maximize information content while
171: minimizing the number and expense of data samples.
172:
173: \begin{figure}
174: \begin{center}
175: \includegraphics[width=3in]{sal}
176: \end{center}
177: \caption{The spatial aggregation language provides a uniform vocabulary of
178: operators utilizing domain knowledge to build multi-layer structural
179: descriptions of spatial data.}
180: \label{fig:sal}
181: \end{figure}
182:
183: As an example of aggregation, consider the construction of level
184: curves in the spectral portrait in Fig.~\ref{fig:compan}. The key
185: steps in such an analysis (after ~\cite{huang99}) are:
186:
187: \begin{itemize}
188: \item The {\em input field} maps sample locations (e.g.\ on a uniform
189: grid) to perturbation levels, representing allowable imprecision
190: before a point becomes indistinguishable from an eigenvalue
191: (computational details are discussed later).
192: \item {\em Aggregate} points in a {\em neighborhood graph} (e.g.\
193: Delaunay triangulation or regular grid), localizing computation to
194: spatially proximate points.
195: \item {\em Interpolate} values at new locations from
196: values at neighboring samples, in this case determining locations of
197: points with perturbation level belonging to a discrete set (e.g.\
198: $10^{-1}$, $10^{-2}$, $\ldots$).
199: \item {\em Classify} neighboring similar-enough objects into
200: equivalence classes with an {\em equivalence predicate}, in this case
201: testing equality of field value.\footnote{While an implementation such
202: as marching squares might combine interpolation,
203: aggregation, and classification, we view them as conceptually distinct
204: operations.}
205: \item {\em Redescribe} each equivalence class of lower-level objects
206: as a single higher-level object, in this case abstracting connected
207: points into curves. The curve can be represented more compactly
208: and abstractly (e.g.\ with a spline) than its set of sample points.
209: \end{itemize}
210:
211: As a consequence of redescription, the next aggregation level can
212: treat curves as first-class objects, and aggregate, classify, and
213: redescribe them, for example to find curves nested around a single
214: eigenvalue. This higher-level process uses the same operators, but
215: with different parameters specifying locality, equivalence, and
216: abstraction. Ambiguity arises when, for example, not enough sample
217: points are available to be confident in a curve's location, or in the
218: separation of two curves. Ambiguity-directed sampling then optimizes
219: selection of new locations (e.g.\ near the ambiguity) for data
220: collection in order to clarify the decision-making.
221:
222: As this example illustrates, SAL and ambiguity-directed sampling
223: provide a suitable {\em vocabulary} (e.g.\ distance and similarity
224: metrics) and {\em mechanism} (bottom-up aggregation and top-down
225: sampling) to uncover multi-level structures in spatial data sets.
226: Successful applications include decentralized control
227: design~\cite{bailey-kellogg99,bailey-kellogg01} weather data
228: analysis~\cite{huang99}, analysis of diffusion-reaction
229: morphogenesis~\cite{ordonez00}, and identification of pockets in
230: $n$-dimensional space and decomposition of a field based on control
231: influences~\cite{bailey-kellogg-naren01}.
232:
233: \section{Qualitative Analysis of Correspondence}
234:
235: Our correspondence mechanism builds on the relationship between
236: lower-level and higher-level objects in a SAL hierarchy (refer again
237: to Fig.~\ref{fig:sal}). The mechanism has two key steps: (1)
238: establish {\em analogy} as a relation among lower-level constituents
239: of higher-level objects; (2) establish {\em correspondence} between
240: higher-level objects as an {\em abstraction} of the analogy between
241: their constituents. For example, in object recognition, analogy might
242: match image and template features, and correspondence might abstract
243: the analogy as a rigid-body transformation. Similarly, in level curve
244: analysis, analogy might match sample points on neighboring curves by
245: location and local curvature, and correspondence might abstract the
246: match as a parameterized deformation of spline representations of the
247: curves. The analogy between constituents is well-defined only because
248: of the context of the higher-level objects; higher-level
249: correspondence then captures a more global view of the local matches.
250:
251: Tab.~\ref{tab:ops} outlines our correspondence mechanism. Traditional
252: SAL operators collect and abstract groups of lower-level objects into
253: higher-level objects, and establish pairs of higher-level objects for
254: which correspondence is to be considered. Two pieces of domain
255: knowledge are then applied:
256:
257: \begin{description}
258: \item[Analogy predicate] indicates pairs (and confidence in the pairs)
259: of lower-level objects that are analogous with respect to the
260: higher-level objects they comprise. Examples include testing feature
261: values for each pair of lower-level objects, hashing indices in the
262: higher-level objects' local coordinate systems, or explicitly
263: constructing a spatial relation such as a triangulation. The
264: predicate can enforce bijective analogy if appropriate. The {\em
265: analogize} operator in Tab.~\ref{tab:ops} applies a predicate $a$ for
266: the constituent objects $l_1 \in h_1$ and $l_2 \in h_2$ of neighboring
267: (by $g_h$) higher-level object pairs $h_1$ and $h_2$; it returns a
268: graph labeling the confidence of each analogous object pair.
269:
270: \item[Correspondence abstraction function] abstracts an analogy
271: relation on lower-level objects into a description of higher-level
272: object correspondence. Examples include redescribing point-wise
273: matches as a rigid-body transformation or a parameterized deformation.
274: The abstraction captures confidence in the overall correspondence, for
275: example computing root-mean squared distance or a Hausdorff metric
276: between locations or features (e.g.\ local curvature) of analogous
277: objects. Correspondence optimization thus entails adjusting the
278: underlying analogy to maximize the abstracted confidence. Finally,
279: while nearby constituents of one object often match nearby
280: constituents of another, {\em discontinuity} (e.g.\ when an outer
281: curve envelops two inner ones in Fig.~\ref{fig:compan}) is a
282: noteworthy event detectable with the abstraction mechanism. The {\em
283: correspond} operator in Tab.~\ref{tab:ops} performs correspondence
284: abstraction from an analogy $g_l$, applying a function $c$ to the
285: subgraph of $g_l$ on the constituent objects $\ell(h_1)$ and
286: $\ell(h_2)$ of neighboring (by $g_h$) higher-level objects $h_1$ and
287: $h_2$; it returns a graph labeling each such higher-level object pair
288: with the resulting correspondence spatial object.
289: \end{description}
290:
291: \begin{table}
292: \fbox{%
293: \begin{minipage}{\colwidth}
294: \begin{enumerate}
295: \item Given lower-level objects $L$, {\em aggregate}, {\em
296: classify}, and {\em redescribe} them into higher-level objects $H$.
297:
298: \item {\em Aggregate} higher-level objects $H$ into a
299: neighborhood graph $G_H$ localizing potential correspondence.
300:
301: \item Apply an {\em analogy predicate} to relate constituent
302: lower-level objects of neighboring higher-level objects. \\
303: {\small
304: {\it analogize} $: G_H \times (L \times L \rightarrow \R)
305: \rightarrow G_L$\\
306: $(g_h,a) \mapsto \set{\set{l_1,l_2,a(l_1,l_2)}\,|\,\set{h_1,h_2} \in g_h,
307: l_1 \in h_1, l_2 \in h_2}$
308: }
309: where $l_i \in h_i$ represents constituency.
310:
311: \item Apply a {\em correspondence abstraction function}
312: to establish correspondence between higher-level objects based
313: on the analogy on their constituent lower-level objects.
314: {\small
315: {\it correspond} $: G_H \times G_L \times (G_L \rightarrow SO)
316: \rightarrow G_H'$ \\
317: $(g_h,g_l,c) \mapsto \set{\set{h_1,h_2,c(g_l[\ell(h_1) \cup
318: \ell(h_2)])}\,|\, \set{h_1,h_2} \in g_h}$
319: }
320: where $\ell(\cdot)$ obtains constituents, $g_l[\cdot]$ is the
321: subgraph for the given nodes, and $c$ returns a spatial object ($SO$)
322: representing the abstracted correspondence.
323: \end{enumerate}
324: \end{minipage}
325: }
326: \vspace*{-0.5\baselineskip}
327: \caption{Qualitative correspondence analysis mechanism, including
328: formal definitions of new operators.}
329: \label{tab:ops}
330: \end{table}
331:
332: An aggregation/correspondence hierarchy establishes a distribution of
333: possible high-level models for an input instance, thereby posing a
334: {\em model selection problem}: choose the one that (e.g.\ in a
335: maximum-likelihood sense) best matches the data. Our mechanism
336: supports model selection in two key ways. (1) The operators estimate
337: and optimize confidence in correspondence. Since correspondence
338: implies mutual support among parts of a model, it can allow relatively
339: high-confidence model selection even with sparse, noisy data. (2) The
340: operators bridge the lower-/higher-level gap. This allows weaknesses
341: and inconsistencies detected in higher-level correspondence to focus
342: lower-level data collection to be maximally effective for model
343: disambiguation.
344:
345: \section{Applications in Experimental Algorithmics}
346:
347: We present two case studies applying our analysis framework to
348: experimental algorithmics problems. For each we describe the
349: underlying numerical analysis problem, our particular solution
350: approach, and results. To the best of our knowledge, these are the
351: {\em first} systematic algorithms for performing complete imagistic
352: analyses (as opposed to relying on human visual
353: inspection~\cite{precise}), and which focus data collection and
354: evaluate models until a high-confidence model is obtained.
355:
356: \subsection{Matrix Spectral Portrait Analysis}
357:
358: Our first case study focuses on the previously introduced task of
359: matrix spectral portrait analysis (Fig.~\ref{fig:compan}). Formally,
360: the spectral portrait of a matrix $\mathcal{A}$ is defined as:
361: \begin{equation}\label{eq:portrait}
362: {\mathcal P}(z) = \log {\parallel \mathcal{A} \parallel}_2 \,\,
363: {\parallel {(\mathcal{A} - zI)}^{-1}\parallel}_2,
364: \end{equation}
365: where $I$ is the identity matrix. The singularities of this map are
366: located at the eigenvalues of the matrix, and the analysis determines
367: the sensitivity of computation to numerical imprecision by analyzing
368: how the map decreases moving away from the eigenvalues. As discussed
369: in the introduction, the region enclosed by a level curve of a certain
370: magnitude contains all points that act as ``equivalent'' eigenvalues
371: under perturbations of that magnitude. For example,
372: Fig.~\ref{fig:compan} illustrates that, under large enough
373: perturbation, eigenvalues at 3 and 4 are indistinguishable; after
374: larger perturbations, their joint contour also surrounds the
375: eigenvalue at 2, and then the eigenvalue at 1. This illustrates that
376: sensitivity analysis is solved by identifying values at which level
377: curves merge.
378:
379: Tab.~\ref{tab:ellipse-code} describes qualitative correspondence
380: analysis of spectral portraits. Data are collected by computing
381: Eq.~\ref{eq:portrait}; the analysis determines perturbation
382: equivalence of eigenvalues by detecting curve merges via level curve
383: correspondence. The first aggregation level generates samples on a
384: coarse regular grid around the known eigenvalue locations, and then
385: interpolates and abstracts level curves as in the spatial aggregation
386: example. The second aggregation level finds correspondence among
387: these curves from a Delaunay triangulation analogy of their
388: constituent points. It tracks correspondence outward from the
389: eigenvalues to establish a model of merge events, establishing
390: confidence in such a model by good analogy (most points match) and
391: good curve separation (regularly-spaced samples separate the two
392: curves, providing evidence that contours do not merge at a smaller
393: perturbation). Ambiguity-directed sampling generates additional data
394: in order to separate curves and to ensure that each eigenvalue pair is
395: merged at some perturbation.
396:
397: \begin{table}[t]
398: \fbox{%
399: \begin{minipage}{\colwidth}
400: {\bf Input}: matrix ${\mathcal A}$, eigenvalues $E$,
401: perturbation levels $V$. \\
402: {\bf Output}: $\set{(E_i,E_j,v_{ij})}$ such that eigenvalues $E_i$ and
403: $E_j$ are equivalent with respect to perturbation of $v_{ij} \in V$.
404:
405: \medskip
406:
407: {\bf Level one}:
408: \begin{closeitemize}
409: \item Data collection: Eq.~\ref{eq:portrait}.
410: \item Initial samples $P$: points on coarse regular grid.
411: \item Output: level curves $C$.
412: \item Aggregation: aggregate grid; interpolate points $I$ at
413: values in $V$; classify by perturbation; redescribe into curves.
414: \item Aggregation 2: $G_I$ = triangulation of points $I$.
415: \end{closeitemize}
416:
417: \medskip
418:
419: {\bf Level two}:
420: \begin{closeitemize}
421: \item Input: curves $C$.
422: \item Output: problem output $\set{(E_i,E_j,v_{ij})}$.
423: \item Aggregation: $(C_k,C_l) \in G_C$ iff constituent points are
424: neighbors in $G_I$.
425: \item Correspondence:
426: \begin{closeitemize}
427: \item Analogy: cross-curve neighbors in $G_I$.
428: \item Abstraction: $C_k,C_l \mapsto (m_k,m_l,\theta_{kl})$, for
429: $m_i$\% and $m_j$\% constituent points matched, and samples $P'
430: \subseteq P$ between $C_k$ and $C_l$ separated by no more than
431: $\theta_{kl}$ in angle around the enclosed eigenvalue.
432: \end{closeitemize}
433: \item Model evaluation: follow correspondence outward from each
434: pair of eigenvalues $(i,j)$; evaluate confidence with respect to
435: $(m_k,m_l,\theta_{kl})$.
436: \item Sampling:
437: \begin{closeitemize}
438: \item When no $(E_i,E_j,v_{ij})$ for some $(i,j)$, expand grid.
439: \item When some $\theta_{kl}$ too large, subsample on finer grid.
440: \end{closeitemize}
441: \end{closeitemize}
442: \end{minipage}
443: }
444: \vspace*{-0.5\baselineskip}
445: \caption{Correspondence mechanism instantiation for spectral portrait
446: analysis.}
447: \label{tab:ellipse-code}
448: \end{table}
449:
450: \begin{figure}
451: \begin{center}
452: \begin{tabular}{cc}
453: \includegraphics[width=3in]{ellipse-trig1} &
454: \includegraphics[width=3in]{ellipse-trig2} \\
455: \includegraphics[width=3in]{ellipse-corr1} &
456: \includegraphics[width=3in]{ellipse-corr2b} \\
457: \includegraphics[width=2.5in]{ellipse-tree1} &
458: \includegraphics[width=2.5in]{ellipse-tree2}
459: \end{tabular}
460: \end{center}
461: \caption{Example of correspondence analysis of spectral
462: portraits for (left) a small, coarse grid, and (right) an extended,
463: subsampled grid. (top) Delaunay triangulation analogy for
464: interpolated points comprising contours. (middle) Analogy at an
465: example merge event; separating samples marked with ``+''. (bottom)
466: Curve-tracking tree: eigenvalues at bottom; node for curves labeled
467: with perturbation level. Merge events indicate at what perturbation
468: level descendant eigenvalues are indistinguishable.}
469: \label{fig:ellipse-demo}
470: \end{figure}
471:
472: Fig.~\ref{fig:ellipse-demo} demonstrates the application of the
473: mechanism to the companion matrix of the polynomial $(x-1)^3 (x-2)^3
474: (x-3)^3 (x-4)$~\cite{precise} (see also Fig.~\ref{fig:compan}). The
475: initial grid has at least one sample between each eigenvalue (in the
476: example, a resolution of 0.5) and extends one unit beyond the bounding
477: box of the eigenvalues. While correspondence is found even with this
478: coarse grid (left of Fig.~\ref{fig:ellipse-demo}), the confidence is
479: not high (only a few samples separate the curves), and no curve
480: surrounds all eigenvalues. Ambiguity-directed sampling computes
481: additional points on a finer, larger grid (right of
482: Fig.~\ref{fig:ellipse-demo}), yielding the correct results. We have
483: applied this same mechanism to a variety of polynomial companion
484: matrices with different numbers and spacings of roots; in each case,
485: the correspondence mechanism correctly identifies the correct model
486: with high confidence after 1-3 subsamples and 1-3 grid expansions.
487:
488: \subsection{Qualitative Computation of Jordan Forms}
489:
490: Our second case study focuses on analysis of the {\em Jordan
491: decomposition} of a matrix. Matrix decomposition is an important
492: technique, revealing pertinent features of a matrix and supporting
493: algorithmic techniques in areas including data analysis, PDEs, and
494: linear algebra. The Jordan decomposition reveals the eigenstructure
495: of a matrix as follows. Consider a matrix $\mathcal{A}$ that has $r$
496: independent eigenvectors with eigenvalues $\lambda_i$ of multiplicity
497: $\rho_i$. The Jordan decomposition of $\mathcal{A}$ contains $r$
498: upper triangular ``blocks,'' as revealed by the diagonalization:
499: {\small
500: \[
501: \mathcal{B}^{-1} \mathcal{A} \mathcal{B} =
502: \left[ \begin{array}{cccc}
503: {\mathcal{J}}_1 & & & \\
504: & {\mathcal{J}}_2 & & \\
505: & & \cdot & \\
506: & & & {\mathcal{J}}_r\\
507: \end{array} \right],
508: \,\,
509: {\mathcal{J}}_i =
510: \left[ \begin{array}{cccc}
511: \lambda_i & 1 & & \\
512: & \lambda_i & 1 & \\
513: & & \cdot & 1 \\
514: & & & \lambda_i \\
515: \end{array} \right]
516: \]
517: }
518:
519: The typical approach to computing the Jordan form leads to a
520: numerically unstable algorithm~\cite{golub-loan}; taking extra care
521: usually requires more work than the original computation! Recently,
522: however, an experimental algorithmics approach, inferring multiplicity
523: from a geometric analysis of eigenvalue perturbations, has proved
524: successful~\cite{precise}. It is well known that the {\it
525: computed eigenvalues} corresponding to the actual value $\lambda_i$
526: are given by:
527: \begin{equation}\label{eq:jordan-perturb}
528: \lambda_i + |\delta|^{1\over{\rho_i}} e^{{i\phi}\over{\rho_i}},
529: \end{equation}
530: where $\lambda_i$ is of multiplicity $\rho_i$, and the phase $\phi$ of
531: the perturbation $\delta$ ranges over
532: \set{$2\pi, 4\pi, \ldots, 2\rho_i \pi$} if $\delta$ is positive and
533: over \set{$3\pi, 5\pi, \ldots, 2(\rho_i+1) \pi$} if $\delta$ is
534: negative. The insight of~\cite{precise} is to graphically {\it
535: superimpose} numerous such perturbed calculations so that the
536: aggregate picture reveals eigenvalue multiplicity. The phase
537: variations imply that computed eigenvalues lie on the vertices of a
538: regular polygon with $2 \rho_i$ sides, centered on $\lambda_i$, and
539: with diameter influenced by $|\delta|$. For example,
540: Fig.~\ref{fig:jordan} shows perturbations for the 8-by-8 Brunet matrix
541: with Jordan structure $(-1)^1 (-2)^1 (7)^3 (7)^3$~\cite{precise}, for
542: $\delta \in [2^{-50},2^{-40}]$. The six ``sticks'' around the
543: eigenvalue at 7 clearly reveal that its Jordan block is of size
544: 3.\footnote{The multiplicity of the second eigenvalue at 7 is revealed
545: at a smaller perturbation level.} The ``noise'' in
546: Fig.~\ref{fig:jordan} is a consequence of having two Jordan blocks
547: with the same eigenvalue and size, and a ``ring'' phenomenon studied
548: in~\cite{edelman-ma}; we do not attempt to capture these effects in
549: this paper.
550:
551: \begin{figure}
552: \begin{center}
553: \begin{tabular}{cc}
554: \includegraphics[width=3in]{example-jordan1}
555: \end{tabular}
556: \end{center}
557: \caption{Superimposed spectra for assessing the Jordan form
558: of the Brunet matrix.}
559: \label{fig:jordan}
560: \end{figure}
561:
562: Tab.~\ref{tab:star-code} describes qualitative correspondence analysis
563: of Jordan form. Data are collected by randomly perturbing at a
564: specified magnitude $\delta$; the analysis determines multiplicity by
565: detecting {\em symmetry} correspondence in the samples. The first
566: aggregation level collects the samples for a given $\delta$ into
567: triangles. The second aggregation level finds congruent triangles via
568: geometric hashing~\cite{hash}, and uses congruence to establish
569: analogy among triangle vertices. Correspondence abstracts the analogy
570: into a rotation about a point (the eigenvalue), and evaluates whether
571: each point rotates onto another and whether matches define regular
572: polygons. Ambiguity-directed sampling collects additional random
573: samples as necessary. A third level then compares rotations across
574: different perturbations, re-visiting perturbations or choosing new
575: perturbations in order to disambiguate. Fig.~\ref{fig:star-demo}
576: demonstrates this mechanism on the Brunet matrix discussed above. The
577: top part uses a small set of sample points, while the bottom two parts
578: use a larger set and illustrate a good vs.\ bad correspondence.
579:
580: We organized data collection into rounds of 6-8 samples each and
581: experimented with three policies on where next to collect data after
582: completing a round: (1) at the same perturbation level, (2) at a
583: higher perturbation level, or (3) at the same perturbation level
584: unless the number of posited models increased (model
585: ``hallucination,'' as in bottom of Fig.~\ref{fig:star-demo}). We tested
586: 10 matrices across 4-10 perturbation levels each, as described
587: in~\cite{precise}. We varied a tolerance parameter for triangle
588: congruence from 0.1 to 0.5 (effectively increasing the number of
589: models posited) and determined the number of rounds needed to
590: determine the Jordan form. Policy 1 required an average of 1 round at
591: a tolerance of 0.1, up to 2.7 rounds at 0.5. Even with a large number
592: of models proposed, additional data quickly weeded out bad models.
593: Policy 2 fared better only for cases where policy 1 was focused on
594: lower perturbation levels, and policy 3 was preferable only for the
595: Brunet-type matrices. In other words, there is no real advantage to
596: moving across perturbation levels! In retrospect, this is not
597: surprising since our Jordan form computation treats multiple
598: perturbations (irresp.\ of level) as independent estimates of
599: eigenstructure.
600:
601: \begin{table}[t]
602: \fbox{%
603: \begin{minipage}{\colwidth}
604: {\bf Input}: matrix ${\mathcal A}$, perturbations $\set{\delta_1,
605: \ldots, \delta_m}$, region $R$. \\
606: {\bf Output}: eigenvalue $\lambda$ and multiplicity $\rho$ in region
607: $R$.
608:
609: \medskip
610: {\bf Level one}:
611: \begin{closeitemize}
612: \item Data collection: for $\delta_i$, compute random normwise
613: perturbation of ${\mathcal A}$ as $a_{ij} \pm 2^{(1 - \delta_i)}
614: {\parallel \mathcal{A} \parallel}_{\infty}$, yielding $P_i$.
615: \item Initial samples: At some level $i$.
616: \item Output: triangles $T_i$.
617: \item Aggregation: triangulate $P_i$ (for efficiency, require 2 vertices
618: on convex hull).
619: \end{closeitemize}
620:
621: \medskip
622: {\bf Level two}:
623: \begin{closeitemize}
624: \item Input: Triangles $T_i$.
625: \item Output: set of rotations $(x,y,\theta)$.
626: \item Aggregation: congruent triangles by geom.\ hashing.
627: \item Correspondence:
628: \begin{closeitemize}
629: \item Analogy: by triangle congruence.
630: \item Abstraction: $(t_j,t_k) \mapsto (x,y,\theta,d,r)$,
631: where rotation $(x,y,\theta)$ yields same analogy, with
632: RMSD $d$ between $P_i$ and rotated, and polygon regularity $r
633: = \parallel \parallel p_a-p_b \parallel - \parallel p_b-p_c \parallel
634: \parallel$, where rotation maps $p_a \rightarrow p_b \rightarrow p_c$.
635: \end{closeitemize}
636: \item Model evaluation: confidence with respect to $d$ and $r$; priors
637: support rotations around $(x,y)$ in convex hull of $P_i$ and by
638: $\theta$ corresponding to ``reasonable'' multiplicity.
639: \item Sampling: for multiple ``good'' models, collect additional
640: random samples at perturbation $\delta_i$.
641: \end{closeitemize}
642:
643: \medskip
644: {\bf Level three}:
645: \begin{closeitemize}
646: \item Input: $\set{(x_{ij},y_{ij},\theta_{ij})}$ over models ($j$)
647: from chosen perturbation levels ($i$).
648: \item Output: $(\lambda,\rho)$.
649: \item Aggregation: clustering in $(x,y,\theta)$-space.
650: \item Model evaluation: for $\lambda=(x,y),\rho=\pi/\theta$, take
651: joint probability over $i,j$ of $(x_{ij},y_{ij},\theta_{ij}) \approx
652: (x,y,\theta)$.
653: \item Sampling: for high entropy in model evaluation, add samples and
654: re-evaluate at outlier $\delta_j$ or try new $\delta_k$.
655: \end{closeitemize}
656: \end{minipage}
657: }
658: \vspace*{-0.5\baselineskip}
659: \caption{Correspondence mechanism instantiation for Jordan form
660: analysis.}
661: \label{tab:star-code}
662: \end{table}
663:
664: \begin{figure}
665: \begin{center}
666: \includegraphics[width=3in]{star-trig2a}\hspace*{0.1in}\includegraphics[width=3in]{star-corr2a}
667: \\
668: \vspace*{0.1in}
669: \includegraphics[width=3in]{star-trig4a}\hspace*{0.1in}\includegraphics[width=3in]{star-corr4a}
670: \\
671: \vspace*{0.1in}
672: \includegraphics[width=3in]{star-trig4b}\hspace*{0.1in}\includegraphics[width=3in]{star-corr4b}
673: \end{center}
674: \caption{Example of correspondence analysis of Jordan form, for (top)
675: small sample set; (middle) larger sample set; (bottom) larger sample
676: set but lower-scoring model. (left) Approximately-congruent
677: triangles. (right) Evaluation of correspondence in terms of match
678: between original (red dots) and rotated (green circles) samples.}
679: \label{fig:star-demo}
680: \end{figure}
681:
682: \section{Discussion}
683:
684: Our general mechanism for uncovering and utilizing correspondence has
685: proved successful on challenging problems from experimental
686: algorithmics. The mechanism leverages properties such as locality,
687: continuity, and decomposability, which are exhibited by the
688: applications studied here as well as many physical systems.
689: Decomposability and locality allow us to qualify correspondence in a
690: manner that drives data collection. Contintuity allows correspondence
691: to obtain confidence in a model even with sparse, noisy data:
692: consistent matches among nearby constituents mutually reinforce each
693: other, allowing correspondence abstraction to detect and filter out
694: inconsistent interpretations.
695:
696: Correspondence can be an appropriate analysis tool for a variety of
697: reasons. In the spectral portrait application, level curves summarize
698: groups of eigenvalue computations, so their high-level correspondence
699: aids characterization of the underlying computation. In the Jordan
700: form application, however, the higher-level entity has no significance
701: as a geometric object in numerical analysis terms, but correspondence
702: is applicable due to the semantics of superposition. This semantics
703: also leads to phenomena such as hallucination (given enough samples,
704: any pattern can be found), requiring a more careful treatment of
705: decomposition.
706:
707: Our work is similar in spirit to that of~\cite{huang99} for weather
708: data interpretation, and can be seen as a significant generalization,
709: formalization, and application of techniques studied there for finding
710: correspondence in meteorological data. Similarly, our correspondence
711: framework captures and generalizes the computation required in object
712: recognition, allowing the body of research developed there to be
713: applied to a broader class of applications, such as experimental
714: algorithmics. Compared to traditional manual analyses of graphical
715: representations in experimental algorithmics, the algorithmic nature
716: of our approach yields advantages such as model evaluation and
717: targeted sampling. As with compositional modeling~\cite{compo}, we
718: advocate targeted use of domain knowledge, and as with
719: qualitative/quantitative model selection (e.g.~\cite{ironi}), we seek
720: to determine high level models for empirical data. Our focus is on
721: problems requiring particular forms of domain knowledge to overcome
722: sparsity and noise in spatial datasets. A possible direction of future
723: work is to explore if the inclusion-exclusion methodology popular in
724: grid algorithms~\cite{gallopoulos-portrait} is also useful for
725: tracking correspondence.
726:
727: Our long-term goal is to study data collection policies and their
728: relationships to qualitative model determination. The notion of
729: estimating problem-solving performance by collecting data (and vice
730: versa) is reminiscent of reinforcement learning~\cite{boyan00} and
731: active learning~\cite{jordan-jair}. The decomposable nature of SAL
732: computations promises to (i) support the design of efficient,
733: hierarchical algorithms for model estimation and (ii) provide a deeper
734: understanding of the recurring roles that correspondence plays in
735: spatial data analysis.
736:
737: \bibliographystyle{plain}
738: \bibliography{corr}
739:
740: \end{document}
741: