An efficient algorithm for the 1D total visibility-index problem and its parallelization

Autor: Henri Casanova, Peyman Afshani, Mark de Berg, Constantinos Tsirogiannis, Ben Karsin, Colin Lambrechts, Nodari Sitchinava
Přispěvatelé: Algorithms, Geometry and Applications
Jazyk: angličtina
Rok vydání: 2018
Předmět:
Zdroj: Journal on Experimental Algorithmics, 23(2):2.3. Association for Computing Machinery, Inc
Afshani, P, De Berg, M, Casanova, H, Karsin, B, Lambrechts, C, Sitchinava, N & Tsirogiannis, C 2018, ' An efficient algorithm for the 1D total visibility-index problem and its parallelization ', ACM Journal of Experimental Algorithmics, vol. 23, 2.3 . https://doi.org/10.1145/3209685
ISSN: 1084-6654
DOI: 10.1145/3209685
Popis: Let T be a terrain and P be a set of points 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 the visibility index of every point in P . We present the first subquadratic-time algorithm to solve the one-dimensional total-visibility-index problem. Our algorithm uses a geometric dualization technique to reduce the problem to a set of instances of the red--blue line segment intersection counting problem, allowing us to find the total visibility-index in O ( n log 2 n ) time. We implement a naive O ( n 2 ) approach and four variations of our algorithm: one that uses an existing red--blue line segment intersection counting algorithm and three new approaches that leverage features specific to our problem. Two of our implementations allow for parallel execution, requiring O (log 2 n ) time and O ( n log 2 n ) work in the CREW PRAM model. We present experimental results for both serial and parallel implementations on synthetic and real-world datasets using two hardware platforms. Results show that all variants of our algorithm outperform the naive approach by several orders of magnitude. Furthermore, we show that our special-case red--blue line segment intersection counting implementations out-perform the existing general-case solution by up to a factor 10. Our fastest parallel implementation is able to process a terrain of more than 100 million vertices in under 3 minutes, achieving up to 85% parallel efficiency using 16 cores.
Databáze: OpenAIRE