Subscribe

Issue No.09 - September (2001 vol.12)

pp: 875-887

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.954618

ABSTRACT

<p><b>Abstract</b>—The main contribution of this work is to show that a number of fundamental and seemingly unrelated problems in database design, pattern recognition, robotics, computational geometry, and image processing can be solved simply and elegantly by stating them as instances of a unifying algorithmic framework that we call the Multiple Query problem. The Multiple Query problem (MQ, for short) is a 5-tuple <tmath>({\cal{Q}}, {\cal{A}}, {\cal{D}}, \phi, \oplus)</tmath>, where <tmath>{\cal{Q}}</tmath> is a set of queries, <tmath>{\cal{A}}</tmath> is a set of items, <tmath>\cal D</tmath> is a set of solutions, <tmath>\phi:{\cal{Q}}\times {\cal{A}}\rightarrow {\cal{D}}</tmath> is a function, and <tmath>\oplus</tmath> is a commutative and associative binary operator over <tmath>\cal D</tmath>. The input to the MQ problem consists of a sequence <tmath>Q=\langle q_1, q_2, \ldots, q_m\rangle</tmath> of <tmath>m</tmath> queries from <tmath>{\cal{Q}}</tmath> and of a sequence <tmath>A=\langle a_1, a_2, \ldots a_n\rangle</tmath> of <tmath>n</tmath> items from <tmath>{\cal{A}}</tmath>. The goal is to compute, for every query <tmath>q_i</tmath> (<tmath>1\leq i\leq m</tmath>) its solution defined as <tmath>\phi(q_i,A) = \phi(q_i,a_1)\oplus \phi(q_i,a_2) \oplus \cdots \oplus \phi(q_i,a_n)</tmath>. We begin by discussing a generic algorithm that solves a large class of MQ problems in <tmath>O(\sqrt{m}+f(n))</tmath> time on a reconfigurable mesh of size <tmath>\sqrt{n}\times \sqrt{n}</tmath>, where <tmath>f(n)</tmath> is the time necessary to compute the expression <tmath>d_1 \oplus d_2\oplus \cdots \oplus d_n</tmath> with <tmath>d_i\in{\cal{D}}</tmath> on such a platform. We then go on to show that the MQ framework affords us an optimal algorithm for the multiple point location problem on a reconfigurable mesh of size <tmath>\sqrt{n}\times\sqrt{n}</tmath>. Given a set <tmath>A</tmath> of <tmath>n</tmath> points and a set <tmath>Q</tmath> of <tmath>m</tmath><tmath>(m\leq n)</tmath> points in the plane, our algorithm reports, in <tmath>O(\sqrt{m}+\log\log n)</tmath> time, all points of <tmath>Q</tmath> that lie inside the convex hull of <tmath>A</tmath>. Quite surprisingly, our algorithm solves the multiple point location problem without computing the convex hull of <tmath>A</tmath> which, in itself, takes <tmath>\Omega(\sqrt{n})</tmath> time on a reconfigurable mesh of size <tmath>\sqrt{n}\times\sqrt{n}</tmath>. Finally, we prove an <tmath>\Omega(\sqrt{m}+g(n))</tmath> time lower bound for nontrivial MQ problems, where <tmath>g(n)</tmath> is the lower bound for evaluating the expression <tmath>d_1 \oplus d_2\oplus \cdots \oplus d_n</tmath> with <tmath>d_i\in{\cal{D}}</tmath>, on a reconfigurable mesh of size <tmath>\sqrt{n}\times\sqrt{n}</tmath>.</p>

INDEX TERMS

Query processing, reconfigurable mesh, database design, pattern recognition, image processing, computational geometry, robotics, morphology, parallel algorithms.

CITATION

Koji Nakano, Stephen Olariu, James L. Schwing, Venkatavasu Bokka, "Optimal Algorithms for the Multiple Query Problem on Reconfigurable Meshes, with Applications",

*IEEE Transactions on Parallel & Distributed Systems*, vol.12, no. 9, pp. 875-887, September 2001, doi:10.1109/71.954618