设有5个矩阵连乘,找出最优计算次序以使得矩阵连乘所需要的计算次数最少
时间: 2024-06-02 22:14:10 浏览: 79
假设这5个矩阵的维度分别为:$A_{10\times20}$,$B_{20\times30}$,$C_{30\times40}$,$D_{40\times30}$,$E_{30\times10}$。我们需要找到最优的计算次序,使得矩阵连乘所需要的计算次数最少。
首先,我们可以列出每种计算次序所需要的计算次数。对于矩阵$A_{i\times j}$和$B_{j\times k}$相乘,它们的乘法运算次数为$i \times j \times k$。因此,我们可以得到以下表格:
| 计算次序 | 计算次数 |
| --- | --- |
| $(AB)(CD)(DE)$ | $10\times20\times30 + 10\times30\times40 + 10\times40\times30 + 10\times30\times10 = 57000$ |
| $(A(BC))(DE)$ | $10\times20\times30 + 10\times30\times40 + 20\times30\times40 + 10\times30\times10 = 66000$ |
| $((AB)(CD)E)$ | $10\times20\times30 + 10\times30\times40 + 30\times40\times10 + 10\times30\times10 = 69000$ |
| $(A((BC)D)E)$ | $10\times20\times30 + 20\times30\times40 + 40\times30\times10 + 10\times30\times10 = 88000$ |
| $(((AB)C)(DE))$ | $10\times20\times30 + 30\times40\times10 + 30\times10\times30 + 20\times30\times10 = 69000$ |
从表格中可以看出,计算次序$(AB)(CD)(DE)$的计算次数最少,为57000次。因此,最优计算次序为$(AB)(CD)(DE)$。
阅读全文