A new refinement procedure for graph isomorphism algorithms (original) (raw)
Related papers
Graph isomorphism testing boosted by path coloring
ArXiv, 2016
A method for improving the efficiency of graph isomorphism testing is presented. The method uses the structure of the graph colored by vertex hash codes as a means of partitioning vertices into equivalence classes, which in turn reduces the combinatorial burden of isomorphism testing. Unrolling the graph into a tree at each vertex allows structurally different regular graphs to be discriminated, a capability that the color refinement algorithm cannot do.
Fast algorithm for graph isomorphism testing
2009
Abstract. In this paper we present a novel approach to the graph isomorphism problem. We combine a direct approach, that tries to find a mapping between the two input graphs using backtracking, with a (possibly partial) automorphism precomputing that allows to prune the search tree. We propose an algorithm, conauto, that has a space complexity of O (n2 log n) bits. It runs in time O (n5) with high probability if either one of the input graphs is a G (n, p) random graph, for p∈[ω (ln 4 n/n ln ln n), 1− ω (ln 4 n/n ln ln n)].
A Performance Comparison of Five Algorithms for Graph Isomorphism
Despite the significant number of isomorphism algorithms presented in the literature, till now no efforts have been done to characterize their different performance in terms of matching time. It is not clear how the behavior of those algorithms varies as the type and the size of the graphs to be matched varies in case of real applications. In this paper we present a benchmarking activity for characterize the performance of a bunch of algorithms for exact isomorphism: to this purpose we use a database of graphs specifically developed for this task.
Graph Isomorphism Testing Without Full Automorphism Group Computation
2004
Abstract In this paper we present an algorithm for testing the isomorphism of two graphs. The algorithm works in three steps. First, it builds a sequence of partitions on the vertices of one of the graphs. Then, it looks for some automorphisms in that graph. Finally, it uses backtracking to try to find another sequence of partitions for the second graph that is compatible with that for the first graph. We compare the performance of an implementation of this algorithm with other isomorphism testing programs.
A Novel Algorithm for Isomorphic Graph
2013
The graph isomorphism difficulty is very famous; isomorphism problem is still one of the unsolved problems of graph theory. Here in this paper we are dealing with some applications of this problem and major idea behind this is advancement of some accessible graph isomorphism algorithms. In this paper we are also focusing on producing the solution for problems that seems like isomorphic problems but they are not exactly isomorphic
A pr 2 01 6 Polynomial-time algorithm for determining the graph isomorphism
2016
To solve the problem of establishing isomorphism two connected undirected graphs, we use the methodology of positioning graph vertices relative to each other. Based on the position of the vertex in one of the graphs, it is determined the corresponding vertex in the other graph. For the selected vertex of the undirected graph, we define a neighborhood k-th (0 ≤ k ≤ n − 1) level, where n is the number of graph vertices. Next, we construct an auxiliary directed graph, generated by the selected vertex. The vertices of the digraph are positionable by special characteristics — vectors, which locate each vertex of the digraph relative the found neighborhoods. This enabled to develop an algorithm, the running time of which is equal to O(n4). MCS2000: 05C85, 68Q17.
QAPV: a polynomial invariant for graph isomorphism testing
Pesquisa Operacional, 2013
To each instance of the Quadratic Assignment Problem (QAP) a relaxed instance can be associated. Both variances of their solution values can be calculated in polynomial time. The graph isomorphism problem (GIP) can be modeled as a QAP, associating its pair of data matrices with a pair of graphs of the same order and size. We look for invariant edge weight functions for the graphs composing the instances in order to try to find quantitative differences between variances that could be associated with the absence of isomorphism. This technique is sensitive enough to show the effect of a single edge exchange between two regular graphs of up to 3,000 vertices and 300,000 edges with degrees up to 200. Planar graph pairs from a dense family up to 300,000 vertices were also discriminated. We conjecture the existence of functions able to discriminate non-isomorphic pairs for every instance of the problem.
Fast Isomorphism Testing of Graphs with Regularly-Connected Components
arXiv (Cornell University), 2011
The Graph Isomorphism problem has both theoretical and practical interest. In this paper we present an algorithm, called conauto-1.2, that efficiently tests whether two graphs are isomorphic, and finds an isomorphism if they are. This algorithm is an improved version of the algorithm conauto, which has been shown to be very fast for random graphs and several families of hard graphs [9]. In this paper we establish a new theorem that allows, at very low cost, the easy discovery of many automorphisms. This result is especially suited for graphs with regularly connected components, and can be applied in any isomorphism testing and canonical labeling algorithm to drastically improve its performance. In particular, algorithm conauto-1.2 is obtained by the application of this result to conauto. The resulting algorithm preserves all the nice features of conauto, but drastically improves the testing of graphs with regularly connected components. We run extensive experiments, which show that the most popular algorithms (namely, nauty [10, 11] and bliss [8]) can not compete with conauto-1.2 for these graph families.
Polynomial-time algorithm for determining the graph isomorphism (v.2)
2016
We develop the methodology of positioning graph vertices relative to each other to solve the problem of determining isomorphism of two undirected graphs. Based on the position of the vertex in one of the graphs, it is determined the corresponding vertex in the other graph. For the selected vertex of the undirected graph, we define the neighborhoods of the vertices. Next, we construct the auxiliary directed graph, spawned by the selected vertex. The vertices of the digraph are positioned by special characteristics --- vectors, which locate each vertex of the digraph relative the found neighborhoods. This enabled to develop the algorithm for determining graph isomorphism, the runing time of which is equal to O(n4)O(n^4)O(n4).