A Generic Framework for Engineering Graph Canonization Algorithms

被引:0
|
作者
Andersen J.L. [1 ]
Merkle D. [1 ]
机构
[1] Department of Mathematics and Computer Science, University of Southern Denmark, Campusvej 55, Odense
来源
| 2020年 / Association for Computing Machinery卷 / 25期
关键词
generic programming; Graph canonization; graph isomorphism;
D O I
10.1145/3356020
中图分类号
学科分类号
摘要
The state-of-the-art tools for practical graph canonization are all based on the individualization-refinement paradigm, and their difference is primarily in the choice of heuristics they include and in the actual tool implementation. It is thus not possible to make a direct comparison of how individual algorithmic ideas affect the performance on different graph classes. We present an algorithmic software framework that facilitates implementation of heuristics as independent extensions to a common core algorithm. It therefore becomes easy to perform a detailed comparison of the performance and behavior of different algorithmic ideas. Implementations are provided of a range of algorithms for tree traversal, target cell selection, and node invariant, including choices from the literature and new variations. The framework readily supports extraction and visualization of detailed data from separate algorithm executions for subsequent analysis and development of new heuristics. Using collections of different graph classes, we investigate the effect of varying the selections of heuristics, often revealing exactly which individual algorithmic choice is responsible for particularly good or bad performance. On several benchmark collections, including a newly proposed class of difficult instances, we additionally find that our implementation performs better than the current state-of-the-art tools. © 2020 ACM.
引用
收藏
相关论文
共 50 条
  • [1] Generic graph algorithms
    Kühl, D
    GENERIC PROGRAMMING, 2000, 1766 : 249 - 255
  • [2] A Modular Framework for Generic Quantum Algorithms
    Manzano, Alberto
    Musso, Daniele
    Leitao, Alvaro
    Gomez, Andres
    Vazquez, Carlos
    Ordonez, Gustavo
    Nogueiras, Maria R.
    MATHEMATICS, 2022, 10 (05)
  • [3] Engineering Multilevel Graph Partitioning Algorithms
    Sanders, Peter
    Schulz, Christian
    ALGORITHMS - ESA 2011, 2011, 6942 : 469 - 480
  • [4] A framework for call graph construction algorithms
    Grove, D
    Chambers, C
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (06): : 685 - 746
  • [5] The development of a generic framework for the implementation of concurrent engineering
    Pawar, KS
    Driva, H
    FLEXIBLE AUTOMATION AND INTELLIGENT MANUFACTURING 1996, 1996, : 478 - 487
  • [6] The development of a generic framework for the implementation of concurrent engineering
    Driva, H
    Pawar, KS
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 1996, 9 (04) : 165 - 173
  • [7] REVERSE ENGINEERING - ALGORITHMS FOR PROGRAM GRAPH PRODUCTION
    CIMITILE, A
    DECARLINI, U
    SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (05): : 519 - 537
  • [8] A generic framework for constrained optimization using genetic algorithms
    Venkatraman, S
    Yen, GG
    IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2005, 9 (04) : 424 - 435
  • [9] Fast Streaming Small Graph Canonization
    Paredes, Pedro
    Ribeiro, Pedro
    COMPLEX NETWORKS IX, 2018, : 27 - 40
  • [10] Meerkat: A Framework for Dynamic Graph Algorithms on GPUs
    Concessao, Kevin Jude
    Cheramangalath, Unnikrishnan
    Dev, Ricky
    Nasre, Rupesh
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2024, 52 (5-6) : 400 - 453