Dynamic Programming21 sections · 916 units
Open in Course

Matrix Chain Multiplication - Walkthrough

Tracing optimal splits

Multiply matrices A1(10×30)A_1(10 \times 30), A2(30×5)A_2(30 \times 5), A3(5×60)A_3(5 \times 60). Find minimum multiplications.

Dimensions array: [10,30,5,60][10, 30, 5, 60]. dp[i][j]dp[i][j] = min cost for Ai..AjA_i..A_j. dp[1][2]=10305=1500dp[1][2] = 10 \cdot 30 \cdot 5 = 1500. dp[2][3]=30560=9000dp[2][3] = 30 \cdot 5 \cdot 60 = 9000. dp[1][3]=min(dp[1][1]+dp[2][3]+103060, dp[1][2]+dp[3][3]+10560)=min(18000+0,1500+3000)=4500dp[1][3] = \min(dp[1][1] + dp[2][3] + 10 \cdot 30 \cdot 60,\ dp[1][2] + dp[3][3] + 10 \cdot 5 \cdot 60) = \min(18000 + 0, 1500 + 3000) = 4500.