📑 Table of Contents
The maximum common induced subgraph of the cube and octahedral graphs, shown in blue

In graph theory and theoretical computer science, a maximum common induced subgraph of two graphs G and H is a graph that is an induced subgraph of both G and H, and that has as many vertices as possible.

Finding this graph is NP-hard. In the associated decision problem, the input is two graphs G and H and a number k. The problem is to decide whether G and H have a common induced subgraph with at least k vertices. This problem is NP-complete.[1] It is a generalization of the induced subgraph isomorphism problem, which arises when k equals the number of vertices in the smaller of G and H, so that this entire graph must appear as an induced subgraph of the other graph.

Based on hardness of approximation results for the maximum independent set problem, the maximum common induced subgraph problem is also hard to approximate.[2] This implies that, unless P = NP, there is no approximation algorithm that, in polynomial time on -vertex graphs, always finds a solution within a factor of of optimal, for any .[3]

One possible solution for this problem is to build a modular product graph of G and H. In this graph, the largest clique corresponds to a maximum common induced subgraph of G and H. Therefore, algorithms for finding maximum cliques can be used to find the maximum common induced subgraph.[4] Moreover, a modified maximum-clique algorithm can be used to find a maximum common connected subgraph.[5]

The McSplit algorithm (along with its McSplit↓ variant) is a forward checking algorithm that does not use the clique encoding, but uses a compact data structure to keep track of the vertices in graph H to which each vertex in graph G may be mapped. Both versions of the McSplit algorithm outperform the clique encoding for many graph classes.[6] A more efficient implementation of McSplit is McSplitDAL+PR, which combines a Reinforcement Learning agent with some heuristic scores computed with the PageRank algorithm.[7]

Applications

edit

Maximum common induced subgraph algorithms form the basis for both graph differencing and graph alignment. Graph differencing identifies and highlights differences between two graphs by pinpointing changes, additions, or deletions. Graph alignment involves finding correspondences between the vertices and edges of two graphs to identify similar structures.

Maximum common induced subgraph algorithms have a long tradition in bioinformatics, cheminformatics,[8][9] pharmacophore mapping,[10] pattern recognition,[11] computer vision, code analysis, compilers, and model checking.

The problem is also particularly useful in software engineering and model-based systems engineering, where software code and engineering models (e.g., Simulink, UML diagrams) are represented as graph data structures. Graph differencing can be used to detect changes between different versions of software code and models for change auditing, debugging, version control and collaborative team development.

See also

edit

References

edit
  1. ^ Michael R. Garey and David S. Johnson (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, ISBN 0-7167-1045-5 A1.4: GT48, pg.202.
  2. ^ Kann, Viggo (1992), "On the approximability of the maximum common subgraph problem", STACS 92: 9th Annual Symposium on Theoretical Aspects of Computer Science Cachan, France, February 13–15, 1992, Proceedings, Lecture Notes in Computer Science, vol. 577, Springer Science $\mathplus$ Business Media, pp. 375–388, doi:10.1007/3-540-55210-3_198, ISBN 978-3-540-55210-9.
  3. ^ Zuckerman, D. (2006), "Linear degree extractors and the inapproximability of max clique and chromatic number", Proc. 38th ACM Symp. Theory of Computing, pp. 681–690, doi:10.1145/1132516.1132612, ISBN 1-59593-134-1, S2CID 5713815, ECCC TR05-100.
  4. ^ Barrow, H.; Burstall, R. (1976), "Subgraph isomorphism, matching relational structures and maximal cliques", Information Processing Letters, 4 (4): 83–84, doi:10.1016/0020-0190(76)90049-1.
  5. ^ McCreesh, Ciaran; Ndiaye, Samba Ndojh; Prosser, Patrick; Solnon, Christine (2016), "Clique and Constraint Models for Maximum Common (Connected) Subgraph Problems", Principles and Practice of Constraint Programming - 22nd International Conference, CP 2016, Toulouse, France, September 5-9, 2016, Proceedings, Lecture Notes in Computer Science, vol. 9892, Springer International Publishing, pp. 350–368, doi:10.1007/978-3-319-44953-1_23, ISBN 978-3-319-44952-4, S2CID 215812381
  6. ^ McCreesh, Ciaran; Prosser, Patrick; Trimble, James (2017), "A Partitioning Algorithm for Maximum Common Subgraph Problems", Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, {IJCAI} 2017, Melbourne, Australia, August 19-25, 2017, ijcai.org, pp. 712–719, doi:10.24963/ijcai.2017/99, ISBN 9780999241103
  7. ^ Calabrese, Andrea; Cardone, Lorenzo; Licata, Salvatore; Porro, Marco; Quer, Stefano (2023). A Web Scraping Algorithm to Improve the Computation of the Maximum Common Subgraph. SCITEPRESS - Science and Technology Publications. pp. 197–206. doi:10.5220/0012130800003538. ISBN 978-989-758-665-1.
  8. ^ Schietgat, Leander; Ramon, Jan; Bruynooghe, Maurice (2013-12-01). "A polynomial-time maximum common subgraph algorithm for outerplanar graphs and its application to chemoinformatics". Annals of Mathematics and Artificial Intelligence. 69 (4): 343–376. doi:10.1007/s10472-013-9335-0. ISSN 1573-7470.
  9. ^ Ehrlich, Hans-Christian; Rarey, Matthias (2011). "Maximum common subgraph isomorphism algorithms and their applications in molecular science: a review". WIREs Computational Molecular Science. 1 (1): 68–79. doi:10.1002/wcms.5. ISSN 1759-0876.
  10. ^ Raymond, John W.; Willett, Peter (2002), "Maximum common subgraph isomorphism algorithms for the matching of chemical structures" (PDF), Journal of Computer-Aided Molecular Design, 16 (7): 521–533, Bibcode:2002JCAMD..16..521R, doi:10.1023/A:1021271615909, PMID 12510884, S2CID 5202419.
  11. ^ Conte, D.; Foggia, P.; Sansone, C.; Vento, M. (2004). "Thirty Years of Graph Matching in Pattern Recognition". International Journal of Pattern Recognition and Artificial Intelligence. 18 (3): 265–298. doi:10.1142/S0218001404003228. ISSN 0218-0014.

📚 Artikel Terkait di Wikipedia

Maximum common subgraph

computer science, a maximum common subgraph may mean either: Maximum common induced subgraph, a graph that is an induced subgraph of two given graphs

Modular product of graphs

cliques in graphs. Specifically, the maximum common induced subgraph of both G and H corresponds to the maximum clique in their modular product. Although

Clique problem

reduce the problem of finding the maximum common induced subgraph of two graphs to the problem of finding a maximum clique in their product. In automatic

Maximum common edge subgraph

graphs G {\displaystyle G} and G ′ {\displaystyle G'} , the maximum common edge subgraph problem (or MCES problem) is the problem of finding a graph H

Glossary of graph theory

other graphs as subgraphs, induced subgraphs, or minors. If H is one of the graphs that does not occur as a subgraph, induced subgraph, or minor, then

Maximum cut

cycle transversal, equivalent to asking for the largest bipartite induced subgraph Unfriendly partition, a related concept for infinite graphs Edwards (1973

Graph theory

problem is finding induced subgraphs in a given graph. Again, some important graph properties are hereditary with respect to induced subgraphs, which means

Subgraph isomorphism problem

{\displaystyle G} contains a subgraph that is isomorphic to H {\displaystyle H} . Subgraph isomorphism is a generalization of both the maximum clique problem and