Einleitung
In Algorithmen kann Negativität wie im Leben eine Belastung sein.
Stellen Sie sich das Problem vor, den kürzesten Weg zwischen zwei Punkten in einem Graphen zu finden – einem Netzwerk von Knoten, die durch Verbindungen oder Kanten verbunden sind. Oft sind diese Kanten nicht austauschbar: Ein Diagramm könnte eine Straßenkarte darstellen, auf der einige Straßen langsamer sind als andere oder höhere Mautgebühren haben. Informatiker berücksichtigen diese Unterschiede, indem sie jeder Kante ein „Gewicht“ zuordnen, das die Kosten für die Bewegung über dieses Segment quantifiziert – unabhängig davon, ob diese Kosten Zeit, Geld oder etwas anderes darstellen. Seit den 1950er Jahren wissen sie, wie man kürzeste Wege im Wesentlichen so schnell wie theoretisch möglich findet, vorausgesetzt, dass alle Gewichte positive Zahlen sind.
Aber auf einigen Graphen können Gewichte negativ sein – das Reisen entlang eines Segments kann die Kosten für das Durchqueren eines anderen ausgleichen. Stellen Sie sich zum Beispiel einen Lieferfahrer vor, der die Kosten für Benzin und Maut (dargestellt durch positive Gewichte) mit den Einnahmen aus dem Transport von Paketen (dargestellt durch negative Gewichte) ausgleichen muss. In solchen Fällen funktioniert der schnellste bekannte Shortest-Path-Algorithmus nicht. Jahrzehntelang waren schnelle Algorithmen zum Finden kürzester Pfade auf Graphen mit negativem Gewicht schwer fassbar.
Nun hat ein Informatiker-Trio dieses langjährige Problem gelöst. Ihr neues Algorithmus, das die kürzesten Pfade durch einen Graphen von einem bestimmten „Quell“-Knoten zu jedem anderen Knoten findet, erreicht fast die Geschwindigkeit, die Algorithmen mit positiver Gewichtung vor so langer Zeit erreicht haben.
Darüber hinaus verwendet der neue Ansatz jahrzehntealte mathematische Techniken und verzichtet auf ausgefeiltere Methoden, die die moderne Graphentheorie-Forschung dominiert haben.
„Ich konnte einfach nicht glauben, dass es einen so einfachen Algorithmus gibt“, sagte er Maximilian Probst Gutenberg, Informatiker an der Eidgenössischen Technischen Hochschule Zürich. „Das alles gibt es seit 40 Jahren. Es brauchte nur jemanden, der wirklich schlau und entschlossen war, alles zum Laufen zu bringen.“
Die Grenzen der Gier
Die Geschichte beginnt 1956, als der niederländische Informatiker Edsger Dijkstra einen schnellen Algorithmus entwickelte, um kürzeste Wege auf einem Graphen mit nur positiven Gewichten zu finden. Um es zu verstehen, stellen Sie sich vor, Sie beginnen bei der Quelle und erkunden den Graphen Knoten für Knoten und notieren dabei die Gewichte neu entdeckter Kanten. Nehmen Sie jedes Mal, wenn Sie einen Knoten besuchen, vorläufige Schätzungen der kürzesten Pfade von der Quelle zu jedem der Nachbarn des neuen Knotens vor und aktualisieren Sie alle vorhandenen Schätzungen, wenn Sie einen neuen kürzeren Pfad gefunden haben. Um zu entscheiden, welcher unerforschte Knoten als nächstes besucht werden soll, verwenden Sie eine sogenannte Greedy-Strategie: Gehen Sie zu dem, der der Quelle gemäß Ihrer aktuellen Schätzung am nächsten ist.
Bei positiven Gewichtungen ist der Weg, den der Dijkstra-Algorithmus nimmt, um jeden Knoten zum ersten Mal zu besuchen, wirklich der kürzeste. Es ist am einfachsten zu sehen, dass dies für den allerersten Schritt gilt. Stellen Sie sich zwei Knoten A und B vor, die durch eine Kante mit dem Gewicht 2 verbunden sind. Wenn A der Quellknoten ist und jede andere Kante, die ihn berührt, ein größeres Gewicht hat, muss der direkte Pfad von A nach B der kürzestmögliche Pfad sein, der diese beiden Punkte verbindet , da das erste Segment jedes anderen Pfades bereits länger wäre. Ähnliche Überlegungen funktionieren bei jedem Schritt. Der Algorithmus muss nie zurückblicken, ist also garantiert fertig, nachdem er den Graphen einmal durchlaufen hat – das macht ihn so schnell.
Aber negative Gewichte bedeuten Ärger für Dijkstras gierige Strategie. Betrachten Sie noch einmal unseren Lieferfahrer. Ein direkter Weg von A nach B, der einen kleinen Gewinn bringt, kann weniger Geld einbringen als ein Umweg, der irgendwo eine große Auszahlung hat. „Sie können keine Entscheidungen nur auf der Grundlage lokaler Informationen treffen“, sagte er Sanjeev Khanna, Informatiker an der University of Pennsylvania. „Möglicherweise müssen Sie mehrere scheinbar suboptimale Züge machen, um endlich eine echte Belohnung zu erhalten.“
Jahrzehntelang versuchten Informatiker, die an Graphen mit negativem Gewicht arbeiteten, die Geschwindigkeit von Dijkstras Algorithmus mit ähnlichen „kombinatorischen“ Algorithmen zu erreichen. Dazu gehören diskrete Operationen – wie das Zählen von Möglichkeiten, das Ändern von Gewichten und das selektive Löschen von Kanten – die die diskrete Struktur des zugrunde liegenden Diagramms widerspiegeln. Der Fortschritt verlangsamte sich jedoch in den 1990er Jahren. In jüngerer Zeit haben Forscher „kontinuierliche Optimierungs“-Algorithmen verwendet, die sich Tricks aus der Infinitesimalrechnung leihen. Leider waren die daraus resultierenden Beschleunigungen begrenzt und gingen oft zu Lasten der Einfachheit.
Den Kreislauf durchbrechen
Im Sommer 2021 wurden zwei Informatiker, die Kollegen an der Universität Kopenhagen geworden waren – Danupon Nanogkai und Christian Wulff-Nilsen — suchten ein Thema für ein gemeinsames Forschungsprojekt. „Christian sagte: ‚Oh, übrigens, ich war im Urlaub, und deswegen habe ich versucht, mir etwas sehr Ehrgeiziges einfallen zu lassen'“, erinnert sich Nanongkai, der jetzt am Max-Planck-Institut für Informatik in Saarbrücken arbeitet. Sie entschieden sich für das Problem der kürzesten Wege mit negativem Gewicht und luden ein Aaron Bernstein der Rutgers University, sich ihnen anzuschließen.
Alle drei Forscher waren Experten für kombinatorische Graphalgorithmen für andere Probleme, und sie wollten sehen, wie weit diese relativ alten Ansätze sie bringen könnten. „Es gibt tatsächlich eine gewisse Freiheit, an einem ehrgeizigen und seit langem offenen Problem zu arbeiten“, sagte Bernstein.
Das Trio begann damit, vorübergehend eine Teilmenge möglicher Graphen zu ignorieren: diejenigen, die negative Zyklen enthalten. Dies sind Pfade, die zu ihrem Ausgangspunkt zurückkehren, nachdem sie eine Reihe von Kanten durchlaufen haben, deren Gewichte sich zu einer negativen Zahl addieren. In einem Diagramm mit negativen Zyklen, die vom Startpunkt aus erreichbar sind, bricht die Vorstellung eines kürzesten Pfads zusammen, da Sie die Entfernung zu jedem Knoten so negativ (oder so profitabel) machen können, wie Sie möchten, indem Sie zuvor wiederholte Runden um den negativen Zyklus drehen auf dem Weg zu Ihrem Ziel.
Die Forscher vermuteten, dass vor allem lange Negativpfade für die Erschwerung des Problems verantwortlich waren. Also begannen sie, sich auf enge Cluster von nahe gelegenen Knoten zu konzentrieren, die keine langen negativen Pfade enthalten können: Denn wenn zwei Punkte durch einen kurzen positiven Pfad verbunden sind, würde das Hinzufügen eines langen negativen Pfads zwischen ihnen einen negativen Zyklus erzeugen. Innerhalb eines engen Clusters „gibt Ihnen die Tatsache, dass alle im positiven Sinne nah beieinander liegen, tatsächlich auch nützliche Informationen über die negativen Kanten“, sagte Bernstein. "Es sagt dir, dass die Dinge nicht zu negativ sein können."
Die meisten Graphen enthalten viele solcher engmaschiger Cluster, die nur schwach miteinander verbunden sind. Wenn die Forscher alle Cluster lokalisieren könnten, vermuteten sie, dass sie einen Weg entwickeln könnten, um innerhalb jedes Clusters schnell die kürzesten Wege zu finden. Von dort aus fällt es ihnen möglicherweise leichter, einzelne Cluster zu verbinden und die kürzesten Pfade auf dem ursprünglichen Diagramm zu finden. Aber dazu müssten sie schnell die Regionen eines beliebigen Graphen erkennen, in denen Knoten nahe beieinander liegen – etwas, von dem sie nicht wussten, wie es geht. Der Schlüssel entpuppte sich als Technik, die aus einem ganz anderen Zweig der Graphentheorie stammte.
Diagramme zerschneiden
In den 1980er Jahren entwickelten Informatiker eine Technik namens Low-Diameter Decomposition, um enge Cluster in einem Diagramm auszuwählen und die Kanten zu identifizieren, die gelöscht werden müssen, um diese Cluster zu trennen. Diese Technik bietet eine Möglichkeit, Diagramme in unabhängige Abschnitte zu unterteilen. Es wurde erfunden, um „verteilte“ Algorithmen zu erleichtern, bei denen Berechnungen parallel auf verschiedenen Teilen eines Graphen ausgeführt werden, daher war es weniger offensichtlich nützlich für Shortest-Path-Algorithmen, die diese Eigenschaft nicht haben.
Bernstein, Nanongkai und Wulff-Nilsen erkannten, dass die Zerlegung mit geringem Durchmesser ihnen helfen könnte, Cluster ohne viel konzentrierte Negativität zu identifizieren. Leider funktionieren standardmäßige Zerlegungsalgorithmen mit niedrigem Durchmesser nur mit ungerichteten Graphen – solchen, bei denen jede Kante in beide Richtungen durchlaufen werden kann. Das Kürzeste-Wege-Problem mit negativem Gewicht macht hingegen nur auf gerichteten Graphen Sinn, in denen jede Kante eine Einbahnstraße ist. (Andernfalls würde eine einzelne ungerichtete negative Kante einen negativen Zyklus erzeugen, der aus wiederholten Sprüngen hin und her über diese Kante besteht.) Wenn die Forscher die Zerlegung mit geringem Durchmesser verwenden wollten, müssten sie sie anpassen.
Das haben sie in ihrer neuen Zeitung getan. Inspiriert von vergangene Arbeit bei der Bernstein und Wulff-Nilsen mit Probst Gutenberg zusammengearbeitet hatten, entwickelten sie ein Frakturierungsverfahren für gerichtete Graphen analog zur Zerlegung mit geringem Durchmesser. Das Verfahren zerhackt einen willkürlichen gerichteten Graphen in eine Reihe engmaschiger Cluster, indem es einen zufälligen Prozess verwendet, um nur eine Handvoll Kanten zu löschen. Anschließend werden diese Cluster durch ein Sparser-Netzwerk verbunden, in dem alle Kanten in die gleiche Richtung zeigen. Diese Art von Netzwerk wird als gerichteter azyklischer Graph oder DAG bezeichnet.
Stellen Sie sich einen DAG wie einen Bach vor, in dem Wasser auf verschiedenen Wegen fließen kann: Einige Wege fließen aus verschiedenen Quellen ein, andere fächern sich in verschiedene Richtungen auf und wieder andere können sich trennen und wieder zusammenführen. Aber nichts fließt jemals rückwärts, also gibt es keine Zyklen; Dadurch ist die Arbeit mit DAGs viel einfacher.
Forscher wissen seit langem, wie man kürzeste Wege auf DAGs auch mit negativen Gewichten schnell findet. Die Fracturing-Technik ermöglichte es den drei Forschern also, jeden gerichteten Graphen auf eine Kombination aus zwei Spezialfällen – DAGs und engen Clustern – zu reduzieren, die jeweils einfach zu handhaben waren.
Der neue Shortest-Path-Algorithmus verwendet wiederholt das Fracturing-Verfahren, um einen Graphen in engmaschige Cluster zu zerlegen, die durch einen DAG verbunden sind. Es bricht diese Cluster dann immer weiter auseinander. Am Ende des Prozesses sind die Cluster auf der innersten Ebene möglichst eng miteinander verbunden. Der Algorithmus ist unter anderem deshalb so schnell, weil es nicht viele Iterationen braucht, um selbst einen sehr großen Graphen vollständig zu zerlegen, genauso wie es nicht lange dauert, eine große Zahl auf eine vernünftige Größe zu reduzieren, wenn Sie wiederholt dividieren es in zwei Hälften.
Mit dem auf diese Weise vollständig aufgeschlüsselten Graphen konnten die Forscher schnell kürzeste Pfade durch jeden Teil des Graphen finden. Für die engen Cluster auf der innersten Ebene der verschachtelten Graphenstruktur war dies einfach – sie hatten praktisch keine Negativität mehr. Und die Forscher wussten bereits, wie man kürzeste Wege auf den daran anschließenden DAG-Abschnitten findet.
Abschließend addiert der Algorithmus die durch den Fracturing-Prozess eliminierten Kanten wieder auf und berechnet deren Auswirkungen auf die kürzesten Pfade. Die Forscher bewiesen, dass ihr Prozess zum zufälligen Löschen von Kanten fast immer nur wenige Löschungen erfordern würde, um „rückwärtige“ Kanten zu eliminieren – die Art, die ihren DAG in einen Graphen mit großen Zyklen verwandeln würde. Das machte es extrem unwahrscheinlich, dass ein kürzester Weg durch zu viele solcher Rückwärtssegmente führen würde, also konnten sie diesen kniffligen letzten Schritt lösen, indem sie zwei Lehrbuchmethoden aus den 1950er Jahren kombinierten: den Dijkstra-Algorithmus und den ersten Algorithmus, der für Graphen mit negativem Gewicht entwickelt wurde.
"Es ist eine äußerst clevere Komposition dieser Ideen", sagte Khanna. Der Algorithmus ist der erste für Graphen mit negativer Gewichtung, der in „nahezu linearer“ Zeit läuft – was bedeutet, dass seine Laufzeit fast proportional zu der Zeit ist, die nur zum Zählen aller Kanten benötigt wird, so schnell wie möglich.
Und was ist mit den Graphen mit negativen Zyklen, die die Forscher zu Beginn ignoriert haben? Nachdem sie ihrem Kürzeste-Wege-Algorithmus den letzten Schliff gegeben hatten, zeigten sie, dass er auch als schneller Algorithmus zur Lokalisierung negativer Zyklen funktionieren könnte. Praktisch keine Grafik war außerhalb seiner Reichweite.
Parallele Pfade
Bernstein präsentierte das Ergebnis des Teams auf der Foundations of Computer Science-Konferenz 2022, wo ihr Manuskript, das den neuen Algorithmus beschreibt, als eine von zwei besten Arbeiten ausgezeichnet wurde. Die anderes Papier beschrieb zufällig auch einen neuen nahezu linearen Zeitalgorithmus zur Lösung eines seit langem bestehenden Problems in der Graphentheorie.
Dieser von Probst Gutenberg und fünf weiteren Forschern entwickelte Algorithmus befasste sich mit einem allgemeineren Problem namens Minimum-Cost-Flow, bei dem das Ziel darin besteht, den Transport über viele parallele Pfade zu optimieren, und jede Kante eine maximale Kapazität sowie damit verbundene Kosten hat . Kürzeste-Wege-Probleme sind ein Sonderfall des Minimum-Cost-Flow, daher könnte der neue Minimum-Cost-Flow-Algorithmus auch verwendet werden, um das Shortest-Wege-Problem mit negativem Gewicht in nahezu linearer Zeit zu lösen, wenn auch mit einem radikal anderen Ansatz.
Das Team, das am Minimum-Cost-Flow arbeitet, entwickelte seinen universellen schnellen Algorithmus unter Verwendung einer komplizierten Synthese aus kombinatorischen und kontinuierlichen Optimierungstechniken, die ihn zumindest derzeit in der Praxis unhandlich machen. Der kombinatorische Algorithmus von Bernstein und seinen Kollegen erreicht, obwohl er auf ein spezifischeres Problem beschränkt ist, seine nahezu lineare Laufzeit, ohne die Einfachheit zu opfern.
„Das ist das Erstaunliche an diesem Papier“, sagte Probst Gutenberg. „Man kann es einem Bachelor-Studenten erklären, und man kann es auch am Computer umsetzen.“
Infolgedessen hat dieser neue Algorithmus das Interesse an kombinatorischen Ansätzen für andere Probleme in der Graphentheorie wiederbelebt. Es bleibt abzuwarten, welche Probleme mit rein kombinatorischen Algorithmen schnell gelöst werden können und welche wirklich die in den letzten 20 Jahren entwickelten kontinuierlichen Techniken erfordern.
„Das ist eine philosophische Frage, die ich zu verstehen versuche“, sagte Nanongkai. „Dieses Kürzeste-Wege-Problem gibt etwas Hoffnung.“
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 Jahre
- 2021
- 2022
- a
- Über uns
- Nach
- Konto
- erreicht
- über
- berührt das Schneidwerkzeug
- azyklisch
- automatisch
- Fügt
- Nach der
- gegen
- Algorithmus
- Algorithmen
- Alle
- bereits
- immer
- ehrgeizig
- Alt
- und
- Ein anderer
- auseinander
- Ansatz
- Ansätze
- um
- damit verbundenen
- Zurück
- Balance
- basierend
- weil
- werden
- Bevor
- begann
- Glauben
- Bernstein
- BESTE
- zwischen
- Beyond
- Big
- leihen
- Filiale
- Break
- geht kaputt
- Gebrochen
- berechnet
- namens
- Kapazität
- Häuser
- Fälle
- sicher
- CIS
- Menu
- eng
- Cluster
- arbeitete zusammen
- Kopien
- Kombination
- Vereinigung
- wie die
- Berechnungen
- Computer
- Computerwissenschaften
- Konzentriert
- Konferenz
- Sie
- Sich zusammenschliessen
- Geht davon
- Bestehend
- kontinuierlich
- Kosten
- könnte
- erstellen
- Strom
- Zur Zeit
- Schneiden
- Zyklen
- TAG
- Jahrzehnte
- entschieden
- Entscheidungen
- Lieferanten
- beschreiben
- Reiseziel
- entschlossen
- entwickeln
- entwickelt
- DID
- Unterschiede
- anders
- schwer
- Direkt
- Richtung
- entdeckt
- Abstand
- Tut nicht
- Nicht
- nach unten
- Fahrer
- Niederländisch
- jeder
- verdienen
- einfacher
- einfachste
- Edge
- Effekten
- beseitigen
- eliminiert
- freigegeben
- vollständig
- im Wesentlichen
- schätzen
- Schätzungen
- Sogar
- ÜBERHAUPT
- jedermann
- vorhandenen
- existiert
- Experten
- Erklären
- Möglichkeiten sondieren
- äußerst
- erleichtern
- Fan
- FAST
- schnellsten
- Bundes-
- wenige
- Finale
- Endlich
- Finden Sie
- Suche nach
- findet
- Vorname
- erstes Mal
- Fluss
- Fließt
- Setzen Sie mit Achtsamkeit
- gefunden
- Foundations
- Freiheit
- für
- voll
- weiter
- GAS
- Allgemeines
- allgemeiner Zweck
- Deutschland
- bekommen
- gegeben
- gibt
- Go
- Kundenziele
- Graph
- Graphen
- Gierig
- garantiert
- Gutenberg
- Hälfte
- Hand voll
- Griff
- passiert
- Überschrift
- Hilfe
- höher
- ein Geschenk
- Ultraschall
- Hilfe
- aber
- HTML
- HTTPS
- Ideen
- identifizieren
- implementieren
- in
- Einkommen
- unabhängig
- Krankengymnastik
- Information
- inspirierte
- Instanz
- Institut
- Interesse
- Erfunden
- beteiligen
- IT
- Iterationen
- join
- Beitritt
- Wesentliche
- Art
- Wissen
- bekannt
- grosse
- größer
- Niveau
- Lebensdauer
- Limitiert
- Grenzen
- Links
- aus einer regionalen
- Lang
- lange Zeit
- langjährig
- länger
- aussehen
- gemacht
- um
- MACHT
- Making
- Weise
- viele
- Karte
- Spiel
- mathematisch
- max
- maximal
- Mittel
- Mittlerweile
- Merge
- Methoden
- könnte
- modern
- Geld
- mehr
- bewegt sich
- ziehen um
- fast
- Negativ
- Nachbarschaft
- Netze
- Netzwerk
- Neu
- weiter
- Knoten
- Fiber Node
- Notion
- Anzahl
- Zahlen
- Offset
- EINEM
- XNUMXh geöffnet
- Einkauf & Prozesse
- Optimierung
- Optimieren
- Original
- entstand
- Andere
- Anders
- Andernfalls
- Pakete
- Paarung
- Papier
- Papiere
- Parallel
- Teil
- Teile
- Bestehen
- passt
- Weg
- Pennsylvania
- wählen
- Plato
- Datenintelligenz von Plato
- PlatoData
- Points
- Punkte
- positiv
- Möglichkeiten
- möglich
- praktisch
- Praxis
- vorgeführt
- Aufgabenstellung:
- Probleme
- Prozessdefinierung
- Profit
- profitabel
- Fortschritt
- Projekt
- Resorts
- erwies sich
- bietet
- rein
- Putting
- Quantamagazin
- Frage
- schnell
- radikal
- zufällig
- schnell
- erreichen
- echt
- realisiert
- Grund
- vernünftig
- kürzlich
- Veteran
- reflektieren
- Regionen
- verhältnismäßig
- blieb
- bleibt bestehen
- wiederholt
- WIEDERHOLT
- vertreten
- vertreten
- representiert
- erfordern
- falls angefordert
- Forschungsprojekte
- Forscher
- für ihren Verlust verantwortlich.
- eingeschränkt
- Folge
- was zu
- Belohnen
- Straße
- Straße
- Führen Sie
- Laufen
- Rutgers University
- opfern
- Said
- gleich
- Wissenschaft
- Wissenschaftler
- Wissenschaftler
- Suche
- Abschnitte
- Segment
- Segmente
- Sinn
- Modellreihe
- "Settled"
- mehrere
- Short
- ähnlich
- Einfacher
- Einfachheit
- da
- Single
- Größe
- klein
- So
- LÖSEN
- Auflösung
- einige
- Jemand,
- etwas
- irgendwo
- anspruchsvoll
- Quelle
- Quellen
- besondere
- spezifisch
- Geschwindigkeit
- BUCHSTABIEREN
- gespalten
- Standard
- Anfang
- begonnen
- Beginnen Sie
- Schritt
- Immer noch
- Geschichte
- Strategie
- Strom
- Straße
- Struktur
- Schüler und Studenten
- so
- Sommer
- Schweiz
- Nehmen
- nimmt
- Einnahme
- Team
- Techniken
- Technologie
- erzählt
- Lehrbuch
- Das
- Der Graph
- Die Quelle
- ihr
- nach drei
- Durch
- Zeit
- zu
- gemeinsam
- auch
- Thema
- rührend
- Transportwesen
- Reise
- Ärger
- was immer dies auch sein sollte.
- WENDE
- Turned
- zugrunde liegen,
- verstehen
- Universität
- Aktualisierung
- -
- Urlaub
- praktisch
- wollte
- Wasser
- webp
- Gewicht
- Was
- ob
- welche
- WHO
- .
- ohne
- Arbeiten
- arbeiten,
- Werk
- würde
- Jahr
- Du
- Ihr
- Zephyrnet
- Zürich