![]() Lassen Sie uns das in eine Matrix aufteilen, ,, ] Wir müssen eine Funktion MatrixChainOrder() schreiben, die die minimale Anzahl von Multiplikationen zurückgeben sollte, die zum Multiplizieren der Kette erforderlich sind. Gegeben sei ein Array p, das die Matrizenkette so darstellt, dass die i-te Matrix Ai die Dimension p xp hat. Offensichtlich erfordert die erste Klammerung eine geringere Anzahl von Operationen. Angenommen, A ist eine 10 × 30-Matrix, B eine 30 × 5-Matrix und C eine 5 × 60-Matrix. ĭie Reihenfolge, in der wir das Produkt in Klammern setzen, beeinflusst jedoch die Anzahl der einfachen arithmetischen Operationen, die zur Berechnung des Produkts erforderlich sind, oder die Effizienz. Wenn wir zum Beispiel vier Matrizen A, B, C und D hätten, hätten wir: (ABC)D = (AB)(CD) = A(BCD) =. Mit anderen Worten, egal wie wir das Produkt in Klammern setzen, das Ergebnis wird dasselbe sein. Wir haben viele Möglichkeiten, eine Matrizenkette zu multiplizieren, da die Matrizenmultiplikation assoziativ ist. Das Problem besteht nicht darin, die Multiplikationen tatsächlich durchzuführen, sondern lediglich zu entscheiden, in welcher Reihenfolge die Multiplikationen durchgeführt werden. Voraussetzung : Dynamische Programmierung | Satz 8 (Matrix Chain Multiplication) Finden Sie bei einer gegebenen Folge von Matrizen den effizientesten Weg, diese Matrizen miteinander zu multiplizieren. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |