地球信息科学学报 ›› 2016, Vol. 18 ›› Issue (11): 1456-1464.doi: 10.3724/SP.J.1047.2016.01456

• 特约稿件 • 上一篇    下一篇

图划分对Arc-flags算法的影响

刘惠民1,2(), 孙广中1,2, 周英华3()   

  1. 1. 中国科学技术大学计算机科学与技术学院,合肥 230027
    2. 国家高性能计算中心(合肥),合肥 230027
    3. 中国科学技术大学网络信息中心,合肥 230027;
  • 收稿日期:2016-07-21 修回日期:2016-09-30 出版日期:2016-11-20 发布日期:2016-11-20
  • 作者简介:

    作者简介:刘惠民(1991-),男,硕士生,主要从事高性能计算、大数据处理研究。E-mail: huimin@mail.ustc.edu.cn

  • 基金资助:
    国家自然科学基金青年科学基金项目(61303047)

The Influence of Graph Partitioning on Arc-flags Algorithm

LIU Huimin1,2(), SUN Guangzhong1,2, ZHOU Yinghua3,*()   

  1. 1. School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China
    2. National High Performance Computing Center at Hefei, Hefei 230027, China
    3. Network Information Center of University of Science and Technology of China, Hefei 230026, China
  • Received:2016-07-21 Revised:2016-09-30 Online:2016-11-20 Published:2016-11-20
  • Contact: ZHOU Yinghua E-mail:huimin@mail.ustc.edu.cn;yinghua@ustc.edu.cn

摘要:

最短路径计算作为导航的常用算法在移动互联网中扮演了重要角色,由于路网规模的增大和终端的不停移动,传统的串行最短路径算法已经无法满足实时性要求,因此预处理技术得到了广泛使用。Arc-flags是一个经典的基于预处理技术的最短路径算法,可以提供高效的在线最短路径查询服务。现有Arc-flags算法的研究主要集中在提升预处理时空效率和比较不同路网划分方式的优劣上,尚未见图划分对Arc-flags算法影响的深入研究。本文在真实路网上测试了不同的图划分数量和边界点数量等因素对Arc-flags算法的影响,主要包括预处理时间和空间的消耗、在线查询时间和搜索范围等方面,并根据实验结果和分析提出了合理的图划分建议(如选用好的图划分方法减少边界点数量等),为改进和使用Arc-flags算法提供指导。

关键词: Arc-flags算法, 算法分析, 图划分, 最短路径, 预处理

Abstract:

The shortest path computation used in navigation system plays an important role in mobile Internet. Due to the increase of network scale and the moving terminal, the traditional serial algorithms for the calculation of the shortest path cannot meet the real-time requirements. The offline preprocessing technology is widely used in the shortest path computation. On the other hand, the increase of graph data scale will improve online query time for the shortest path query, so graph partition technology is used to partition road network graph data. The Arc-flags algorithm is a classic shortest path algorithm based on the preprocessing and graph partition technology, which provides efficient online shortest path query. Arc-flags have two main parts, one is graph partition and flags-setting algorithm and the other one is online query algorithm. Until now, existing research on Arc-flags algorithm mainly focus on the improvement of space and time-cost of preprocessing and comparison of the pros and cons of different network partitioning methods. However, the influence of the graph partitioning for Arc-flags algorithm is not analyzed in-depth. Our paper tested and analyzed the effect of different graph partitioning technology for Arc-flags algorithm in real road networks in many aspects, such as the pre-processing time, memory consumption and online query efficiency. The real road network data includes three public data sets: American New York City Road Network, American San Francisco Bay Area Road Network and American Northeast Road Network. In order to compare the effect of different graph partition technology, one graph partition tool Metis was used. We compared Arc-flags and simple Dijkstra algorithm. Arc-flags had much better performance on online query time. Also, we compared the results of Arc-flags based on different graph partition technology, the preprocessing time and the graph partition number was linear growth while the preprocessing time increased faster than the boundary point number. The graph partition number had little effect on online query time if the number arrived a large value. The searching range had little effect on online query time if the searching range reduced to a certain extent. If so, the main effect factor was memory access efficiency and so on, not the searching range. At last, we gave some reasonable graph partitioning suggestions according to our experimental results and analysis. We should use the best graph partitioning to partition road in order to reduce the boundary point number. Our research could provide some guidance to help the improve and use of the Arc-flags algorithm for shortest path algorithm in real navigation system.

Key words: Arc-flags, algorithm analysis, graph partitioning, shortest path, preprocessing