Journal of South China University of Technology (Natural Science Edition) ›› 2011, Vol. 39 ›› Issue (10): 79-83.doi: 10.3969/j.issn.1000-565X.2011.10.014

• Computer Science & Technology • Previous Articles     Next Articles

Fast Algorithm for Undirected Graph Isomorphism

Hou Ai-min  Hao Zhi-feng  Hu Chuan-fu  Lu Hai-peng   

  1. School of Computer Science and Engineering,South China University of Technology,Guangzhou 510006,Guangdong,China
  • Received:2011-03-24 Revised:2011-05-09 Online:2011-10-25 Published:2011-09-01
  • Contact: 侯爱民(1963-) ,男,在职博士生,东莞理工学院副教授,主要从事组合优化问题的理论研究与算法设计、进化优化算法的设计及应用研究. E-mail:zhham@163.com
  • About author:侯爱民(1963-) ,男,在职博士生,东莞理工学院副教授,主要从事组合优化问题的理论研究与算法设计、进化优化算法的设计及应用研究.
  • Supported by:

    国家自然科学基金资助项目( 61070033) ; 广东省自然科学基金重点项目( 9251009001000005) ; 广东省科技计划项目( 2010B050400011, 2010B080701070)

Abstract:

The two important methods of distinguishing undirected graph isomorphism,namely the canonical labeling algorithm and the vertex partition algorithm,both have their own disadvantages. Specifically,the former can not work for those graphs which cannot be canonically labeled,and,this latter has to backtrack and try again and again,which results in exponential time cost. For any two isomorphic undirected graphs,new supergraphs can be
constructed by adding a new vertex and its incident edges to each graph. The supergraphs are isomorphic if and only if ths neighbors of the new vertexes preserve the isomorphic relation in the original isomorphic graphs. Based on this necessary and sufficient condition,a candidate set of isomorphic functions is selected with the help of an efficient necessary condition. Then,by distinguishing the supergraph isomorphism according to the subgraph isomorphism,a fast algorithm without backtracking is proposed to reduce the time cost and guarantee the distinguishing results.Theoretical and experimental results on some real cases demonstrate that the proposed algorithm is effective.

Key words: undirected graph isomorphism, fast algorithm, canonical labeling algorithm, vertex partition algorithm

CLC Number: