Kürzeste Wege, die jede Kante verbieten


9

Ich würde mich über Hinweise oder Begriffe freuen, die mich in die richtige Richtung führen könnten.

Wir haben einen gerichteten Graphen und Längen l i j für jede Kante i j , die als positiv angenommen werden können. Es gibt einen speziellen Startknoten s und einen speziellen Endknoten t .G=(V,E)lijijst

Für jede Kante möchten wir die Länge des kürzesten Pfades von s nach t berechnen , der keine Kante i j verwendet .ijstij

Ein einfacher Brute-Force-Algorithmus besteht darin, für jede Kante einen Algorithmus mit dem kürzesten Pfad auszuführen, wobei jedes Mal eine andere Kante aus dem ursprünglichen Diagramm entfernt wird. Gibt es einen effizienteren Algorithmus, der die Tatsache ausnutzt, dass in diesem Brute-Force-Algorithmus viele wiederholte Berechnungen stattfinden?

Danke im Voraus.

Antworten:


18

Das von Ihnen erwähnte Problem wird als "Ersatzpfade" bezeichnet. Hier einige Referenzen:

  1. O(mn+n2loglogn)nm
  2. A. Bernstein. Ein nahezu optimaler Algorithmus zur Approximation von Ersatzpfaden und k kürzesten einfachen Pfaden in allgemeinen Graphen. In Proc. SODA, Seiten 742–755, 2010. Dieses Papier gibt erstaunlicherweise ein quasilineares Zeitnäherungsschema für das Problem.
  3. Ω(mn)
  4. O(n3ε)ε>0O(n3ε)ε>0
  5. {M,,M}O~(Mnω)

8

stn1


Vielen Dank. Ich habe die andere Antwort akzeptiert, weil sie mehr von dem Kontext enthält, nach dem ich gesucht habe, aber ich werde diesen Ansatz wahrscheinlich für die Implementierung des ersten Durchgangs verwenden, die ich benötige.
dan_x
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.