Ist es bei einem ungewichteten DAG (gerichteter azyklischer Graph) und zwei Eckpunkten und möglich, den kürzesten und längsten Weg von nach in der Polynomzeit zu finden? Pfadlängen werden durch die Anzahl der Kanten gemessen.
Ich bin daran interessiert, den Bereich der möglichen Pfadlängen in der Polynomzeit zu finden.
Ps., Diese Frage ist ein Duplikat der StackOverflow-Frage Längster Pfad in einer DAG .
quelle
Sei und m = | E ( G ) | . Sei w ( a → b ) das Gewicht der Kante ( a → b ) . Angenommen, Sie möchten die minimalen und maximalen Pfadkosten von s bis t ermitteln .n=|V(G)| m=|E(G)| w(a→b) (a→b) s t
Führen Sie ausgehend von Folgendes aus:b:=t
Wenn bereits besucht wurde, geben Sie die bereits berechneten Werte für min ( b ) und max ( b ) zurück . Ansonsten markiere b als besucht.b min(b) max(b) b
Bestimmen und notieren Sie und max ( b ) wie folgt.min(b) max(b)
Sie sollten in der Lage sein zu beweisen, dass dieser Algorithmus in der Zeit , wobei die Zeit vernachlässigt wird, die zum Initialisieren aller Scheitelpunktvariablen erforderlich ist.O(m)
quelle