Esiste un semplice algoritmo polinomiale per decidere se esiste un percorso tra due nodi in un grafico diretto (basta fare un attraversamento grafico di routine con, diciamo, approfondimento prima ricerca).
Tuttavia sembra che, sorprendentemente, il problema diventi molto più difficile se invece di testare l'esistenza vogliamo contare il numero di percorsi.
Se permettiamo ai percorsi di riutilizzare i vertici, esiste una soluzione di programmazione dinamica per trovare il numero di percorsi da s a t con n spigoli. Tuttavia, se consentiamo solo percorsi semplici, che non riutilizzano i vertici, l'unica soluzione che mi viene in mente è l'enumerazione della forza bruta dei percorsi , qualcosa che ha una complessità temporale esponenziale.
Quindi chiedo
- È difficile contare il numero di percorsi semplici tra due vertici?
- Se è così, è una specie di NP-completo? (Dico un po 'perché tecnicamente non è un problema decisionale ...)
- Ci sono altri problemi in P che hanno una versione conteggio difficile come quella? **