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
.
![{\displaystyle K^{[n+1]}=K^{[n]}\oplus K}](/media/api/rest_v1/media/math/render/svg/ad1df2d32afd632e0868129347354e66460f0152)
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 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