Min-Plus-Matrixmultiplikations-Algorithmus
Der Min-Plus-Matrixmultiplikations-Algorithmus ist ein Algorithmus der Graphentheorie, der die kürzesten Pfade eines Graphen berechnet. Er läuft mit einer speziellen Matrizenoperation und hat zudem den Vorteil, dass bei jedem Berechnungsschritt automatisch alle Informationen über erreichbare Wege innerhalb der bisher angegebenen Anzahl der Berechnungsschritte verfügbar sind. Er ist allerdings sehr rechenintensiv und 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 Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „http://localhost:6011/de.wikipedia.org/v1/“:): {\displaystyle K^{[l]} =(k^{[l]}_{i,j})} 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 gibt die Länge der kürzesten Pfade an. Der Eintrag gibt dabei die Länges des kürzesten Pfad von Knoten zu Knoten an.
- Wenn die Anzahl der Knoten ist dann gilt für alle .
Algorithmus
1. sei die Kostenmatrix des Netzwerkes N
2. Berechne gilt irgendwann , so ist
oder
2. Berechne gilt irgendwann , so ist
Siehe auch
Quellen
- Thomas H. Cormen, Charles Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms. 2. Auflage. MIT Press, 2001, ISBN 0-262-53196-8, S. 622−627