Die folgende Frage an die Optimalitäts des Bellman-Ford im Zusammenhang - kürzester Weg dynamischen Programmier - Algorithmus (siehe diesen Beitrag für eine Verbindung). Eine positive Antwort würde auch bedeuten, dass die minimale Größe eines monotonen nichtdeterministischen Verzweigungsprogramms für das STCONN- Problem . t Θ ( n 3 )
Sei eine DAG (gerichteter azyklischer Graph) mit einem Quellknoten s und einem Zielknoten t . Ein k - Schnitt ist eine Menge von Kanten, deren Entfernung alle s - t Pfade mit einer Länge ≥ k zerstört ; wir nehmen an, dass es solche Pfade in G gibt . Beachten Sie, dass kürzere s - t - Pfade nicht zerstört werden müssen.
Frage: Muss mindestens (ungefähr) k disjunkte k- Schnitte haben?
Wenn es keine kürzeren - t - Pfade als k gibt , lautet die Antwort JA, da Robacker ∗ die folgende bekannte Min-Max-Tatsache (ein Dual zu Mengers Theorem ) zugeschrieben wird . Ein s - t - Schnitt ist ein k - Schnitt für k = 1 (zerstört alle s - t Pfade).
Fakt: In jedem gerichteten Graphen entspricht die maximale Anzahl von kantendisjunkten - t - Schnitten der minimalen Länge eines s - t Pfads.
Beachten Sie, dass dies auch dann gilt, wenn der Graph nicht azyklisch ist.
Beweis: Trivialerweise ist das Minimum mindestens das Maximum, da jeder - t - Pfad jeden s - t Schnitt in einer Kante schneidet. Um Gleichheit zu sehen, sei d ( u ) die Länge eines kürzesten Weges von s nach u . Sei U r = { u : d ( u ) = r } , für r = 1 , … , d ( t ) , und sei E rsei die Menge der Kanten, die . Es ist klar, dass die Mengen E r disjunkt sind, weil die Mengen U r solche sind. Es bleibt also zu zeigen, dass jedes E r ein s - t- Schnitt ist. Um dies zu zeigen, nehmen eine beliebige s - t Pfad p = ( u 1 , u 2 , ... , u m ) mit u 1 = s und u m = t . Da d , die Folge der Abstände d ( u 1 ) , … , d ( u m ) muss den Wert d ( u m ) = d ( t ) erreichen, indem bei d begonnen wird ( u 1 ) = d ( s ) = 0 und Erhöhen des Wertes um höchstens 1in jedem Schritt. Wenn ein Wert verringert wird, müssen wir letzteren Wert d ( u i ) erreichen . Es muss also ein j geben, bei dem ein Sprung von d ( u j ) = r nach d ( u j + 1 ) = r + 1 stattfindet, was bedeutet, dass die Kante ( u j , u j + 1 ) zu E r gehört , as erwünscht. QED
Was aber, wenn es auch kürzere (als ) Wege gibt? Irgendwelche Hinweise / Hinweise?
JT Robacker, Min-Max-Theoreme über kürzeste Ketten und disjunkte Schnitte eines Netzwerks, Forschungsmemorandum RM-1660, The RAND Corporation, Santa Monica, Kalifornien, [12. Januar] 1956.
EDIT (ein Tag später): über ein kurzes und sehr schönes Argument, antwortete David Eppstein die ursprüngliche Frage oben in Negativ : die komplette DAG (a transitiv Turnier ) kann nicht mehr als vier disjunkt k -Schnitte! Tatsächlich beweist er die folgende interessante strukturelle Tatsache für k ungefähr √ . Ein Schnitt istrein,wenn er keine Kanten enthält, die aufsodert fallen.
Jeder reine Schnitt in T n enthält einen Pfad der Länge k .
Dies impliziert insbesondere, dass sich alle zwei reinen Schnitte schneiden müssen! Aber vielleicht gibt es noch viele reine k- Schnitte, die sich nicht "zu sehr" überlappen. Daher eine entspannte Frage (die Konsequenzen für STCONN wären dieselben ):
Frage 2: Wenn jeder reine Schnitt ≥ M Kanten hat, muss der Graph dann ungefähr Ω ( k ⋅ M ) Kanten haben?
Der Zusammenhang mit der Komplexität von STCONN ergibt sich aus dem Ergebnis von Erdős und Gallai, dass man alle außer Kanten von (ungerichteten) K m entfernen muss, um alle Pfade der Länge k zu zerstören .
EDIT 2: Ich habe jetzt Frage 2 bei mathoverflow gestellt .