A polynomial-time algorithm for simple undirected graph isomorphism

Jing He, Jinjun Chen, Guangyan Huang, Jie Cao, Zhiwang Zhang, Hui Zheng, Peng Zhang, Roozbeh Zarei, Ferry Sansoto, Ruchuan Wang, Yimu Ji, Weibei Fan, Zhijun Xie, Xiancheng Wang, Mengjiao Guo, Chi Hung Chi, Paulo A. de Souza, Jiekui Zhang, Youtao Li, Xiaojun ChenYong Shi, David Green, Taraporewalla Kersi, André Van Zundert

Research output: Contribution to journalArticleResearchpeer-review

2 Citations (Scopus)


The graph isomorphism problem is to determine two finite graphs that are isomorphic which is not known with a polynomial-time solution. This paper solves the simple undirected graph isomorphism problem with an algorithmic approach as NP=P and proposes a polynomial-time solution to check if two simple undirected graphs are isomorphic or not. Three new representation methods of a graph as vertex/edge adjacency matrix and triple tuple are proposed. A duality of edge and vertex and a reflexivity between vertex adjacency matrix and edge adjacency matrix were first introduced to present the core idea. Beyond this, the mathematical approval is based on an equivalence between permutation and bijection. Because only addition and multiplication operations satisfy the commutative law, we propose a permutation theorem to check fast whether one of two sets of arrays is a permutation of another or not. The permutation theorem was mathematically approved by Integer Factorization Theory, Pythagorean Triples Theorem, and Fundamental Theorem of Arithmetic. For each of two n-ary arrays, the linear and squared sums of elements were respectively calculated to produce the results.

Original languageEnglish
Article numbere5484
Number of pages24
JournalConcurrency and Computation-Practice & Experience
Issue number7
Publication statusPublished - 10 Apr 2021


  • equivalence between permutation and bijection
  • graph isomorphism
  • polynomial-time solution
  • reflexivity and duality
  • simple undirected graph
  • vertex/edge adjacency matrix

Cite this