QUICK REVIEW
[论文解读] Finding Optimal Longest Paths by Dynamic Programming in Parallel
Kai Fieger, Tomáš Balyo|arXiv (Cornell University)|May 8, 2019
Graph Theory and Algorithms参考文献 15被引用 5
一句话总结
本文提出 LPDP,一种用于在无向加权图中寻找最优最长简单路径的精确动态规划算法,通过图划分和并行化实现。在困难实例上实现了显著加速——使用 64 个线程时总加速比最高达 11.69 倍——优于以往的精确方法,并解决了此前无法求解的问题。
ABSTRACT
We propose an exact algorithm for solving the longest simple path problem between two given vertices in undirected weighted graphs. By using graph partitioning and dynamic programming, we obtain an algorithm that is significantly faster than other state-of-the-art methods. This enables us to solve instances that were previously unsolved and solve hard instances significantly faster. Lastly, we present a scalable parallelization which yields the first efficient parallel algorithm for the problem.
研究动机与目标
- 开发一种用于最长路径问题的精确算法,使其在求解困难且此前未解决的实例时优于现有最先进方法。
- 设计一种可扩展的并行化策略用于最长路径问题,这是首个针对此 NP-完全问题的高效并行精确算法。
- 在真实世界图和基准图上评估所提算法的性能,重点关注不同线程数下的加速比和可扩展性。
- 识别并过滤掉‘简单’问题(即并行化无法带来收益的问题),从而在计算上具有挑战性的实例上实现加速比的公平比较。
提出的方法
- 通过图划分将顶点集划分为平衡的块,使块间边切割数最小,从而减少搜索空间。
- 在块内及块间应用动态规划,存储部分路径解以避免重复计算,并确保最优性。
- 采用共享内存并行化模型,每个线程处理图的一部分划分,通过同步合并部分结果。
- 算法优化以同时处理无权图和加权图,边权被视作路径长度的贡献。
- 采用基于时间限制的评估策略,为并行求解器设置比串行求解器更短的时间限制,以确保公平比较。
- 该方法包含一个过滤机制,用于识别‘大’问题——即耗时超过线程数 5 倍的秒数的问题——这些问题是并行化能带来可测量收益的实例。
实验结果
研究问题
- RQ1结合动态规划与图划分,能否显著提升精确最长路径算法在困难实例上的性能?
- RQ2在共享内存系统中,最长路径问题的并行化动态规划方法可实现多高的加速比?
- RQ3随着线程数增加,并行算法的性能如何变化?加速收益何时开始递减?
- RQ4哪些问题特征(如规模、密度、结构)使实例适合并行加速而非串行处理?
- RQ5所提算法能否求解此前无法求解的最长路径实例,这些实例对先前方法而言是不可行的?
主要发现
- 在 32 分钟时间限制内,LPDP 算法比串行基线多解决了 15 个基准实例,证明其具有优越的可扩展性和性能。
- 使用 64 个线程时,总加速比达到 11.691,表明该算法在困难实例上能有效利用高并行度。
- 所有问题的平均加速比低于 2.5,表明在简单实例上并行化开销占主导地位,因此不值得进行并行化。
- 对于‘大’问题(定义为耗时超过线程数 5 倍的秒数),中位加速比显著提升,64 线程性能相比 32 线程实现了 17.0% 的额外加速。
- 32 线程和 64 线程求解器的中位加速比均低于 1.0,证实对于简单问题,并行化因开销过大而适得其反。
- 该算法优于先前的精确方法,是首个为精确最长路径问题提供高效、可扩展并行解决方案的算法。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。