Complejidad de contar caminos en un gráfico

12

Dado un gráfico dirigido con n nodos de modo que cada vértice tenga exactamente dos bordes salientes, y un número natural N codificado en binario, dos vértices syt,

Quiero contar el número de rutas (no necesariamente simples) de sa t en N pasos.

¿Es este un problema difícil de # P? O, en general, ¿cuál es la complejidad de este problema?

maomao
fuente
66
¿Intentaste alimentar la matriz?
Yuval Filmus
1
Sí, pero la complejidad aún no se conoce hasta donde puedo ver.
maomao
¿La caminata tiene que terminar en t o simplemente visitar t en algún momento de la caminata?
Tyson Williams el
tiene que terminar en t.
maomao
1
@Geekster Para el dígrafo completo en 3 vértices con , el recuento es el enésimo número de Fibonacci, cuyo tamaño es exponencial en N, tal como David ha argumentado en su respuesta para cualquier gráfico. st
Tyson Williams el

Respuestas:

13

El número de rutas de salida puede ser (elija s arbitrariamente y luego elija t como el vértice que es el punto final del mayor número de 2 N camina desde s ) que requiere Ω ( N )Ω(2N/n)st2NsΩ(N)bits para escribir explícitamente; Esto es exponencial en el tamaño de entrada. Por otro lado, el enfoque de alimentación de matriz tiene un polinomio de complejidad en la suma de los tamaños de entrada y salida. Entonces, eso parece ubicarlo directamente en la clase de problemas de conteo que tienen una salida de tamaño exponencial y pueden resolverse de manera determinista en el tiempo polinomial en su tamaño de salida, sea cual sea la notación para esa clase (es una especie de análogo de conteo para EXP, y definitivamente no #EXP, que es más análogo a NEXP).

David Eppstein
fuente
1
gracias, pero todavía quiero saber si este problema es -hard. P
maomao
1
Para evitar los grandes números en el enfoque de cuadratura iterativa de David, podemos hacer todos los módulos de cálculo un número primo p. Luego, el algoritmo general se ejecuta en tiempo polinomial en . Si el problema era # P-duro bajo reducciones parsimoniosas de tiempo polinómico, el algoritmo con p = 2 implicaría P = P, lo cual no creemos. n+logN+logpp=2
Holger
@Holger, ¿no se mantendría un argumento similar para el Permanente? es decir, si permanente es # P-hard, entonces Perm mod 2 sería P hard. Pero Perm mod 2 = Det mod 2 que está en P.
SamiD
@SamiD: Exactamente, su argumento muestra que el permanente probablemente no es # P-duro bajo reducciones parsimoniosas . Las pruebas conocidas utilizan reducciones de Turing.
Holger
@ Holger estoy de acuerdo. Lo siento, me había perdido la parte parsimoniosa de muchos . Por lo tanto, el problema de alimentación de la matriz puede ser muy difícil en las reducciones de Turing.
SamiD
4

AN[s,t]ABitSLP#PBitSLP

BitSLPCHPSPACEPHPPPPPP

SamiD
fuente
1

N=NNN1

2

Miki Hermann
fuente
2
El problema original no requiere que la ruta sea simple, por lo que no creo que la respuesta sea correcta.
maomao
3
¿Cómo puede ser # P-completo cuando todos los problemas #P tienen un número de soluciones que son exponenciales en el tamaño de entrada y este es doblemente exponencial?
David Eppstein
¿Qué significa "ND31" en el contexto del libro de Garey y Johson?
Tyson Williams el