Articulo de referencia

subgrafo inducido común máximo

El subgrafo inducido común máximo de los grafos cúbico y octaédrico , mostrado en azul. En teoría de grafos y ciencias de la computación teórica , un subgrafo inducido común máx...

El subgrafo inducido común máximo de los grafos cúbico y octaédrico , mostrado en azul.

En teoría de grafos y ciencias de la computación teórica , un subgrafo inducido común máximo de dos grafos G y H es un grafo que es un subgrafo inducido tanto de G como de H , y que tiene tantos vértices como sea posible.

Encontrar este grafo es NP-difícil . En el problema de decisión asociado , la entrada son dos grafos G y H y un número k . El problema es decidir si G y H tienen un subgrafo inducido común con al menos k vértices. Este problema es NP-completo . [ 1 ] Es una generalización del problema de isomorfismo de subgrafos inducidos , que surge cuando k es igual al número de vértices en el menor de G y H , de modo que todo este grafo debe aparecer como un subgrafo inducido del otro grafo.

Basándonos en los resultados de dificultad de aproximación para el problema del conjunto independiente máximo , el problema del subgrafo inducido común máximo también es difícil de aproximar. [ 2 ] Esto implica que, a menos que P = NP , no existe ningún algoritmo de aproximación que, en tiempo polinomial ,norte{\displaystyle n}-grafos de vértices, siempre encuentra una solución dentro de un factor denorte1ϵ{\displaystyle n^{1-\epsilon }}de óptimo, para cualquierϵ>0{\displaystyle \epsilon >0}. [ 3 ]

Una posible solución para este problema es construir un grafo de producto modular de G y H. En este grafo, la camarilla más grande corresponde a un subgrafo inducido común máximo de G y H. Por lo tanto, se pueden usar algoritmos para encontrar camarillas máximas para encontrar el subgrafo inducido común máximo. [ 4 ] Además, se puede usar un algoritmo de camarilla máxima modificado para encontrar un subgrafo conexo común máximo . [ 5 ]

El algoritmo McSplit (junto con su variante McSplit↓) es un algoritmo de verificación hacia adelante que no utiliza la codificación de clique, sino una estructura de datos compacta para realizar un seguimiento de los vértices del grafo H a los que se puede asignar cada vértice del grafo G. Ambas versiones del algoritmo McSplit superan a la codificación de clique para muchas clases de grafos. [ 6 ] Una implementación más eficiente de McSplit es McSplitDAL+PR, que combina un agente de aprendizaje por refuerzo con algunas puntuaciones heurísticas calculadas con el algoritmo PageRank . [ 7 ]

Aplicaciones

Los algoritmos de subgrafos inducidos comunes máximos constituyen la base tanto de la diferenciación como de la alineación de grafos. La diferenciación de grafos identifica y resalta las diferencias entre dos grafos al detectar cambios, adiciones o eliminaciones. La alineación de grafos consiste en encontrar correspondencias entre los vértices y las aristas de dos grafos para identificar estructuras similares.

Los algoritmos de subgrafos inducidos comunes máximos tienen una larga tradición en bioinformática , quimioinformática , [ 8 ] [ 9 ] mapeo de farmacóforos , [ 10 ] reconocimiento de patrones , [ 11 ] visión por computadora , análisis de código, compiladores y verificación de modelos .

Este problema resulta especialmente útil en la ingeniería de software y la ingeniería de sistemas basada en modelos , donde el código de software y los modelos de ingeniería (por ejemplo, Simulink , diagramas UML ) se representan como estructuras de datos gráficas. La comparación de grafos permite detectar cambios entre distintas versiones de código y modelos de software para la auditoría de cambios, la depuración, el control de versiones y el desarrollo colaborativo en equipo.

Véase también

Referencias

  1. Michael R. Garey y David S. Johnson (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness , WH Freeman, ISBN 0-7167-1045-5A1.4: GT48, pág. 202.
  2. Kann, Viggo (1992), "Sobre la aproximabilidad del problema del subgrafo común máximo", STACS 92: 9.º Simposio Anual sobre Aspectos Teóricos de la Informática, Cachan, Francia, 13-15 de febrero de 1992, Actas , 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), "Extractores de grado lineales y la inaproximabilidad del clique máximo y el número cromático", Actas del 38.º Simposio ACM sobre Teoría de la Computación , págs. 681–690 , doi : 10.1145/1132516.1132612 , ISBN  1-59593-134-1, S2CID 5713815 , ECCC TR05-100  .
  4. Barrow, H.; Burstall, R. (1976), "Isomorfismo de subgrafos, estructuras relacionales coincidentes y camarillas máximas", 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, Francia, 5-9 de septiembre de 2016, Actas , 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), "Un algoritmo de particionamiento para problemas de subgrafos comunes máximos", Actas de la Vigésimo Sexta Conferencia Internacional Conjunta sobre Inteligencia Artificial, {IJCAI} 2017, Melbourne, Australia, 19-25 de agosto de 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). Un algoritmo de web scraping para mejorar el cálculo del subgrafo común máximo . SCITEPRESS - Publicaciones de ciencia y tecnología. pp. 197–206 . doi : 10.5220/0012130800003538 . ISBN  978-989-758-665-1.
  8. Schietgat, Leander; Ramon, Jan; Bruynooghe, Maurice (2013-12-01). "Un algoritmo de subgrafo común máximo en tiempo polinomial para grafos exteriores planares y su aplicación a la quimioinformática" . 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). "Algoritmos de isomorfismo de subgrafo común máximo y sus aplicaciones en ciencia molecular: una revisión" . WIREs Computational Molecular Science . 1 (1): 68– 79. doi : 10.1002/wcms.5 . ISSN 1759-0876 . 
  10. Raymond, John W.; Willett, Peter (2002), "Algoritmos de isomorfismo de subgrafo común máximo para la correspondencia de estructuras químicas" (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). "Treinta años de coincidencia de grafos en el reconocimiento de patrones" . Revista internacional de reconocimiento de patrones e inteligencia artificial . 18 (3): 265– 298. doi : 10.1142/S0218001404003228 . ISSN 0218-0014 .