https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Min-Plus-Matrixmultiplikations-Algorithmus Min-Plus-Matrixmultiplikations-Algorithmus - Versionsgeschichte 2025-05-09T16:38:18Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.44.0-wmf.28 https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=161816249&oldid=prev Wdvorak: /* Matrizenoperation ⊕ */ 2017-01-20T12:02:01Z <p><span class="autocomment">Matrizenoperation ⊕</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 20. Januar 2017, 14:02 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 23:</td> <td colspan="2" class="diff-lineno">Zeile 23:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Statt &lt;math&gt;K \oplus K&lt;/math&gt; schreiben wir kurz &lt;math&gt;K^{[2]}&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Statt &lt;math&gt;K \oplus K&lt;/math&gt; schreiben wir kurz &lt;math&gt;K^{[2]}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:&lt;math&gt;K^{[<del style="font-weight: bold; text-decoration: none;">n</del>+1]}=K^{[<del style="font-weight: bold; text-decoration: none;">n</del>]} \oplus K&lt;/math&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:&lt;math&gt;K^{[<ins style="font-weight: bold; text-decoration: none;">i</ins>+1]}=K^{[<ins style="font-weight: bold; text-decoration: none;">i</ins>]} \oplus K&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zusammenhang mit Kürzesten Pfaden ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zusammenhang mit Kürzesten Pfaden ==</div></td> </tr> </table> Wdvorak https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=161816232&oldid=prev Wdvorak: Die letzte Textänderung von 131.220.71.201 wurde verworfen und die Version 151086847 von HRoestTypo wiederhergestellt. 2017-01-20T12:01:33Z <p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/131.220.71.201" title="Spezial:Beiträge/131.220.71.201">131.220.71.201</a> wurde verworfen und die Version 151086847 von HRoestTypo wiederhergestellt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 20. Januar 2017, 14:01 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 36:</td> <td colspan="2" class="diff-lineno">Zeile 36:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''Variante 1'': Berechnet &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;. Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit der Matrix &lt;math&gt;K&lt;/math&gt; multipliziert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''Variante 1'': Berechnet &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;. Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit der Matrix &lt;math&gt;K&lt;/math&gt; multipliziert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>''Variante 2'': Berechnet &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[2<del style="font-weight: bold; text-decoration: none;">^{\lceil\log_2p\rceil}</del>]} = K^{[p]}&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>''Variante 2'': Berechnet &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[2<ins style="font-weight: bold; text-decoration: none;">*p</ins>]} = K^{[p]}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laufzeit ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laufzeit ===</div></td> </tr> </table> Wdvorak https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=161810688&oldid=prev 131.220.71.201: /* Algorithmus */ Cormen, Leiserson, Rivest; mathematische Grundkenntnisse 2017-01-20T08:46:56Z <p><span class="autocomment">Algorithmus: </span> Cormen, Leiserson, Rivest; mathematische Grundkenntnisse</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 20. Januar 2017, 10:46 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 36:</td> <td colspan="2" class="diff-lineno">Zeile 36:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''Variante 1'': Berechnet &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;. Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit der Matrix &lt;math&gt;K&lt;/math&gt; multipliziert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''Variante 1'': Berechnet &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;. Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit der Matrix &lt;math&gt;K&lt;/math&gt; multipliziert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>''Variante 2'': Berechnet &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[2<del style="font-weight: bold; text-decoration: none;">*p</del>]} = K^{[p]}&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>''Variante 2'': Berechnet &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; bis &lt;math&gt;K^{[2<ins style="font-weight: bold; text-decoration: none;">^{\lceil\log_2p\rceil}</ins>]} = K^{[p]}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laufzeit ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laufzeit ===</div></td> </tr> </table> 131.220.71.201 https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=151086847&oldid=prev HRoestTypo: Tippfehler entfernt: Implementiertungen -> Implementierungen 2016-02-05T01:49:48Z <p>Tippfehler entfernt: Implementiertungen -&gt; Implementierungen</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 5. Februar 2016, 03:49 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 44:</td> <td colspan="2" class="diff-lineno">Zeile 44:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichbare [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichbare [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit kann jedoch durch kompliziertere <del style="font-weight: bold; text-decoration: none;">Implementiertungen</del> der Min-Plus-Matrixmultiplikation verbessert werden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit kann jedoch durch kompliziertere <ins style="font-weight: bold; text-decoration: none;">Implementierungen</ins> der Min-Plus-Matrixmultiplikation verbessert werden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> HRoestTypo https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=148801761&oldid=prev 188.118.174.195: /* Laufzeit */ Tippfehler korrigiert 2015-12-06T11:20:58Z <p><span class="autocomment">Laufzeit: </span> Tippfehler korrigiert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. Dezember 2015, 13:20 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 41:</td> <td colspan="2" class="diff-lineno">Zeile 41:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im Folgenden verwenden wir die [[Landau-Notation]], um das asymptotische Verhalten der Laufzeit anzugeben.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im Folgenden verwenden wir die [[Landau-Notation]], um das asymptotische Verhalten der Laufzeit anzugeben.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im ''worst case'' benötigt Variante 1 &lt;math&gt;\Theta\left(n\right)&lt;/math&gt; Matrixmultiplikationen während Variante 2 nur &lt;math&gt;\Theta\left( \log n\right)&lt;/math&gt; Matrixmultiplikationen benötigt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im ''worst case'' benötigt Variante 1 &lt;math&gt;\Theta\left(n\right)&lt;/math&gt; Matrixmultiplikationen während Variante 2 nur &lt;math&gt;\Theta\left( \log n\right)&lt;/math&gt; Matrixmultiplikationen benötigt.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit mit der naiven <del style="font-weight: bold; text-decoration: none;">Implementiertung</del> der Min-Plus-Matrixmultiplikation ist dann in &lt;math&gt;\Theta\left( n^4 \right)&lt;/math&gt; für Variante 1 und in &lt;math&gt;\Theta\left( n^3 \cdot \log n \right)&lt;/math&gt; für Variante 2. </div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit mit der naiven <ins style="font-weight: bold; text-decoration: none;">Implementierung</ins> der Min-Plus-Matrixmultiplikation ist dann in &lt;math&gt;\Theta\left( n^4 \right)&lt;/math&gt; für Variante 1 und in &lt;math&gt;\Theta\left( n^3 \cdot \log n \right)&lt;/math&gt; für Variante 2. </div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichbare [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichbare [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> 188.118.174.195 https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=148367372&oldid=prev Leyo: Bis-Strich ≠ Minuszeichen 2015-11-25T01:34:56Z <p><a href="/wiki/Bis-Strich" class="mw-redirect" title="Bis-Strich">Bis-Strich</a> ≠ <a href="/wiki/Minuszeichen" title="Minuszeichen">Minuszeichen</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. November 2015, 03:34 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 50:</td> <td colspan="2" class="diff-lineno">Zeile 50:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Quellen ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Quellen ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Thomas H. Cormen, [[Charles Leiserson]], [[Ronald L. Rivest]], Clifford Stein: ''Introduction to Algorithms.'' 2. Auflage. MIT Press, 2001, ISBN 0-262-53196-8, S. <del style="font-weight: bold; text-decoration: none;">622−627</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Thomas H. Cormen, [[Charles Leiserson]], [[Ronald L. Rivest]], Clifford Stein: ''Introduction to Algorithms.'' 2. Auflage. MIT Press, 2001, ISBN 0-262-53196-8, S. <ins style="font-weight: bold; text-decoration: none;">622–627</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Algorithmus (Graphentheorie)]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Algorithmus (Graphentheorie)]]</div></td> </tr> </table> Leyo https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=124667383&oldid=prev Aka: Tippfehler entfernt 2013-11-20T14:55:42Z <p>Tippfehler entfernt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 20. November 2013, 16:55 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 42:</td> <td colspan="2" class="diff-lineno">Zeile 42:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im ''worst case'' benötigt Variante 1 &lt;math&gt;\Theta\left(n\right)&lt;/math&gt; Matrixmultiplikationen während Variante 2 nur &lt;math&gt;\Theta\left( \log n\right)&lt;/math&gt; Matrixmultiplikationen benötigt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Im ''worst case'' benötigt Variante 1 &lt;math&gt;\Theta\left(n\right)&lt;/math&gt; Matrixmultiplikationen während Variante 2 nur &lt;math&gt;\Theta\left( \log n\right)&lt;/math&gt; Matrixmultiplikationen benötigt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit mit der naiven Implementiertung der Min-Plus-Matrixmultiplikation ist dann in &lt;math&gt;\Theta\left( n^4 \right)&lt;/math&gt; für Variante 1 und in &lt;math&gt;\Theta\left( n^3 \cdot \log n \right)&lt;/math&gt; für Variante 2. </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit mit der naiven Implementiertung der Min-Plus-Matrixmultiplikation ist dann in &lt;math&gt;\Theta\left( n^4 \right)&lt;/math&gt; für Variante 1 und in &lt;math&gt;\Theta\left( n^3 \cdot \log n \right)&lt;/math&gt; für Variante 2. </div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der <del style="font-weight: bold; text-decoration: none;">vergleichabre</del> [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der <ins style="font-weight: bold; text-decoration: none;">vergleichbare</ins> [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit kann jedoch durch kompliziertere Implementiertungen der Min-Plus-Matrixmultiplikation verbessert werden.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit kann jedoch durch kompliziertere Implementiertungen der Min-Plus-Matrixmultiplikation verbessert werden.</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=121755764&oldid=prev Quartl: /* Einleitung */ link 2013-08-21T20:18:16Z <p><span class="autocomment">Einleitung: </span> link</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. August 2013, 22:18 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der '''Min-Plus-Matrixmultiplikations-Algorithmus''' ist ein [[Algorithmus]] der [[Graphentheorie]], der die [[Kürzester Pfad|kürzesten Pfade]] eines [[Graph (Graphentheorie)|Graphen]] berechnet. Er läuft mit einer speziellen <del style="font-weight: bold; text-decoration: none;">Matrizenoperation</del> 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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der '''Min-Plus-Matrixmultiplikations-Algorithmus''' ist ein [[Algorithmus]] der [[Graphentheorie]], der die [[Kürzester Pfad|kürzesten Pfade]] eines [[Graph (Graphentheorie)|Graphen]] berechnet. Er läuft mit einer speziellen <ins style="font-weight: bold; text-decoration: none;">[[Matrizenmultiplikation]]</ins> 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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Definitionen ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Definitionen ==</div></td> </tr> </table> Quartl https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=121275012&oldid=prev Wdvorak: /* Zusammenhang mit Kürzesten Pfaden */ vereinfacht 2013-08-06T18:52:33Z <p><span class="autocomment">Zusammenhang mit Kürzesten Pfaden: </span> vereinfacht</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. August 2013, 20:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 28:</td> <td colspan="2" class="diff-lineno">Zeile 28:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Für einen gerichteten Graph &lt;math&gt;G = (V,E)&lt;/math&gt; mit positiven Kantengewichten &lt;math&gt;c_{i,j}&lt;/math&gt; (oder mit [[Kürzester Pfad#Komplexität|konservativer Gewichtsfunktion]]) gilt:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Für einen gerichteten Graph &lt;math&gt;G = (V,E)&lt;/math&gt; mit positiven Kantengewichten &lt;math&gt;c_{i,j}&lt;/math&gt; (oder mit [[Kürzester Pfad#Komplexität|konservativer Gewichtsfunktion]]) gilt:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Die Matrix &lt;math&gt;K^{[p]} =(k^{[p]}_{i,j})&lt;/math&gt; gibt die Länge der kürzesten Pfade mit maximal &lt;math&gt;p&lt;/math&gt; Kanten an. Der Eintrag &lt;math&gt;k^{[p]}_{i,j}&lt;/math&gt; gibt dabei die Länges des kürzesten Pfad (mit maximal &lt;math&gt;p&lt;/math&gt; Kanten) von Knoten &lt;math&gt;i&lt;/math&gt; zu Knoten &lt;math&gt;j&lt;/math&gt; an.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Die Matrix &lt;math&gt;K^{[p]} =(k^{[p]}_{i,j})&lt;/math&gt; gibt die Länge der kürzesten Pfade mit maximal &lt;math&gt;p&lt;/math&gt; Kanten an. Der Eintrag &lt;math&gt;k^{[p]}_{i,j}&lt;/math&gt; gibt dabei die Länges des kürzesten Pfad (mit maximal &lt;math&gt;p&lt;/math&gt; Kanten) von Knoten &lt;math&gt;i&lt;/math&gt; zu Knoten &lt;math&gt;j&lt;/math&gt; an.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Wenn &lt;math&gt;n&lt;/math&gt; die Anzahl der Knoten ist dann <del style="font-weight: bold; text-decoration: none;">gibt</del> &lt;math&gt;K^{[<del style="font-weight: bold; text-decoration: none;">n-1</del>]} =<del style="font-weight: bold; text-decoration: none;">(k^{[n-1]}_{i,j})</del>&lt;/math&gt; <del style="font-weight: bold; text-decoration: none;">die</del> <del style="font-weight: bold; text-decoration: none;">Länge der kürzesten Pfade an. Der Eintrag</del> &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">k^{[</del>n-1<del style="font-weight: bold; text-decoration: none;">]}_{i,j}</del>&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;"> gibt dabei die Länges des kürzesten Pfad von Knoten &lt;math&gt;i&lt;/math&gt; zu Knoten &lt;math&gt;j&lt;/math&gt; an</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Wenn &lt;math&gt;n&lt;/math&gt; die Anzahl der Knoten ist dann <ins style="font-weight: bold; text-decoration: none;">gilt</ins> &lt;math&gt;K^{[<ins style="font-weight: bold; text-decoration: none;">p</ins>]} =<ins style="font-weight: bold; text-decoration: none;"> D</ins>&lt;/math&gt; <ins style="font-weight: bold; text-decoration: none;">für</ins> <ins style="font-weight: bold; text-decoration: none;">alle</ins> &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">p\geq </ins>n-1&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Wenn<del style="font-weight: bold; text-decoration: none;"> &lt;math&gt;n&lt;/math&gt; die Anzahl der Knoten ist dann gilt</del> &lt;math&gt;K^{[<del style="font-weight: bold; text-decoration: none;">n-</del>1]} = K^{[<del style="font-weight: bold; text-decoration: none;">m</del>]}&lt;/math&gt; <del style="font-weight: bold; text-decoration: none;">für</del> <del style="font-weight: bold; text-decoration: none;">alle</del> &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">m\geq</del> <del style="font-weight: bold; text-decoration: none;">n</del>&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Wenn &lt;math&gt;K^{[<ins style="font-weight: bold; text-decoration: none;">p+</ins>1]} = K^{[<ins style="font-weight: bold; text-decoration: none;">p</ins>]}&lt;/math&gt; <ins style="font-weight: bold; text-decoration: none;">dann</ins> <ins style="font-weight: bold; text-decoration: none;">auch</ins> &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">K^{[p]} =</ins> <ins style="font-weight: bold; text-decoration: none;">D</ins>&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Wenn &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt; dann auch &lt;math&gt;K^{[p]} = K^{[n-1]}&lt;/math&gt;.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> </tr> </table> Wdvorak https://de.wikipedia.org/w/index.php?title=Min-Plus-Matrixmultiplikations-Algorithmus&diff=121274920&oldid=prev Wdvorak: /* Algorithmus */ + Laufzeit 2013-08-06T18:49:35Z <p><span class="autocomment">Algorithmus: </span> + Laufzeit</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. August 2013, 20:49 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 33:</td> <td colspan="2" class="diff-lineno">Zeile 33:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Min-Plus-Matrixmultiplikations-Algorithmus berechnet nun ausgehend von der Kostenmatrix &lt;math&gt;K&lt;/math&gt; des Graph &lt;math&gt;K^{[p]}&lt;/math&gt; sodass &lt;math&gt;K^{[p+1]} = K^{[p]}=D&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>1. &lt;math&gt;K&lt;/math&gt; sei die Kostenmatrix des Netzwerkes N</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">2.</del> <del style="font-weight: bold; text-decoration: none;">Berechne</del> &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; <del style="font-weight: bold; text-decoration: none;">gilt</del> <del style="font-weight: bold; text-decoration: none;">irgendwann</del> &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;">,</del> <del style="font-weight: bold; text-decoration: none;">so</del> <del style="font-weight: bold; text-decoration: none;">ist</del> &lt;math&gt;K<del style="font-weight: bold; text-decoration: none;">^{[p]}=D</del>&lt;/math&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">''Variante 1'':</ins> <ins style="font-weight: bold; text-decoration: none;">Berechnet</ins> &lt;math&gt;K^{[2]}, K^{[3]}, K^{[4]}, ...&lt;/math&gt; <ins style="font-weight: bold; text-decoration: none;">bis</ins> &lt;math&gt;K^{[p+1]} = K^{[p]}&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;">. Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes mit</ins> <ins style="font-weight: bold; text-decoration: none;">der</ins> <ins style="font-weight: bold; text-decoration: none;">Matrix</ins> &lt;math&gt;K&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;"> multipliziert.</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_11_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_6_0_rhs"></a><ins style="font-weight: bold; text-decoration: none;">''Variante </ins>2<ins style="font-weight: bold; text-decoration: none;">'':</ins> <ins style="font-weight: bold; text-decoration: none;">Berechnet</ins> &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; <ins style="font-weight: bold; text-decoration: none;">bis</ins> &lt;math&gt;K^{[2*p]} = K^{[p]}&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;">.</ins></div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>oder</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Dabei wird in jedem Schritt das Ergebnis des letzten Schrittes quadriert.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Laufzeit ===</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Im Folgenden verwenden wir die [[Landau-Notation]], um das asymptotische Verhalten der Laufzeit anzugeben.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Im ''worst case'' benötigt Variante 1 &lt;math&gt;\Theta\left(n\right)&lt;/math&gt; Matrixmultiplikationen während Variante 2 nur &lt;math&gt;\Theta\left( \log n\right)&lt;/math&gt; Matrixmultiplikationen benötigt.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit mit der naiven Implementiertung der Min-Plus-Matrixmultiplikation ist dann in &lt;math&gt;\Theta\left( n^4 \right)&lt;/math&gt; für Variante 1 und in &lt;math&gt;\Theta\left( n^3 \cdot \log n \right)&lt;/math&gt; für Variante 2. </div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Damit hat der Algorithmus eine schlechtere Laufzeit als der vergleichabre [[Algorithmus von Floyd und Warshall]] dessen Laufzeit in &lt;math&gt; \mathcal{O}(n^3) &lt;/math&gt; ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Laufzeit kann jedoch durch kompliziertere Implementiertungen der Min-Plus-Matrixmultiplikation verbessert werden.</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_6_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_11_0_lhs"></a>2<del style="font-weight: bold; text-decoration: none;">.</del> <del style="font-weight: bold; text-decoration: none;">Berechne</del> &lt;math&gt;K^{[2]}, K^{[4]}, K^{[8]}, ...&lt;/math&gt; <del style="font-weight: bold; text-decoration: none;">gilt irgendwann</del> &lt;math&gt;K^{[2*p]} = K^{[p]}&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;">, so ist &lt;math&gt;K^{[p]}=D&lt;/math&gt;</del></div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> Wdvorak