The graph isomorphism problem is considered. We assign modified $n$-variable characteristic polynomials for graphs and reduce the graph isomorphism problem to the problem of the polynomials isomorphism. It is required to find out, is there such a numbering of the second graph's vertices that the polynomials of the graphs are equal. We present algorithms for the graph isomorphism problem that use the reduction. We prove the propositions that justify the possibility of numerical realization of the algorithms for the general case of the graph isomorphism problem. The algorithms perform equality checking of graphs polynomials. We show that probability of obtaining a wrong solution of the graph isomorphism problem by comparing values of graph polynomials is negligible if the mantissa length is sufficiently large. Since, for a graph on $n$ vertices, the graph polynomial has $2^n$ coefficients, its value at some point cannot be evaluated directly for large enough $n$. We show that we can check the equality of the polynomials at some points without direct evaluation of the polynomials values at these points. We prove that it is required $O(n^4)$ elementary machine operations and machine numbers with mantissas length $O(n^2)$ to check equality of the values for the graphs on $n$ vertices. For the worst, it needs an exponential from $n$ time to solve the graph isomorphism problem instance using the presented approach, but in practice, it is efficient even for well known computationally hard instances of the graph isomorphism problem.
翻译:暂无翻译