Bei einem gerichteten Graphen und die zwei Scheitel s , t ∈ V . Ein Paar einfacher Pfade p 1 , p 2 von s nach t ist kantendisjunkt, wenn sie keine Kante teilen.
Bei Verwendung des maximalen Durchflusses ist es leicht zu entscheiden, ob es ein Paar von disjunkten Kantenpfaden von nach t gibt . Gibt es nun einen polynomiellen Zeitverzögerungsalgorithmus, um alle Paare von kantendisjunkten Pfaden von s nach t aufzulisten ?
Antworten:
Ich glaube, Artem Kaznatcheevs Antwort ist richtig, aber sie gibt keinen Polynomraum. Hier ist also ein anderer Ansatz, der in dieser Hinsicht etwas besser funktionieren sollte.
Mit dem maximalen Durchfluss ist es möglich, ein etwas allgemeineres Problem zu lösen: Suchen Sie ein Paar von nicht zusammenhängenden Kantenpfaden von zwei Scheitelpunkten {s1, s2} zu einem anderen Scheitelpunktpaar {t1, t2}, ohne jedoch zu steuern, welcher Quellscheitelpunkt verbunden ist zu welchem Zielscheitelpunkt.
Angenommen, wir haben einen Graphen G und Eckpunkte s1, s2, t1, t2, für die wir alle Pfadpaare auflisten möchten. Suchen Sie ein einzelnes Pfadpaar P1, P2 und lassen Sie e = (s1, v) die erste Kante auf einem dieser Pfade sein. Dann können wir den Problemraum in zwei Teilprobleme aufteilen: Die Pfadpaare, die e verwenden, sind dieselben wie die Pfade von {v, s2} bis {t1, t2} in G-s1 und die Pfadpaare, die nicht verwendet werden e sind die gleichen wie die Pfade von {s1, s2} zu {t1, t2} in Ge. Wiederholen Sie diese beiden Teilprobleme und melden Sie (um Doppelarbeit zu vermeiden) nur dann einen Pfad, wenn Sie sich am Ende der Rekursion befinden.
quelle
Dies ist das erste Mal, dass ich über Polynomverzögerungsalgorithmen gelesen habe, daher bin ich mir meiner Antwort nicht 100% sicher, aber ich denke, dass so etwas wie das Folgende funktionieren sollte.
quelle
quelle