The shortest paths problem is a fundamental challenge in graph theory, with a broad range of potential applications. However, traditional serial algorithms often struggle to adapt to large-scale graphs. To address this issue, researchers have explored parallel computing as a solution. We propose an improved BFS (Breadth-First Search) algorithm achieving higher parallelism and scalability, which requires $O(E_{wcc}(i))$ and $O(S_{wcc} \cdot E_{wcc})$ times for SSSP and APSP problems, respectively, where $S_{wcc}$ and $E_{wcc}$ denote the number of nodes and edges included in the largest weakly connected component in graph. To evaluate the effectiveness of the novel algorithm, we tested it using real graphs from Stanford Network Analysis Platform and SuiteSparse Matrix Collection. Our algorithm outperformed the BFS and $\Delta$-stepping implementations from Gunrock, achieving a speedup of 313.763$\times$ and 338.862$\times$, respectively.
翻译:最短路径问题是图论中的一项基础性挑战,具有广泛的应用前景。然而,传统串行算法往往难以适应大规模图结构。为解决这一问题,研究者探索了并行计算方案。我们提出一种改进的BFS(广度优先搜索)算法,实现了更高的并行性与可扩展性,该算法针对SSSP和APSP问题分别需要$O(E_{wcc}(i))$和$O(S_{wcc} \cdot E_{wcc})$时间复杂度,其中$S_{wcc}$和$E_{wcc}$分别表示图中最大弱连通分量包含的节点数与边数。为评估新算法的有效性,我们采用来自Stanford Network Analysis Platform和SuiteSparse Matrix Collection的真实图进行测试。结果表明,我们的算法性能优于Gunrock框架中的BFS与$\Delta$-stepping实现,分别实现了313.763倍和338.862倍的加速比。