The Graph Isomorphism Problem

  • Author(s) / Creator(s)
  • Technical report TR96-20. The graph isomorphism problem can be easily stated: check to see if two graphs that look differently are actually the same. The problem occupies a rare position in the world of complexity theory, it is clearly in NP but is not known to be in P and it is not known to be NP-complete. Many sub-disciplines of mathematics, such as topology theory and group theory, can be brought to bear on the problem, and yet only for special classes of graphs have polynomial-time algorithms been discovered. Incongruently, this problem seems very easy in practice. It is almost always trivial to check two random graphs for isomorphism, and fast hardware implementations exist for application domains such as image processing. This paper is mostly a survey of related work in the graph isomorphism field. We examine the problem from many angles, mirroring the multi-faceted nature of the literature. We survey complexity results for the graph isomorphism problem, and discuss some of the classes of graphs which have known polynomial-time algorithms. Many of these algorithms have constants that are so large as to negate their usefulness in actual applications. Thus a number of practical techniques, which do not have a polynomial worst case, are also examined. We end the paper by discussing some graphs which are ``hard'' for practical algorithms, and present experimental results which demonstrate a class of graphs on which practical algorithms run into difficulty. | TRID-ID TR96-20

  • Date created
  • Subjects / Keywords
  • Type of Item
  • DOI
  • License
    Attribution 3.0 International