{"title":"Engineering an algorithm for constructing low-stretch geometric graphs with near-greedy average degrees","authors":"FNU Shariful , Justin Weathers , Anirban Ghosh , Giri Narasimhan","doi":"10.1016/j.comgeo.2025.102201","DOIUrl":null,"url":null,"abstract":"<div><div>We design and engineer <span>Fast-Sparse-Spanner</span>, a simple and practical (fast and memory-efficient) algorithm for constructing sparse low stretch factor geometric graphs on large pointsets in the plane. To our knowledge, this is the first practical algorithm to construct fast low stretch factor graphs on large pointsets with average degrees (hence, the number of edges) competitive with that of greedy spanners, the sparsest known class of Euclidean geometric spanners. Although theoretically not guaranteed to produce <em>t</em>-spanners, we always found in our rigorous experiments that <span>Fast-Sparse-Spanner</span> generated near-greedy size <em>t</em>-spanners.</div><div>To evaluate our implementation in terms of computation speed, memory usage, and quality of output, we performed extensive experiments with synthetic and real-world pointsets, and by comparing it to our closest competitor <span>Bucketing</span>, the fastest known greedy spanner algorithm for pointsets in the plane, devised by Alewijnse et al. (2017) <span><span>[5]</span></span>. Our experiment with constructing a 1.1-spanner on a large synthetic pointset with 128<em>K</em> points uniformly distributed within a square shows more than a 41-fold speedup with roughly a third of the memory usage of that of <span>Bucketing</span>, but with only a 3% increase in the average degree of the resulting graph. When ran on a pointset with a million points drawn from the same distribution, we observed a 130-fold speedup, with roughly a fourth of the memory usage of that of <span>Bucketing</span>, and just a 6% increase in the average degree. In terms of diameter, the graphs generated by <span>Fast-Sparse-Spanner</span> beat greedy spanners in most cases (have substantially lower diameter) while maintaining near-greedy average degree. Further, our algorithm can be easily parallelized to take advantage of parallel environments.</div><div>We share the implementations via <span>GitHub</span> for broader uses and future research.</div><div><strong>GitHub repository.</strong> <span><span>https://github.com/ghoshanirban/FSS</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":51001,"journal":{"name":"Computational Geometry-Theory and Applications","volume":"130 ","pages":"Article 102201"},"PeriodicalIF":0.4000,"publicationDate":"2025-06-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computational Geometry-Theory and Applications","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0925772125000392","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"MATHEMATICS","Score":null,"Total":0}
引用次数: 0
Abstract
We design and engineer Fast-Sparse-Spanner, a simple and practical (fast and memory-efficient) algorithm for constructing sparse low stretch factor geometric graphs on large pointsets in the plane. To our knowledge, this is the first practical algorithm to construct fast low stretch factor graphs on large pointsets with average degrees (hence, the number of edges) competitive with that of greedy spanners, the sparsest known class of Euclidean geometric spanners. Although theoretically not guaranteed to produce t-spanners, we always found in our rigorous experiments that Fast-Sparse-Spanner generated near-greedy size t-spanners.
To evaluate our implementation in terms of computation speed, memory usage, and quality of output, we performed extensive experiments with synthetic and real-world pointsets, and by comparing it to our closest competitor Bucketing, the fastest known greedy spanner algorithm for pointsets in the plane, devised by Alewijnse et al. (2017) [5]. Our experiment with constructing a 1.1-spanner on a large synthetic pointset with 128K points uniformly distributed within a square shows more than a 41-fold speedup with roughly a third of the memory usage of that of Bucketing, but with only a 3% increase in the average degree of the resulting graph. When ran on a pointset with a million points drawn from the same distribution, we observed a 130-fold speedup, with roughly a fourth of the memory usage of that of Bucketing, and just a 6% increase in the average degree. In terms of diameter, the graphs generated by Fast-Sparse-Spanner beat greedy spanners in most cases (have substantially lower diameter) while maintaining near-greedy average degree. Further, our algorithm can be easily parallelized to take advantage of parallel environments.
We share the implementations via GitHub for broader uses and future research.
期刊介绍:
Computational Geometry is a forum for research in theoretical and applied aspects of computational geometry. The journal publishes fundamental research in all areas of the subject, as well as disseminating information on the applications, techniques, and use of computational geometry. Computational Geometry publishes articles on the design and analysis of geometric algorithms. All aspects of computational geometry are covered, including the numerical, graph theoretical and combinatorial aspects. Also welcomed are computational geometry solutions to fundamental problems arising in computer graphics, pattern recognition, robotics, image processing, CAD-CAM, VLSI design and geographical information systems.
Computational Geometry features a special section containing open problems and concise reports on implementations of computational geometry tools.