stringtranslate.com

Problema de isomorfismo de subgrafos

En informática teórica , el problema del isomorfismo de subgrafos es una tarea computacional en la que se dan como entrada dos grafos G y H , y se debe determinar si G contiene un subgrafo que es isomorfo a H. El isomorfismo de subgrafos es una generalización tanto del problema de la camarilla máxima como del problema de comprobar si un grafo contiene un ciclo hamiltoniano y, por tanto, es NP-completo . [1] Sin embargo, ciertos otros casos de isomorfismo de subgrafos pueden resolverse en tiempo polinomial. [2]

A veces, también se utiliza el nombre de coincidencia de subgrafos para el mismo problema. Este nombre pone énfasis en la búsqueda de dicho subgrafo en lugar de en el problema de decisión simple.

Problema de decisión y complejidad computacional

Para demostrar que el isomorfismo de subgrafos es NP-completo, debe formularse como un problema de decisión . La entrada al problema de decisión es un par de grafos G y H. La respuesta al problema es positiva si H es isomorfo a un subgrafo de G y negativa en caso contrario.

Pregunta formal:

Sean , grafos. ¿Existe un subgrafo tal que ? Es decir, ¿existe una biyección tal que ?

La prueba de que el isomorfismo de subgrafos es NP-completo es simple y se basa en la reducción del problema de la camarilla , un problema de decisión NP-completo en el que la entrada es un solo grafo G y un número k , y la pregunta es si G contiene un subgrafo completo con k vértices. Para traducir esto a un problema de isomorfismo de subgrafos, simplemente sea H el grafo completo K k ; entonces la respuesta al problema de isomorfismo de subgrafos para G y H es igual a la respuesta al problema de la camarilla para G y k . Dado que el problema de la camarilla es NP-completo, esta reducción de muchos-uno en tiempo polinomial muestra que el isomorfismo de subgrafos también es NP-completo. [3]

Una reducción alternativa del problema del ciclo hamiltoniano traduce un grafo G cuya hamiltonicidad se va a probar en el par de grafos G y H , donde H es un ciclo que tiene el mismo número de vértices que G . Debido a que el problema del ciclo hamiltoniano es NP-completo incluso para grafos planares , esto demuestra que el isomorfismo de subgrafos sigue siendo NP-completo incluso en el caso planar. [4]

El isomorfismo de subgrafos es una generalización del problema de isomorfismo de grafos , que pregunta si G es isomorfo a H : la respuesta al problema de isomorfismo de grafos es verdadera si y solo si G y H tienen ambos el mismo número de vértices y aristas y el problema de isomorfismo de subgrafos para G y H es verdadero. Sin embargo, el estado de teoría de la complejidad del isomorfismo de grafos sigue siendo una cuestión abierta.

En el contexto de la conjetura de Aanderaa–Karp–Rosenberg sobre la complejidad de consulta de las propiedades de grafos monótonos, Gröger (1992) mostró que cualquier problema de isomorfismo de subgrafos tiene una complejidad de consulta Ω( n 3/2 ); es decir, resolver el isomorfismo de subgrafos requiere un algoritmo para verificar la presencia o ausencia en la entrada de Ω( n 3/2 ) aristas diferentes en el grafo. [5]

Algoritmos

Ullmann (1976) describe un procedimiento de retroceso recursivo para resolver el problema del isomorfismo de subgrafos. Aunque su tiempo de ejecución es, en general, exponencial, requiere un tiempo polinomial para cualquier elección fija de H (con un polinomio que depende de la elección de H ). Cuando G es un grafo plano (o más generalmente un grafo de expansión acotada ) y H es fijo, el tiempo de ejecución del isomorfismo de subgrafos se puede reducir a un tiempo lineal . [2]

Ullmann (2010) es una actualización sustancial del artículo de 1976 sobre el algoritmo de isomorfismo de subgrafos.

Cordella (2004) propuso en 2004 otro algoritmo basado en el de Ullmann, VF2, que mejora el proceso de refinamiento utilizando diferentes heurísticas y utiliza significativamente menos memoria.

Bonnici y Giugno (2013) propusieron un mejor algoritmo, que mejora el orden inicial de los vértices utilizando algunas heurísticas.

El solucionador de última generación para instancias difíciles de tamaño moderado es Glasgow Subgraph Solver (McCreesh, Prosser y Trimble (2020)). [6] Este solucionador adopta un enfoque de programación de restricciones, utilizando estructuras de datos de bits paralelos y algoritmos de propagación especializados para el rendimiento. Admite las variaciones más comunes del problema y es capaz de contar o enumerar soluciones, así como de decidir si existe alguna.

Para gráficos grandes, los algoritmos de última generación incluyen CFL-Match y Turboiso, y extensiones de estos como DAF de Han et al. (2019).

Aplicaciones

Como el isomorfismo de subgrafos se ha aplicado en el área de la quimioinformática para encontrar similitudes entre compuestos químicos a partir de su fórmula estructural; a menudo en esta área se utiliza el término búsqueda de subestructura . [7] Una estructura de consulta a menudo se define gráficamente utilizando un programa editor de estructuras ; los sistemas de bases de datos basados ​​en SMILES generalmente definen consultas utilizando SMARTS , una extensión de SMILES .

El problema estrechamente relacionado de contar el número de copias isomórficas de un gráfico H en un gráfico más grande G se ha aplicado al descubrimiento de patrones en bases de datos, [8] la bioinformática de redes de interacción proteína-proteína, [9] y en métodos de gráficos aleatorios exponenciales para modelar matemáticamente redes sociales . [10]

Ohlrich et al. (1993) describen una aplicación del isomorfismo de subgrafos en el diseño asistido por computadora de circuitos electrónicos . La correspondencia de subgrafos también es un subpaso en la reescritura de grafos (el que requiere más tiempo de ejecución) y, por lo tanto, lo ofrecen las herramientas de reescritura de grafos .

El problema también es de interés en la inteligencia artificial , donde se lo considera parte de una serie de problemas de coincidencia de patrones en gráficos; una extensión del isomorfismo de subgrafos conocida como minería de gráficos también es de interés en esa área. [11]

Véase también

Notas

  1. ^ El artículo original de Cook (1971) que prueba el teorema de Cook-Levin ya mostraba que el isomorfismo de subgrafos era NP-completo, utilizando una reducción de 3-SAT que involucraba camarillas.
  2. ^ ab Eppstein (1999); Nešetřil & Ossona de Méndez (2012)
  3. ^ Wegener, Ingo (2005), Teoría de la complejidad: exploración de los límites de los algoritmos eficientes, Springer, pág. 81, ISBN 9783540210450.
  4. ^ de la Higuera, Colin; Janodet, Jean-Christophe; Samuel, Émilie; Damiand, Guillaume; Solnon, Christine (2013), "Polynomial algorithms for open plane graph and subgraph isomorphisms" (PDF) , Theoretical Computer Science , 498 : 76–99, doi : 10.1016/j.tcs.2013.05.026 , MR  3083515, Se sabe desde mediados de los años 70 que el problema del isomorfismo es solucionable en tiempo polinomial para grafos planos. Sin embargo, también se ha observado que el problema del subisomorfismo sigue siendo N P-completo, en particular porque el problema del ciclo hamiltoniano es NP-completo para grafos planares.
  5. ^ Aquí Ω invoca la notación Big Omega .
  6. ^ Para una evaluación experimental, véase Solnon (2019).
  7. ^ Ullmann (1976)
  8. ^ Kuramochi y Karypis (2001).
  9. ^ Pržulj, Corneil y Jurisica (2006).
  10. ^ Snijders y otros (2006).
  11. ^ http://www.aaai.org/Papers/Symposia/Fall/2006/FS-06-02/FS06-02-007.pdf; versión ampliada en https://e-reports-ext.llnl.gov/pdf/332302.pdf

Referencias