stringtranslate.com

Problema de isomorfismo de subgrafos

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

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

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 gráficos G y H. La respuesta al problema es positiva si H es isomorfa a un subgrafo de G y negativa en caso contrario.

Pregunta formal:

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

La prueba de que el isomorfismo del subgrafo es NP-completo es simple y se basa en la reducción del problema de camarilla , un problema de decisión NP-completo en el que la entrada es un gráfico único 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 gráfico completo K k ; entonces la respuesta al problema de isomorfismo de subgrafos para G y H es igual a la respuesta al problema de camarilla para G y k . Dado que el problema de camarilla es NP-completo, esta reducción de muchos en tiempo polinómico muestra que el isomorfismo de subgrafos también es NP-completo. [3]

Una reducción alternativa del problema del ciclo hamiltoniano traduce un gráfico G cuya hamiltonicidad se va a probar en el par de gráficos 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 gráficos planos , esto muestra que el isomorfismo de subgrafos sigue siendo NP completo incluso en el caso plano. [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 sólo si G y H tienen el mismo número de vértices y aristas y el problema de isomorfismo de subgrafos para G y H es cierto. Sin embargo, el estatus teórico 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 la consulta de las propiedades de los gráficos monótonos, Gröger (1992) demostró que cualquier problema de isomorfismo de subgrafos tiene una complejidad de la consulta Ω ( n 3/2 ); es decir, resolver el isomorfismo del subgrafo requiere un algoritmo para verificar la presencia o ausencia en la entrada de Ω( n 3/2 ) diferentes aristas en el gráfico. [5]

Algoritmos

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

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

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 actual para instancias difíciles de tamaño moderado es el Glasgow Subgraph Solver (McCreesh, Prosser & 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 decidir si existe alguna.

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

Aplicaciones

Como subgrafo, el isomorfismo se ha aplicado en el área de la quimioinformática para encontrar similitudes entre compuestos químicos a partir de su fórmula estructural; En este ámbito se utiliza a menudo el término búsqueda de subestructuras . [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 normalmente 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 de circuitos electrónicos asistido por computadora . La coincidencia de subgrafos también es un subpaso en la reescritura de gráficos (el que requiere más tiempo de ejecución) y, por lo tanto, lo ofrecen las herramientas de reescritura de gráficos .

El problema también es de interés en la inteligencia artificial , donde se 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 grafos también es de interés en esa área. [11]

Ver también

Notas

  1. ^ El artículo original de Cook (1971) que prueba el teorema de Cook-Levin ya mostró que el isomorfismo de subgrafos es NP-completo, utilizando una reducción de 3-SAT que involucra 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. 81, ISBN 9783540210450.
  4. ^ de la Higuera, Colin; Janodet, Jean-Christophe; Samuel, Emilia; Damiand, Guillaume; Solnon, Christine (2013), "Algoritmos polinomiales para isomorfismos de subgrafos y gráficos de plano abierto" (PDF) , Ciencias de la Computación Teórica , 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 se puede resolver en tiempo polinómico para gráficas planas. Sin embargo, también se ha observado que el problema del subisomorfismo sigue siendo NP-completo, en particular porque el problema del ciclo hamiltoniano es NP-completo para gráficos planos.
  5. ^ Aquí Ω invoca la notación Big Omega .
  6. ^ Para una evaluación experimental, consulte Solnon (2019).
  7. ^ Ullmann (1976)
  8. ^ Kuramochi y Karypis (2001).
  9. ^ Pržulj, Corneil y Jurisica (2006).
  10. ^ Snijders y col. (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