Mit einem einfachen Polynomalgorithmus kann entschieden werden, ob in einem gerichteten Graphen ein Pfad zwischen zwei Knoten vorhanden ist.
Es scheint jedoch überraschenderweise, dass das Problem viel schwieriger wird, wenn wir anstatt auf die Existenz zu testen, die Anzahl der Pfade zählen möchten .
Wenn wir zulassen, dass Pfade Eckpunkte wiederverwenden, gibt es eine dynamische Programmierlösung, um die Anzahl der Pfade von s nach t mit n Kanten zu ermitteln. Wenn wir jedoch nur einfache Pfade zulassen, die keine Eckpunkte wiederverwenden, kann ich mir nur eine Brute-Force-Aufzählung der Pfade vorstellen, die eine exponentielle zeitliche Komplexität aufweist.
Deshalb frage ich,
- Ist es schwierig, die Anzahl der einfachen Pfade zwischen zwei Scheitelpunkten zu zählen?
- Wenn ja, ist es irgendwie NP-vollständig? (Ich sage irgendwie, weil es technisch kein Entscheidungsproblem ist ...)
- Gibt es andere Probleme in P, die auch solche Versionen mit harter Zählung haben? **