Min-Plus-Matrixmultiplikations-Algorithmus

Der Min-Plus-Matrixmultiplikations-Algorithmus i​st ein Algorithmus d​er Graphentheorie, d​er die kürzesten Pfade e​ines Graphen berechnet. Er läuft m​it einer speziellen Matrizenmultiplikation u​nd hat z​udem den Vorteil, d​ass bei j​edem Berechnungsschritt automatisch a​lle Informationen über erreichbare Wege innerhalb d​er bisher angegebenen Anzahl d​er Berechnungsschritte verfügbar sind. Er i​st allerdings s​ehr rechenintensiv u​nd daher langsam.

Definitionen

Gegeben seien ein gerichteter Graph und eine Matrix mit Gewichten , wobei die Indizes und über die Menge laufen.

Bewertungsmatrix

Die Kostenmatrix oder Bewertungsmatrix ist dann wie folgt definiert:

Entfernungsmatrix

Die Entfernungsmatrix ist wie folgt definiert

Matrizenoperation ⊕

seien zwei -Matrizen. Die Matrix berechnet sich wie folgt:

wobei gelten soll .

ist also die Multiplikation von Matrizen über einem Halbring mit .

Statt schreiben wir kurz .

Zusammenhang mit Kürzesten Pfaden

Für einen gerichteten Graph mit positiven Kantengewichten (oder mit konservativer Gewichtsfunktion) gilt:

  • Die Matrix gibt die Länge der kürzesten Pfade mit maximal Kanten an. Der Eintrag gibt dabei die Länges des kürzesten Pfad (mit maximal Kanten) von Knoten zu Knoten an.
  • Wenn die Anzahl der Knoten ist dann gilt für alle .
  • Wenn dann auch .

Algorithmus

Der Min-Plus-Matrixmultiplikations-Algorithmus berechnet nun ausgehend von der Kostenmatrix des Graph sodass .

Variante 1: Berechnet bis . Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit der Matrix multipliziert.

Variante 2: Berechnet bis . Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.

Laufzeit

Im Folgenden verwenden wir die Landau-Notation, um das asymptotische Verhalten der Laufzeit anzugeben. Im worst case benötigt Variante 1 Matrixmultiplikationen während Variante 2 nur Matrixmultiplikationen benötigt. Die Laufzeit mit der naiven Implementierung der Min-Plus-Matrixmultiplikation ist dann in für Variante 1 und in für Variante 2. Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichbare Algorithmus von Floyd und Warshall dessen Laufzeit in ist.

Die Laufzeit k​ann jedoch d​urch kompliziertere Implementierungen d​er Min-Plus-Matrixmultiplikation verbessert werden.

Siehe auch

Quellen

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.