Problema del isomorfismo de grafosEl problema del isomorfismo gráfico es el problema computacional para determinar si dos gráficos finitos son isomórficos. No se sabe que el problema se pueda resolver en tiempo polinomial ni que sea NP-completo y, por lo tanto, puede estar en la clase de complejidad computacional NP-intermedia. Se sabe que el problema de isomorfismo gráfico está en la'jerarquía baja de la clase NP, lo que implica que no es NP completo a menos que la jerarquía de tiempo polinomial colapse a su segundo nivel. Al mismo tiempo, el isomorfismo para muchas clases especiales de gráficos se puede resolver en tiempo polinomial, y en la práctica el isomorfismo gráfico a menudo se puede resolver de manera eficiente. Este problema es un caso especial del problema de isomorfismo subgráfico' que pregunta si un gráfico dado G contiene un subgráfico que es isomorfo a otro gráfico dado H y que se sabe que es NP-completo. También se sabe que es un caso especial del problema del subgrupo oculto no abeliano sobre el grupo simétrico. En el área de reconocimiento de imágenes se conoce como la coincidencia gráfica exacta. Estado del arteEl mejor algoritmo teórico actualmente aceptado se debe a Babai y Luks (1983), y se basa en el trabajo anterior de Luks (1982) combinado con un algoritmo subfactorial de V. N. Zemlyachenko (Zemlyachenko, Korneenko y Tyshkevich 1985). El algoritmo ha ejecutado el tiempo 2O(√n log n) para gráficos con n vértices y se basa en la clasificación de grupos finitos simples. Sin CFSG, László Babai (1980) obtuvo primero un límite 2O (√n log2 n) ligeramente más débil, y Babai & Luks (1983) lo extendió a los gráficos generales. La mejora del exponente √n es un gran problema abierto; para gráficos fuertemente regulares esto fue hecho por Spielman (1996). Para hipergrafos de rango limitado, Babai y Codenotti (2008) obtuvieron un límite superior subexponencial que coincide con el caso de los gráficos. En noviembre de 2015, Babai anunció un algoritmo de tiempo quasipolynomial para todos los gráficos, es decir, uno con tiempo de ejecución para algunos arreglados . El 4 de enero de 2017, Babai se retractó del reclamo cuasi-polinomial y declaró un límite de tiempo sub-exponencial en su lugar después de Harald Helfgott descubrió un defecto en la prueba. El 9 de enero de 2017, Babai anunció una corrección (publicada en su totalidad el 19 de enero) y restauró el reclamo cuasi polinomial, con Helfgott confirmando la solución. Helfgott afirma además que uno puede tomar c = 3, por lo que el tiempo de ejecución es 2O((log n) 3). La nueva prueba aún no ha sido revisada por completo. Existen varios algoritmos prácticos competitivos para el isomorfismo gráfico, como los debidos a McKay (1981), Schmidt y Druffel (1976) y Ullman (1976). Si bien parecen funcionar bien en gráficos aleatorios, una desventaja importante de estos algoritmos es su rendimiento de tiempo exponencial en el peor de los casos. El problema de isomorfismo gráfico es computacionalmente equivalente al problema de calcular el grupo de automorfismo de un gráfico, y es más débil que el problema de isomorfismo del grupo de permutación y el problema de intersección del grupo de permutación. Para los últimos dos problemas, Babai, Kantor y Luks (1983) obtuvieron límites de complejidad similares a los del isomorfismo gráfico. Casos especiales resueltosVarios casos especiales importantes del problema del isomorfismo gráfico tienen soluciones eficientes de tiempo polinomial:
Clase de complejidad GIDado que el problema del isomorfismo gráfico no se sabe que sea NP-completo ni conocido como tratable, los investigadores han tratado de comprender el problema definiendo un nuevo GI de clase, el conjunto de problemas con una reducción de Turing en tiempo polinomial al isomorfismo gráfico problema. Si, de hecho, el problema de isomorfismo gráfico es solucionable en tiempo polinomial, GI sería igual a P. Como es común para las clases de complejidad dentro de la jerarquía de tiempo polinomial, un problema se llama GI-hard si hay una reducción de Turing en tiempo polinomial desde cualquier problema en GI a ese problema, es decir, una solución de tiempo polinomial a un problema GI-hard produciría una solución de tiempo polinomial al problema del isomorfismo gráfico (y por lo tanto todos los problemas en GI). Un problema se llama completo para GI, o GI-complete, si es tanto GI-hard y una solución de tiempo polinomial al problema GI produciría una solución de tiempo polinomial para . El problema del isomorfismo gráfico está contenido tanto en NP como en co-AM. GI está contenido en y bajo para Parity P, así como también está contenido en el SPP de clase potencialmente mucho más pequeño. Que se encuentre en la Paridad P significa que el problema del isomorfismo gráfico no es más difícil que determinar si una máquina de Turing no determinista de tiempo polinomial tiene un número par o impar de rutas de aceptación. GI también está contenido en y bajo para ZPPNP. Esto esencialmente significa que un algoritmo eficiente de Las Vegas con acceso a un oráculo de NP puede resolver el isomorfismo gráfico tan fácilmente que no obtiene poder de poder hacerlo en tiempo constante. Problemas GI-completos y GI-difícilIsomorfismo de otros objetosHay una serie de clases de objetos matemáticos para los que el problema del isomorfismo es un problema GI completo. Algunos de ellos son gráficos dotados de propiedades o restricciones adicionales:
GI: completa clases de gráficosUna clase de gráficos se llama GI-complete si el reconocimiento de isomorfismo para los gráficos de esta subclase es un problema de GI-complete. Las siguientes clases son GI-completas:
Muchas clases de dígrafos son también GI-completas. Otros problemas GI-completosHay otros problemas no triviales de GI-complete además de los problemas de isomorfismo.
Problemas GI-hard
Comprobación del programaManuel Blum y Sampath Kannan (1995) han mostrado un verificador probabilístico para programas de isomorfismo gráfico. Supongamos que P es un procedimiento reclamado de tiempo polinomial que verifica si dos gráficos son isomorfos, pero no es de confianza. Para verificar si G y H son isomorfos:
Este procedimiento es polinomial y da la respuesta correcta si P es un programa correcto para el isomorfismo gráfico. Si P no es un programa correcto, pero responde correctamente en G y H, el verificador dará la respuesta correcta o detectará el comportamiento no válido de P. Si P no es un programa correcto y responde incorrectamente en G y H, el verificador detectará el comportamiento inválido de P con alta probabilidad, o responderá incorrectamente con probabilidad 2-100. En particular, P se usa solo como caja negra. |