A polynomial‐time algorithm for simple undirected graph isomorphism - He, Jing; Chen, Jinjun; Huang, Guangyan; Cao, Jie; Zhang, Zhiwang; Zheng, Hui; Zhang, Peng; Zarei, Roozbeh; Sansoto, Ferry; Wang, Ruchuan; Ji, Yimu; Fan, Weibei; et al. (Concurrency and computation, 2021)
Summary 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.