Complexité des chemins de comptage dans un graphe

12

Étant donné un graphe orienté avec n nœuds tels que chaque sommet a exactement deux bords sortants, et un nombre naturel N codé en binaire, deux sommets s et t,

Je veux compter le nombre de chemins (pas nécessairement simples) de s à t dans N étapes.

Est-ce un problème # P-difficile? Ou généralement, quelle est la complexité de ce problème?

maomao
la source
6
Avez-vous essayé d'alimenter la matrice?
Yuval Filmus
1
oui, mais la complexité n'est toujours pas connue à ma connaissance.
maomao
La marche doit-elle se terminer à t ou simplement visiter t à un moment donné de la marche?
Tyson Williams
il doit finir à t.
maomao
1
@Geekster Pour le digraphe complet sur 3 sommets avec , le nombre est le Nième nombre de Fibonacci, dont la taille est exponentielle en N, tout comme David l'a soutenu dans sa réponse pour tout graphique. st
Tyson Williams

Réponses:

13

Le nombre de chemins de sortie peut être (choisissez arbitrairement, puis choisissez comme sommet qui est le point final du plus grand nombre des promenades de ) qui nécessites t 2 N s Ω ( N )Ω(2N/n)st2NsΩ(N)bits à écrire explicitement; c'est exponentiel dans la taille d'entrée. D'un autre côté, l'approche de mise sous tension matricielle a un polynôme de complexité dans la somme des tailles d'entrée et de sortie. Donc, cela semble le placer carrément dans la classe des problèmes de comptage qui ont une sortie de taille exponentielle et peuvent être résolus de manière déterministe dans le polynôme temporel dans leur taille de sortie, quelle que soit la notation de cette classe (c'est une sorte d'analogue de comptage pour EXP, et certainement pas #EXP qui est plus analogue à NEXP).

David Eppstein
la source
1
merci, mais je veux toujours savoir si ce problème est -hard. P
maomao
1
Pour éviter les grands nombres dans l'approche quadratique itérative de David, nous pouvons faire tout le calcul modulo un nombre premier p. Ensuite, l'algorithme global s'exécute en polynôme temporel dans . Si le problème était # P-difficile sous des réductions de plusieurs-un parcimonieuses en temps polynomial, l'algorithme avec impliquerait P = P, ce que nous ne croyons pas. p = 2 n+logN+logpp=2
Holger
@Holger un argument similaire ne serait-il pas valable pour le permanent? c'est-à-dire que si Permanent est # P-hard alors Perm mod 2 serait P hard. Mais Perm mod 2 = Det mod 2 qui est en P.
SamiD
@SamiD: Exactement, votre argument montre que le permanent n'est probablement pas # P-dur sous des réductions parcimonieuses . Les preuves connues utilisent des réductions de Turing.
Holger
@ Holger, je suis d'accord. Désolé d'avoir raté la partie parcimonieuse de plusieurs . Ainsi, le problème d'alimentation de l'alimentation de la matrice peut très bien être difficile en P sous les réductions de Turing.
SamiD
4

AN[s,t]ABitSLP#PBitSLP

BitSLPCHPSPACEPHPPPPPP

SamiD
la source
1

N=NNN1

2

Miki Hermann
la source
2
Le problème d'origine ne nécessite pas que le chemin soit simple, donc je ne pense pas que la réponse soit correcte.
maomao
3
Comment peut-il être # P-complet lorsque tous les problèmes #P ont un nombre de solutions qui sont exponentielles dans la taille d'entrée et celle-ci est double exponentielle?
David Eppstein
Que signifie "ND31" dans le contexte du livre de Garey et Johson?
Tyson Williams