Mientras pensaba en la complejidad de probar el isomorfismo de los gráficos asimétricos (vea mi pregunta relacionada sobre teoría), me vino a la mente una pregunta complementaria.
Supongamos que tenemos una máquina de Turing de tiempo polinomial que en la entrada genera un gráfico con nodos.M 1 n G M , n n
Podemos definir el problema :Π M
("Tiny" GI): Dado un gráfico , ¿ es isomorfo a ?G = ( V , E ) G G M , | V |
G=(V,E) G GM,|V|
En otras palabras, debemos comparar un gráfico dado con un gráfico de "referencia" del mismo tamaño generada por una máquina de Turing polinomio tiempo fijo .METRO
Para todas las máquinas de Turing tiempo polinomio , tenemos , y para muchos de ellos tenemos . Pero, ¿es cierto para todos los ? ¿Se conoce el problema?M Π M ∈ N P Π M ∈ P M
M ΠM∈NP ΠM∈P M
A primera vista, pensé que cada debería ser mucho más fácil que , porque para cada solo hay un gráfico de "referencia" de ese tamaño y quizás las simetrías / asimetrías de los gráficos generados por pueden explotarse y ser eficiente El probador de isomorfismo ad-hoc se puede construir ... pero no es cierto: puede contener algún tipo de máquina de Turing universal polinomial que utiliza la entrada (unaria) para generar gráficos de referencia completamente diferentes (en la estructura) como aumentaΠ M G I n M M 1 n n
fuente
Respuestas:
[Esto es más de unos pocos comentarios extendidos que una respuesta.]
1) Si G I ∉ P , entonces no hay un límite de polinomio fijo en la complejidad del tiempo de todos Π M , incluso para M que solo toman tiempo, digamos, n 3 : Si para todo el tiempo- n 3 M , Π M ∈ D T I M E ( n k ) , entonces el siguiente es un algoritmo de poli-tiempo para GI. En la entrada ( G , H ) , construir una máquina de Turing nunca se ejecuta durante más de n 3 pasos en entradas de tamaño nGI∉P ΠM M n3 n3 M ΠM∈DTIME(nk) (G,H) M G con un reloj que asegure que M GMG MG n3 n , y tal que M G ( 1 | V ( G ) | ) = G , y luego resuelva Π M G ( H )MG(1|V(G)|)=G ΠMG(H) en el tiempo O ( n k ) .O(nk)
2) Dado que para cualquier M , Π M no es más difícil que GI, uno podría pensar que el mejor resultado en la línea de " Π M parece no estar enM ΠM ΠM P " que uno podría esperar es un resultado de integridad GI. Sin embargo, me parece poco probable que alguien Π M esté completo GI, al menos por las siguientes razones:P ΠM
Todos los resultados de integridad GI que conozco son para clases bastante grandes de gráficos, en lugar de tener un solo gráfico de cada tamaño. Incluso si elimina por completo el requisito de eficiencia, no conozco ninguna lista de gráficos G 1 , G 2 , ... de tal manera que | V ( G n ) | = n (o incluso p o l y (G1,G2,… |V(Gn)|=n n ) ) de modo que la prueba de isomorfismo para G n sea completa con IG.poly(n) Gn
En una nota relacionada, la mayoría (¿todos?) Los resultados de completitud GI no son meramente reducciones de muchos, sino que tienen la siguiente forma: hay una función f tal que dada una instancia ( G , H ) de GI, ( f ( G ) , f ( H ) )f (G,H) (f(G),f(H)) es una instancia del otro problema de GI completo. (Estos son solo morfismos poli-temporales de relaciones de equivalencia, o lo que Fortnow y yo llamamos "reducciones de kernel"). Podemos demostrar fácilmente incondicionalmente que no existe tal reducción de GI a cualquier Π M (incluso si modifica la definición para permitir MΠM M para generar múltiples gráficos). Sugerencia: Obtenga una contradicción al mostrar que cualquier f debe tener su imagen completamente contenida en { G M , n } n ≥ 0 .f {GM,n}n≥0
3) A pesar de que uno podría construir M basado en una TM universal como se sugiere en la pregunta, quizás uno pueda construir un probador eficiente, pero no de manera eficiente. Es decir, tal vez para cada M , Π M está en P / p o l y ?M M ΠM P/poly
fuente
No tengo respuesta a su pregunta, pero propongo considerar una versión más restringida de Π M para la cual podemos demostrar que se encuentra en P.ΠM
Consideremos solo familias de gráficos de modo que el número de aristas crezca logarítmicamente. Formalizaré esto reformulando la formulación de su problema, también para ver si lo he entendido correctamente.
Un gráfico no dirigido G con n aristas se puede describir con un n 2 - nG n 2 cadenas de bits largas, simplemente concatene las entradas de la matriz de adyacencia deGen el triángulo superior. Por lo tanto hay2 n 2 - nn2−n2 G 2 posibles gráficos ennvértices. Se deduce que cualquier funciónf:N→Ntal que0≤f(n)<2n2-2n2−n2 n f:N→N n2 para todondescribe una familia de gráficos. Para cualquier funciónfcomputable de manera eficiente,definimosΠfcomo
G0≤f(n)<2n2−n2 n f Πf ∈ Π f⟺G es isomorfo a la gráfica descrita por f ( | V ( G ) | )
Para un número natural x sea b 1 ( x ) el número de 1 en su representación binaria. Ahora, consideremos solo Π f para funciones computables de manera eficiente f para las cuales sostiene que b 1 ( f ( n ) ) ∈ O ( log nx b1(x) Πf f )
que es familias de gráficos para los cuales el número de aristas crece solo logarítmicamente, como se indicó anteriormente .
Mostramos que Π f para esta clase de funciones está en P.Πf
Sea f una función de este tipo y G una gráfica de entrada con n vértices. Llamemos f ( n ) el gráfico de referencia. Hay como máximo aristas O ( log n ) en el gráfico de referencia. Por lo tanto, cada MCC (componente conectado de manera máxima) puede consistir en un máximo de vértices O ( log n ) de los cuales puede haber un máximo de n . Tenga en cuenta que para cualquier par de gráficos con solo O ( log n )f G n f(n) O(logn) O(logn) n O(logn) vértices podemos verificar trivialmente el isomorfismo en el tiempo polinomialmente wrt nn porque podemos probar todas las permutaciones. Por lo tanto, utilizando un algoritmo codicioso para asignar a cada MCC del gráfico de entrada un MCC en el gráfico de referencia, podemos determinar si los dos gráficos son isomorfos.
fuente