Enumeration of Maximum Common Subtree Isomorphisms with Polynomial-Delay

  • Andre Droschinsky
  • Bernhard Heinemann
  • Nils Kriege
  • Petra Mutzel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8889)


The maximum common subgraph problem asks for the maximum size of a common subgraph of two given graphs. The problem is \(\mathsf{NP}\)-hard, but can be solved in polynomial time if both, the input graphs and the common subgraph are restricted to trees. Since the optimal solution of the maximum common subtree problem is not unique, the problem of enumerating all solutions, i.e., the isomorphisms between the two subtrees, is of interest. We present the first polynomial-delay algorithm for the problem of enumerating all maximum common subtree isomorphisms between a given pair of trees. Our approach is based on the algorithm of Edmonds for solving the maximum common subtree problem using a dynamic programming approach in combination with bipartite matching problems. As a side result, we obtain a polynomial-delay algorithm for enumerating all maximum weight matchings in a complete bipartite graph. We show how to extend the new approach in order to enumerate all solutions of the maximum weighted common subtree problem and to the maximal common subtree problem. Our experimental evaluation on both, randomly generated as well as real-world instances, demonstrates the practical usefulness of our algorithm.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akutsu, T., Tamura, T.: A polynomial-time algorithm for computing the maximum common connected edge subgraph of outerplanar graphs of bounded degree. Algorithms 6(1), 119–135 (2013)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Bron, C., Kerbosch, J.: Algorithm 457: finding all cliques of an undirected graph. Commun. ACM 16, 575–577 (1973)CrossRefzbMATHGoogle Scholar
  3. 3.
    Cazals, F., Karande, C.: An algorithm for reporting maximal \(c\)-cliques. Theoretical Computer Science 349(3), 484–490 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Conte, D., Foggia, P., Sansone, C., Vento, M.: Thirty years of graph matching in pattern recognition. Int. J. Pattern. Recognit. Artif. Intell. 18(3), 265–298 (2004)CrossRefGoogle Scholar
  5. 5.
    Cook, W.J., Cunningham, W.H., Pulleyblank, W.R., Schrijver, A.: Combinatorial Optimization. John Wiley & Sons Inc., New York (1998)zbMATHGoogle Scholar
  6. 6.
    Droschinsky, A.: Effiziente Enumerationsalgorithmen für Common Subtree Probleme. Master’s thesis, Technische Universität Dortmund (2014)Google Scholar
  7. 7.
    Fukuda, K., Matsui, T.: Finding all minimum-cost perfect matchings in bipartite graphs. Networks 22(5), 461–468 (1992)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Johnson, D.S., Yannakakis, M., Papadimitriou, C.H.: On generating all maximal independent sets. Information Processing Letters 27(3), 119–123 (1988)CrossRefzbMATHMathSciNetGoogle Scholar
  9. 9.
    Kao, M.Y., Lam, T.W., Sung, W.K., Ting, H.F.: An even faster and more unifying algorithm for comparing trees via unbalanced bipartite matchings. J. Algorithms 40(2), 212–233 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Koch, I.: Enumerating all connected maximal common subgraphs in two graphs. Theoretical Computer Science 250(12), 1–30 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Kriege, N., Mutzel, P.: Finding maximum common biconnected subgraphs in series-parallel graphs. In: Csuhaj-Varjú, E., Dietzfelbinger, M., Ésik, Z. (eds.) MFCS 2014, Part II. LNCS, vol. 8635, pp. 505–516. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  12. 12.
    Kuhn, H.W.: The Hungarian method for the assignment problem. Naval Research Logistics Quarterly 2, 83–97 (1955)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Levi, G.: A note on the derivation of maximal common subgraphs of two directed or undirected graphs. Calcolo 9(4), 341–352 (1973)CrossRefzbMATHGoogle Scholar
  14. 14.
    Matula, D.W.: Subtree isomorphism in \(O(n^{5/2})\). In: Algorithmic Aspects of Combinatorics, Ann. Discrete Math., vol. 2, pp. 91–106. Elsevier (1978)Google Scholar
  15. 15.
    Rarey, M., Dixon, J.: Feature trees: A new molecular similarity measure based on tree matching. Journal of Computer-Aided Molecular Design 12(5), 471–490 (1998)CrossRefGoogle Scholar
  16. 16.
    Raymond, J.W., Willett, P.: Maximum common subgraph isomorphism algorithms for the matching of chemical structures. J. Comput. Aided Mol. Des. 16(7), 521–533 (2002)CrossRefGoogle Scholar
  17. 17.
    Schietgat, L., Ramon, J., Bruynooghe, M.: A polynomial-time metric for outerplanar graphs. In: Frasconi, P., Kersting, K., Tsuda, K. (eds.) Mining and Learning with Graphs (2007)Google Scholar
  18. 18.
    Uno, T.: Algorithms for enumerating all perfect, maximum and maximal matchings in bipartite graphs. In: Leong, H.-V., Jain, S., Imai, H. (eds.) ISAAC 1997. LNCS, vol. 1350, pp. 92–101. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  19. 19.
    Yamaguchi, A., Aoki, K.F., Mamitsuka, H.: Finding the maximum common subgraph of a partial \(k\)-tree and a graph with a polynomially bounded number of spanning trees. Inf. Process. Lett. 92(2), 57–63 (2004)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Andre Droschinsky
    • 1
  • Bernhard Heinemann
    • 1
  • Nils Kriege
    • 2
  • Petra Mutzel
    • 2
  1. 1.Faculty of Mathematics and Computer ScienceFernUniversität in HagenHagenGermany
  2. 2.Department of Computer ScienceTechnische Universität DortmundDortmundGermany

Personalised recommendations