An efficient algorithm for the 1D total Visibility-Index problem

2017 
Let T be a terrain, and let P be a set of points (locations) on its surface. An important problem in Geographic Information Science (GIS) is computing the visibility index of a point p on P, that is, the number of points in P that are visible from p. The total visibility-index problem asks for computing the visibility index of every point in P. Most applications of this problem involve 2-dimensional terrains represented by a grid of n n square cells, where each cell is associated with an elevation value, and P consists of the center-points of these cells. Current approaches for computing the total visibility- index on such a terrain take at least quadratic time with respect to the number of the terrain cells. While nding a subquadratic solution to this 2D total visibility-index problem is an open problem, surprisingly, no subquadratic solution has been proposed for the one-dimensional (1D) version of the problem; in the 1D problem, the terrain is an x-monotone polyline, and P is the set of the polyline vertices. We present an O(n log2 n) algorithm that solves the 1D total visibility-index problem in the RAM model. Our algorithm is based on a geometric dual- ization technique, which reduces the problem into a set of instances of the red-blue line segment intersection counting problem. We also present a parallel version of this algorithm, which requires O(log2 n) time and O(n log2 n) work in the CREW PRAM model. We im- plement a naive O(n2) approach and three variations of our algorithm: one employing an existing red-blue line segment intersection algorithm and two new ap- proaches that perform the intersection counting by leveraging features specic to our problem. We present MADALGO, Aarhus University, Denmark, fpeyman,constantg@madalgo.au.dk yDepartment of Mathematics and Computer Science, TU Eindhoven, The Netherlands, fmdberg,c.lambrechtsg@tue.nl zDepartment of Information and Computer Sciences, University of Hawaii at Manoa, USA, fhenric,karsin,nodarig@hawaii.edu. The last two of these authors were partially supported by the National Science Foundation under Grant No. 1533823. experimental results for both serial and parallel imple- mentations on large synthetic and real-world datasets, using two distinct hardware platforms. Results show that all variants of our algorithm outperform the naive approach by several orders of magnitude on large datasets. Furthermore, we show that our new inter- section counting implementations achieve more than 8 times speedup over the existing red-blue line segment intersection algorithm. Our parallel implementation is able to process a terrain of 224 vertices in under 1 minute using 16 cores, achieving more than 7 times speedup over serial execution.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    2
    Citations
    NaN
    KQI
    []