Optimized canonical labeling algorithm for graph rewriting systems

Kazuhiro Miyahara, Kazunori Ueda

    Research output: Contribution to journalArticle


    In graph-based model checking, systems are modeled with graph structures which are highly expressive and feature a symmetry reduction mechanism. However, it involves frequent isomorphism checking of graphs generated in the course of model checking. Canonical labeling of graphs, which gives a unique representa- tion to isomorphic graphs, is expected to be an effective method to check isomorphism among many graphs efficiently. It is therefore important to efficiently compute canonical forms of graphs in graph rewriting systems. For this purpose, we propose an optimization technique for McKay's canonical labeling algorithm that reuses information of graph structures that does not change by rewriting. To enable reuse, we re- formulated McKay's algorithm to clarify what substructures of graphs are utilized in its execution, and designed an algorithm for successive graph canonicalization that organizes graph information in such a way that recomputation may be minimized. We evaluated the performance of the proposed algorithm, and found that it achieved sublinear time complexity with respect to the number of vertices for many cases of re-canonicalization.

    Original languageEnglish
    Pages (from-to)126-149
    Number of pages24
    JournalComputer Software
    Issue number1
    Publication statusPublished - 2016 Feb 1


    ASJC Scopus subject areas

    • Software

    Cite this