Können wir k kürzeste Wege zwischen allen Paaren schneller finden, als das paarweise Problem wiederholt zu lösen?


9

Ich möchte kürzesten Weg ( k wäre kleiner als 10) zwischen allen Paaren in einem Graphen erzeugen . Die Grafik ist (eigentlich eine U-Bahn-Karte):kk

  • positiv gewichtet
  • ungerichtet
  • spärlich
  • mit etwa 100 Knoten

Mein aktueller Plan ist es, kürzestes Routingk auf jedes Paar anzuwenden ; Ich suche jetzt nach einer effizienteren Alternative (möglicherweise mit dynamischer Programmierung).


3
Ehrlich gesagt, ist es für 100 Eckpunkte unwahrscheinlich, dass Sie etwas Effizienteres benötigen, als jedes der 45.000 paarweisen Probleme zu lösen.
David Richerby

Antworten:


6

k

k

Dies scheint ein recht junges Forschungsgebiet zu sein. Ein kürzlich veröffentlichtes Papier von Agarwal und Ramachandran ist auf dem ArXiv zu finden [1]. Der Abschnitt mit den vorherigen Arbeiten gibt Ihnen auch einen Einblick in die Geschichte des Problems.

Das aller Paarek

Hier ist es in der Tat die beste Wahl, den Eppsteins-Algorithmus nur wiederholt anzuwenden [2]. Die allgemeine Beobachtung, dass eine wiederholte Anwendung eines Algorithmus für die Single-Source-Version des Problems der schnellste Ansatz ist, wurde bereits 1977 von EL Lawler gemacht [3]; Eppstein bietet den bislang schnellsten Algorithmus für dieses Teilproblem.

Verweise

k

[2] Eppstein, D. Die k kürzesten Wege finden. SIAM Journal on Computing 28, 2 (1999), 652–673.

[3] Lawler, EL Kommentar zu einer Berechnung der k kürzesten Pfade in einem Diagramm. Mitteilungen der ACM, 20 (8): 603–605, 1977.


Danke. Da ich mit U-Bahn-Karten arbeite, muss sie ein einfacher Pfad sein (es macht keinen Sinn, wenn meine Software die Leute zum Hin- und Herbewegen führt), also würde ich wohl einfach mit Yans Algorithmus arbeiten .
Franklin Yu

Interessant und ziemlich überraschend, dass anscheinend 10.000 Fälle eines Problems nicht schneller gelöst werden können als nur 10.000 Einzelfälle nacheinander zu lösen.
Gnasher729

die Idee von Pfaden mit in den „kürzesten Wege“ enthalten Schleifen scheint nicht eingängig und ungewöhnlich , weil es scheinbar ein Äquivalent „Pfad“ ist mit der Schleife entfernt, und man fragt sich auch , wenn diese effizient von den einfachen Pfaden usw. aufgebaut werden kann ...
vzn
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.