An Algorithm for Subgraph Isomorphism

  title={An Algorithm for Subgraph Isomorphism},
  author={Julian R. Ullmann},
  journal={Journal of the ACM (JACM)},
  pages={31 - 42}
  • J. Ullmann
  • Published 1 January 1976
  • Mathematics, Computer Science
  • Journal of the ACM (JACM)
Subgraph isomorphism can be determined by means of a brute-force tree-search enumeration procedure. In this paper a new algorithm is introduced that attains efficiency by inferentially eliminating successor nodes in the tree search. To assess the time actually taken by the new algorithm, subgraph isomorphism, clique detection, graph isomorphism, and directed graph isomorphism experiments have been carried out with random and with various nonrandom graphs. A parallel asynchronous logic-in-memory… 

Figures and Tables from this paper

A Polynomial Time Algorithm for Undirected Graph Isomorphism
This paper develops an O(n 4) algorithm for undirected graph isomorphism using vertex partition and refinement and takes advantage of a recursive property that isomorphicism of supergraphs will result in the isomorphisms of subgraphs.
Parallel Subgraph Isomorphism
This paper attempts to parallelize a fast serial subgraph isomorphism library, VFLib, which uses backtracking search to find a solution, and uses conditional copying to achieve near-linear speedup with the number of CPU cores on random graphs and reasonable performance on parasitic inputs.
A Parallel Algorithm for Subgraph Isomorphism (Brief Announcement)
This paper's ongoing work on designing a parallel algorithm for the subgraph (and graph) isomorphism problem is presented, which addresses challenges commonly faced when attempting to obtain a parallel algorithms for isomorphisms.
A new algorithm for determining an induced subgraph isomorphism between pattern and target graphs is proposed, based on decomposition of a graph into components and refinements, which shows effectiveness after applying it on several types of graphs.
Algorithms for finding directed graph isomorphisms by finite automata
Two algorithms are devised for solving the graph isomorphism problem based on the determination of the isomorphisms between two directed graphs based on those between the corresponding one-input Moore machines plus an additional condition to be checked.
Search Strategies for Subgraph Isomorphism Algorithms
The impact of various search strategies on the efficiency of two algorithms are investigated, the first being the Ullmann's algorithm and the second one the recently proposed improvement of Ullman's algorithm.
A consistency rule for graph isomorphism problem
The proposed consistency rule is able to prune as early as possible unfruitful branches of the tree-search which leads to reduce the practical time complexity.
Two new algorithms for subgraph isomorphism problem for labeled graphs based on modified adjacency list that are competitive with classic Ullman’s algorithm and more recent VF2 are presented.


A Backtrack Procedure for Isomorphism of Directed Graphs
A backtrack procedure based on a representation of directed graphs by linear formulas, a procedure for finding a partial subdigraph of a digraph that is isomorphic to a given digraph is described.
Algorithm 457: finding all cliques of an undirected graph
Two backtracking algorithms are presented, using a branchand-bound technique [4] to cut off branches that cannot lead to a clique, and generates cliques in a rather unpredictable order in an attempt to minimize the number of branches to be traversed.
An Efficient Algorithm for Graph Isomorphism
It is shown that the re ordered graphs form a sufficiency condition for isomorphism; namely, if the reordered graphs are identical, then the given graphs are isomorphic.
Extraction of invariant picture sub-structures by computer
Algorithm 266: pseudo-random numbers [G5]
M is s u c h t h a t no f a n d g exist which satisfy :ill n e rel,'~iior~s, t h e n c o n t r o l is t r a n s f e r r e d to the label p a r a m e t e r jail.
Computer-produced grey scales
Some techniques for recogmsing structures in pictures
  • In Frontiers of Pattern Recogn*twn,
  • 1972
Graph theory
Cellular arrays for the solution of graph problems
It is shown that cellular arrays are inherently well suited for the solution of many graph problems, with direct applications to wire routing, PERT chart analysis, and the analysis of many types of networks.
Review of "Problem-Solving Methods in Artificial Intelligence by Nils J. Nilsson", McGraw-Hill Pub.
This book is not a survey on theorem proving programs, but the description of a program developed from 1960 to 1965, and includes three chapters that deal with resolution-based theorem-proving in the predicate calculus and its applications to problem solving.