Dies ist eine wegweisende Leistung. Informatiker der Tsinghua College haben den bedeutendsten Durchbruch bei der algorithmischen Effizienz angekündigt, um den kürzesten Weg in Netzwerken seit über 40 Jahren zu finden. Das Staff hat erfolgreich einen neuen Algorithmus entwickelt, der das langjährige „Sortierbarriere“ des renommierten Algorithmus von Dijkstra von 1959 überwindet, ein Eckpfeiler des Computer systems, der alles von der GPS-Navigation bis zur Datenrouting des Internets betrieben hat. Diese Entwicklung hat einen transformativen Einfluss auf eine Vielzahl von Branchen, insbesondere in den Bereichen der Lieferkettenmanagement und -herstellung.
Denken Sie an eine riesige Karte von Einwegstraßen (eine gerichtete Grafik). Sie wählen eine Startstadt und möchten es wissen Wie weit Jede andere Stadt stammt von Ihnen entlang der billigsten Route. Diese Aufgabe mit „Single-Supply-kürzesten Pfaden“ versorgt Dinge wie Navigation, Logistik, Netzwerkrouting und Sport AI.
Seit Jahrzehnten ist die Anlaufstelle Lösung Dijkstra -Algorithmus. Es ist wunderbar zuverlässig, aber es verbringt viel Mühe Alle Städte durch steigende Entfernung anstellen wie es geht. Diese „vollständige Aufstellung“ (Sortierung) wird zu einer Zeitspüle in riesigen, spärlichen Netzwerken.
Die neuen Forschungsergebnisse zeigen, dass Sie alle Entfernungen erhalten können ohne die Städte vollständig aufzurichten. Sie brauchen nur genug Bestellung, um weiter voranzukommen – nicht mehr.
Alles erklären
Erklären wir es nun aus technischer Sicht:
Das Drawback mit einem einzelnenkürzesten Pfad (SSSP) beinhaltet einen gerichteten Diagramm g = (v, e) mit N Eckpunkte und M Kanten zusammen mit einem nicht negativen realen Gewicht für jede Kante (Duan et al. 2025, S. 1). Ziel ist es, die Länge des kürzesten Pfades von einem Quellscheitelpunkt zu jedem anderen Scheitelpunkt V im Diagramm zu finden (Duan et al. 2025, S. 3). Der Standardalgorithmus für diese Aufgabe ist der Algorithmus von Dijkstra, der, wenn er mit erweiterten Datenstrukturen wie Fibonacci oder entspannten Haufen implementiert ist, eine Zeitkomplexität von hat O (M + n log n) (Duan et al. 2025, S. 1). Dieser Algorithmus arbeitet im Vergleichs-Addition-Modell, wobei nur Vergleiche und Ergänzungen von Kantengewichten zulässig sind, wobei jeder Betrieb die Einheitszeit übernimmt (Duan et al. 2025, S. 1).
Der Algorithmus von Dijkstra arbeitet, indem er den Scheitelpunkt wiederholt mit dem minimal bekannten Abstand von einer vorrangigen Warteschlange extrahiert und seine ausgehenden Kanten entspannt (Duan et al. 2025, S. 2). Ein Nebenprodukt dieses Prozesses ist, dass es Scheitelpunkte nach ihrem Abstand von der Quelle sortiert (Duan et al. 2025, S. 1). Dieser Sortieraspekt schafft einen Zeitgpass, der oft als „Sortierbarriere“ bezeichnet wird und die angenommen wurde, dass sie eine grundlegende Grenze für SSSP -Algorithmen darstellt, was auf eine untere Grenze von ω (n log n) (Duan et al. 2025, S. 2) hindeutet. Jüngste Arbeiten bestätigten, dass der Algorithmus von Dijkstra, wenn ein Algorithmus die sortierte Reihenfolge der Scheitelpunkte nach Entfernung ausgeben muss, optimum (Duan et al. 2025, S. 1). Die Frage blieb jedoch, ob diese Barriere für gerichtete Graphen unterbrochen werden konnte, wenn nur die Entfernungen selbst erforderlich wären (Duan et al. 2025, S. 1). Die Autoren der neuen Studie präsentieren einen deterministischen Algorithmus, der dies erreicht und in den Läufen läuft O (M log²/³ n) Zeit (Duan et al. 2025, S. 1). Dieses Ergebnis ist das erste, das die an spärlichen Graphen für dieses Drawback gebundenen O (M + n log n) gebrochen hat, und ist auch der erste deterministische Algorithmus, der auch für ungerichtete Graphen tut (Duan et al. 2025, S. 2).
Der neue Algorithmus kombiniert Prinzipien aus dem Algorithmus von Dijkstra und dem Bellman-Ford-Algorithmus (Duan et al. 2025, S. 2). Der Bellman-Ford-Algorithmus entspannt alle Kanten mehrmals und kann kürzeste Wege mit höchsten Kanten in O (MK) finden, ohne Scheitelpunkte sortieren zu müssen (Duan et al. 2025, S. 2). Die Kernidee der Forscher besteht darin, diese beiden Ansätze mithilfe einer rekursiven, divid- und konquerischen Technik zusammenzufassen, die sich auf die Reduzierung der Größe der „Grenze“ konzentriert, die der Satz von Scheitelpunkten ist, die vom Algorithmus aktiv berücksichtigt werden (Duan et al. 2025, S. 2).
Algorithmischer Rahmen und Annahmen
Der Algorithmus arbeitet unter dem Vergleichs-Addition-Modell (Duan et al. 2025, S. 3). Für die Analyse wird angenommen, dass das Diagramm eine konstante In-Grad- und Out-Grad-Deggrade aufweist (Duan et al. 2025, S. 3). Die Autoren stellen fest, dass jeder allgemeine Diagramm durch eine Standardumwandlung in diese Kind konvertiert werden kann, die kürzeste Pfade bewahrt, während ein neues Diagramm mit O (M) -Reitschlägern und Kanten erstellt wird (Duan et al. 2025, S. 3). Der Algorithmus beibehält auch eine Entfernungsschätzung DB (U) für jeden Scheitelpunkt U, der immer größer oder gleich dem wahren kürzesten Abstand D (U) ist (Duan et al. 2025, S. 3). Ein Scheitelpunkt U wird als „vollständig“ angesehen, wenn db (u) = d (u) (Duan et al. 2025, S. 3). Für die Einfachheit der Präsentation geht das Papier davon aus, dass alle Pfade eindeutige Längen aufweisen, aber eine Methode zur Durchsetzung einer Gesamtreihenfolge auf Pfaden unter Verwendung des lexikografischen Vergleichs von Tupel der Pfadlänge, der Scheitelpunktzahl und der umgekehrten Sequenz von Eckpunkten, sodass diese Annahme die Allgemeinheit des Algoriths nicht begrenzt (Duan et al. 2025, S. 4).
Das Bounded Multi-Supply-Verfahren für Kürzeste Pfad (BMSSP)
Die Hauptkomponente des Algorithmus ist ein rekursives Verfahren, der als begrenzter Multi-Supply-kürzester Pfad oder BMSSP bezeichnet wird (Duan et al. 2025, S. 4). Dieses Verfahren ist so konzipiert, dass alle wahren Entfernungen zu Eckpunkten finden, die weniger als eine gegebene Obergrenze sind B und deren kürzeste Wege von einer Reihe von „Grenze“ abhängen S (Duan et al. 2025, S. 4). Der Algorithmus ist als Divide-and-Contrener T: = ⌊log²/³ (n) ⌋ ist ein Parameter (Duan et al. 2025, S. 4). Ein Aufruf an BMSSP (L, B, S) erfordert ein Degree ldie gebundene B und die Grenze setzt S als Eingabe (Duan et al. 2025, S. 4). Es gibt eine neue, möglicherweise kleinere Grenze B ‚≤ B und einen Satz von Scheitelpunkten U zurück, die jetzt vollständig sind (Duan et al. 2025, S. 5). Die Ausführung kann entweder erfolgreich sein, wobei B ‚= B oder partiell, wobei B‘
Wichtige Unterroutinen
Die BMSSP -Prozedur basiert auf zwei Schlüsselkomponenten, um seine Beschleunigung zu erreichen (Duan et al. 2025, S. 5). Das erste ist eine Unterroutine namens Findpivots (Duan et al. 2025, S. 5). Diese Funktion nimmt die Frontier Set S und führt eine Bellman-Ford-ähnliche Entspannung für ok Schritte, wo ok: = ⌊log¹/³ (n) ⌋ (Duan et al. 2025, S. 4). Dieser Prozess berechnet entweder die endgültigen kürzesten Pfade für Eckpunkte, deren Pfade von S kurz sind (weniger als Ok -Scheitelpunkte) oder identifiziert einen kleineren Satz von „Pivots“ -P ⊆ S (Duan et al. 2025, S. 5). Diese Pivots sind Eckpunkte in S, die Wurzeln größerer Kürzester-Pfad-Subträume (mindestens Ok-Scheitelpunkte) sind, und die Anzahl solcher Drehungen wird durch | |/ok begrenzt, wobei UE der Satz von Interesse ist (Duan et al. 2025, S. 6). Dies reduziert effektiv die Größe der Grenze, die in nachfolgenden rekursiven Aufrufen verarbeitet werden muss (Duan et al. 2025, S. 5).
Die zweite Komponente ist eine spezielle Datenstruktur, mit der die Pivots und andere Eckpunkte verwaltet werden, ohne sie vollständig zu sortieren (Duan et al. 2025, S. 6). Diese Struktur unterstützt drei Hauptoperationen (Duan et al. 2025, S. 6-7):
Insert: Fügt ein Schlüsselwertpaar in amortisierter O (max {1, log (n/m)}) hinzu, in der n die Anzahl der Elemente und M ein Blockgrößenparameter ist (Duan et al. 2025, S. 6).BatchPrepend: Fügt eine Liste neuer Elemente ein, die alle kleiner sind als alle vorhandenen Elemente, was für die Behandlung von Ergebnissen aus rekursiven Aufrufen effizient ist (Duan et al. 2025, S. 7).Pull: Extrahiert einen Block der kleinsten m -Elemente aus der Struktur, ohne die gesamte Sammlung zu sortieren, die die Eingabe für den nächsten rekursiven Ruf von BMSSP liefert (Duan et al. 2025, S. 7).
Diese Datenstruktur wird unter Verwendung einer blockbasierten verknüpften Liste implementiert, die mit einem selbstausgleichenden binären Suchbaum kombiniert ist, um Blockgrenzen zu verwalten (Duan et al. 2025, S. 7). Durch die Kombination dieser Techniken vermeidet der Algorithmus die Notwendigkeit, eine voll sortierte Prioritätswarteschlange aller N -Scheitelpunkte aufrechtzuerhalten (Duan et al. 2025, S. 2). Stattdessen verteilt es rekursiv das Drawback, verwendet begrenzte Bellman-Ford-Relaxationen, um Pivots zu finden, und verwendet eine teilweise Sortierdatenstruktur, um die viel kleineren Pivots für die nächste Stufe der Reursion effizient zu verwalten (Duan et al. 2025, S. 5). Die Gesamtzeitkomplexität leitet sich aus den Arbeiten, die an jedem der Rekursionsniveaus von O ((log n)/t) durchgeführt wurden, ab, was zum endgültigen O (M log²/³ n) gebunden ist (Duan et al. 2025, S. 14).
