Skip to content
Official PYQ · 2016

GATE CS 2016 Set 2 Q38 — Algorithm Design: Dynamic Programming

Explain with AI
Let A1,A2,A3A_{1}, A_{2}, A_{3} and A4A_{4} be four matrices of dimensions 10×5,5×20,20×1010 \times 5, 5 \times 20, 20 \times 10 and 10×510 \times 5, respectively. The minimum number of scalar multiplications required to find the product A1A2A3A4A_{1}A_{2}A_{3}A_{4} using the basic matrix multiplication method is _________.
View worked solution

Answer: 1500

We are given four matrices with dimensions:

  • A1:10×5A_1: 10 \times 5
  • A2:5×20A_2: 5 \times 20
  • A3:20×10A_3: 20 \times 10
  • A4:10×5A_4: 10 \times 5

The dimension array is p=[10,5,20,10,5]p = [10, 5, 20, 10, 5]. We can find the minimum number of scalar multiplications using the dynamic programming approach for the Matrix Chain Multiplication problem.

Let m[i,j]m[i, j] denote the minimum multiplications to compute Ai…AjA_i \dots A_j:

  • Chain length 2:
    • m[1,2]=10×5×20=1000m[1, 2] = 10 \times 5 \times 20 = 1000
    • m[2,3]=5×20×10=1000m[2, 3] = 5 \times 20 \times 10 = 1000
    • m[3,4]=20×10×5=1000m[3, 4] = 20 \times 10 \times 5 = 1000
  • Chain length 3:
    • m[1,3]=min⁡(m[1,1]+m[2,3]+10×5×10,  m[1,2]+m[3,3]+10×20×10)=min⁡(1500,3000)=1500m[1, 3] = \min(m[1, 1] + m[2, 3] + 10 \times 5 \times 10,\; m[1, 2] + m[3, 3] + 10 \times 20 \times 10) = \min(1500, 3000) = 1500
    • m[2,4]=min⁡(m[2,2]+m[3,4]+5×20×5,  m[2,3]+m[4,4]+5×10×5)=min⁡(1500,1250)=1250m[2, 4] = \min(m[2, 2] + m[3, 4] + 5 \times 20 \times 5,\; m[2, 3] + m[4, 4] + 5 \times 10 \times 5) = \min(1500, 1250) = 1250
  • Chain length 4:
    • m[1,4]=min⁡{m[1,1]+m[2,4]+10×5×5=0+1250+250=1500m[1,2]+m[3,4]+10×20×5=1000+1000+1000=3000m[1,3]+m[4,4]+10×10×5=1500+0+500=2000m[1, 4] = \min \begin{cases} m[1, 1] + m[2, 4] + 10 \times 5 \times 5 = 0 + 1250 + 250 = 1500 \\ m[1, 2] + m[3, 4] + 10 \times 20 \times 5 = 1000 + 1000 + 1000 = 3000 \\ m[1, 3] + m[4, 4] + 10 \times 10 \times 5 = 1500 + 0 + 500 = 2000 \end{cases}

Thus, the minimum number of scalar multiplications is 1500\mathbf{1500}, achieved by the parenthesization A1((A2A3)A4)A_1((A_2 A_3)A_4).

Free practice · Your answers on this page are not saved.

Published
Report a correction
Keep exploringMore Algorithm Design: Dynamic Programming questions