Академический Документы
Профессиональный Документы
Культура Документы
For the sequence of matrices, given below, compute the order of the product, A1.A2.A3.A4, in
such a way that minimizes the total number of scalar multiplications, using Dynamic
Programming.
Order of A1 =
Order of A2 =
Order of A3 =
Order of A4 =
40 x 50
50 x 100
100 x 20
20 x 80
Solution:
m i, j 0, i 1, 2,..., 4
m 1,1 m 2, 2 m 3,3 m 4, 4 0
m i, j min m i, k m k 1, j pi1 pk p j
i k j
Computing m[1,2]
m 1, 2 min m 1,1 m 1 1, 2 p11 p1 p2
1 k 2
m 1, 2 min m 1,1 m 2, 2 p0 p1 p2
1 k 2
m 1, 2 min 0 0 40 50 100
1 k 2
m 1, 2 200, 000
s 1, 2 k 1
Computing m[2,3]
m 2,3 min m 2, 2 m 2 1,3 p21 p2 p3
2 k 3
Computing m[3,4]
m 3, 4 min m 3,3 m 4, 4 p2 p3 p4
3 k 4
m 3, 4 min 0 0 100 20 80
3 k 4
m 3, 4 160, 000
s 3, 4 k 3
Computing m[1,3]
m 1,3 min m 1,1 m 1 1,3 p11 p1 p3 , m 1, 2 m 2 1,3 p11 p2 p3
1 k 3
Computing m[2,4]
m 2, 4 min m 2, 2 m 2 1, 4 p21 p2 p4 , m 2,3 m 3 1, 4 p21 p3 p4
2 k 4
m 2, 4 min m 2, 2 m 3, 4 p1 p2 p4 , m 2,3 m 4, 4 p1 p3 p4
2 k 4
m 2, 4 min 560000,180000
2 k 4
m 2, 4 180, 000
s 2, 4 k 3
Computing m[1,4]
m 1, 4 min m 1,1 m 1 1, 4 p11 p1 p4 , m 1, 2 m 2 1, 4 p11 p2 p4 , m 1,3 m 3 1, 4 p11 p3 p4
1 k 4
m 1, 4 204000
s 1, 4 k 3
1
Order of computation
5
2
8
6
3
10
9
7
4
0
1
0
1
2
0
3
3
3
0
DYNAMIC PROGRAMMING
0/1 KNAPSACK
Use Dynamic Programming to find an optimal solution for the 0-1 Knapsack problem.
item
weight
value
knapsack capacity W = 11
1
1
1
2
2
6
3
5
18
4
6
22
5
7
28
Solution:
1 2 3
i
1 6 18
vi
wi 1 2 5
Capacity W = 11
4
22
6
5
28
7
V i, j max V i 1, j , vi V i 1, j wi
V 1,1 max V 1 1,1 ,1 V 1 1,1 1
V 1,1 max V 0,1 ,1 V 0, 0
V 1,1 max 0,1 0
V 1,1 max 0,1
V 1,1 1
V i, j max V i 1, j , vi V i 1, j wi
V 1, 2 max V 1 1, 2 ,1 V 1 1, 2 1
V 1, 2 max V 0, 2 ,1 V 0,1
V 1, 2 max 0,1 0
V 1, 2 max 0,1
V 1, 2 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,3 max V 1 1,3 ,1 V 1 1,3 1
V 1,3 max V 0,3 ,1 V 0, 2
V 1,3 max 0,1 0
V 1, 3 max 0,1
V 1,3 1
V i, j max V i 1, j , vi V i 1, j wi
V 1, 4 max V 1 1, 4 ,1 V 1 1, 4 1
V 1, 4 max V 0, 4 ,1 V 0,3
V 1, 4 max 0,1 0
V 1, 4 max 0,1
V 1, 4 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,5 max V 1 1,5 ,1 V 1 1,5 1
V 1,5 max V 0,5 ,1 V 0, 4
V 1,5 max 0,1 0
V 1, 5 max 0,1
V 1,5 1
V i, j max V i 1, j , vi V i 1, j wi
V 1, 6 max V 1 1, 6 ,1 V 1 1, 6 1
V 1, 6 max V 0, 6 ,1 V 0,5
V 1, 6 max 0,1 0
V 1, 6 max 0,1
V 1, 6 1
V i, j max V i 1, j , vi V i 1, j wi
V 1, 7 max V 1 1, 7 ,1 V 1 1, 7 1
V 1, 7 max V 0, 7 ,1 V 0, 6
V 1, 7 max 0,1 0
V 1, 7 max 0,1
V 1, 7 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,8 max V 1 1,8 ,1 V 1 1,8 1
V 1,8 max V 0,8 ,1 V 0, 7
V 1,8 max 0,1 0
V 1, 8 max 0,1
V 1,8 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,9 max V 1 1,9 ,1 V 1 1,9 1
V 1,9 max V 0,9 ,1 V 0,8
V 1,9 max 0,1 0
V 1, 9 max 0,1
V 1,9 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,10 max V 1 1,10 ,1 V 1 1,10 1
V 1,10 max V 0,10 ,1 V 0,9
V 1,10 max 0,1 0
V 1,10 max 0,1
V 1,10 1
V i, j max V i 1, j , vi V i 1, j wi
V 1,11 max V 1 1,11 ,1 V 1 1,11 1
V 1,11 max V 0,11 ,1 V 0,10
V 1,11 max 0,1 0
V 1,11 max 0,1
V 1,11 1
V i, j max V i 1, j , vi V i 1, j wi
V 2,1 max V 2 1,1 , v2 V 2 1,1 w2
V 2,1 max V 2 1,1 , v2 V 2 1,1 2
V 2,1 max V 1,1 , 6 V 1, 1
V 2,1 max 1,
V 2,1 1
illegal
V i, j max V i 1, j , vi V i 1, j wi
V 2, 2 max V 2 1, 2 , v2 V 2 1, 2 w2
V 2, 2 max V 2 1, 2 , v2 V 2 1, 2 2
V 2, 2 max V 1, 2 , 6 V 1, 0
V 2, 2 max 1, 6 0
V 2, 2 max 1, 6
V 2, 2 6
V i, j max V i 1, j , vi V i 1, j wi
V 2,3 max V 2 1,3 , v2 V 2 1,3 w2
V 2,3 max V 1,3 , v2 V 2 1,3 2
V 2,3 max V 1,3 , v2 V 1,1
V 2,3 max 1, 6 1
V 2,3 max 1, 7
V 2, 3 7
V i, j max V i 1, j , vi V i 1, j wi
V 2, 4 max V 2 1, 4 , v2 V 2 1, 4 w2
V 2, 4 max V 1, 4 , v2 V 1, 4 2
V 2, 4 max V 1, 4 , v2 V 1, 2
V 2, 4 max 1, 6 1
V 2, 4 max 1, 7
V 2, 4 7
V i, j max V i 1, j , vi V i 1, j wi
V 2,5 max V 2 1,5 , v2 V 2 1,5 w2
V 2,5 max V 1,5 , v2 V 1,5 2
V 2,5 max V 1,5 , v2 V 1,3
V 2,5 max 1, 6 1
V 2, 5 max 1, 7
V 2,5 7
V i, j max V i 1, j , vi V i 1, j wi
V 2, 6 max V 2 1, 6 , v2 V 2 1, 6 w2
V 2, 6 max V 1, 6 , v2 V 1, 6 2
V 2, 6 max V 1, 6 , v2 V 1, 4
V 2, 6 max 1, 6 1
V 2, 6 max 1, 7
V 2, 6 7
V i, j max V i 1, j , vi V i 1, j wi
V 2, 7 max V 2 1, 7 , v2 V 2 1, 7 w2
V 2, 7 max V 1, 7 , v2 V 1, 7 2
V 2, 7 max V 1, 7 , v2 V 1,5
V 2, 7 max 1, 6 1
V 2, 7 max 1, 7
V 2, 7 7
V i, j max V i 1, j , vi V i 1, j wi
V 2,8 max V 2 1,8 , v2 V 2 1,8 w2
V 2,8 max V 1,8 , v2 V 1,8 2
V 2,8 max V 1, 7 , v2 V 1, 6
V 2,8 max 1, 6 1
V 2, 8 max 1, 7
V 2,8 7
V i, j max V i 1, j , vi V i 1, j wi
V 2,9 max V 2 1,9 , v2 V 2 1,9 w2
V 2,9 max V 1,9 , v2 V 1,9 2
V 2,9 max V 1,9 , v2 V 1, 7
V 2,9 max 1, 6 1
V 2, 9 max 1, 7
V 2,9 7
V i, j max V i 1, j , vi V i 1, j wi
V 2,10 max V 2 1,10 , v2 V 2 1,10 w2
V 2,10 max V 1,10 , v2 V 1,10 2
V 2,10 max V 1,10 , v2 V 1,8
V 2,10 max 1, 6 1
V 2,10 max 1, 7
V 2,10 7
V i, j max V i 1, j , vi V i 1, j wi
V 2,11 max V 2 1,11 , v2 V 2 1,11 w2
V 2,11 max V 1,11 , v2 V 1,11 2
V 2,11 max V 1,11 , v2 V 1,9
V 2,11 max 1, 6 1
V 2,11 max 1, 7
V 2,11 7
V i, j max V i 1, j , vi V i 1, j wi
V 3,1 max V 3 1,1 , v3 V 3 1,1 w3
V 3,1 max V 2,1 ,18 V 2,1 5
V 3,1 max V 2,1 ,18 V 2, 4
illegal
V 3,1 max 1,
V 3,1 1
V i, j max V i 1, j , vi V i 1, j wi
V 3, 2 max V 3 1, 2 , v3 V 3 1, 2 w3
V 3, 2 max V 2, 2 ,18 V 2, 2 5
V 3, 2 max V 2, 2 ,18 V 2, 3
V 3, 2 max 6,
V 3, 2 6
illegal
V i, j max V i 1, j , vi V i 1, j wi
V 3,3 max V 3 1,3 , v3 V 3 1,3 w3
V 3,3 max V 2,3 ,18 V 2,3 5
V 3,3 max V 2,3 ,18 V 2, 2
illegal
V 3,3 max 7,
V 3,3 7
V i, j max V i 1, j , vi V i 1, j wi
V 3, 4 max V 3 1, 4 , v3 V 3 1, 4 w3
V 3, 4 max V 2, 4 ,18 V 2, 4 5
V 3, 4 max V 2, 4 ,18 V 2, 1
illegal
V 3, 4 max 7,
V 3, 4 7
V i, j max V i 1, j , vi V i 1, j wi
V 3,5 max V 3 1,5 , v3 V 3 1,5 w3
V 3,5 max V 2,5 ,18 V 2,5 5
V 3,5 max V 2,5 ,18 V 2, 0
V 3,5 max 7,18 0
V 3,5 max 7,18
V 3,5 18
V i, j max V i 1, j , vi V i 1, j wi
V 3, 6 max V 3 1, 6 , v3 V 3 1, 6 w3
V 3, 6 max V 2, 6 ,18 V 2, 6 5
V 3, 6 max V 2, 6 ,18 V 2,1
V 3, 6 max 7,18 1
V 3, 6 max 7,19
V 3, 6 19
V i, j max V i 1, j , vi V i 1, j wi
V 3, 7 max V 3 1, 7 , v3 V 3 1, 7 w3
V 3, 7 max V 2, 7 ,18 V 2, 7 5
V 3, 7 max V 2, 7 ,18 V 2, 2
V 3, 7 max 7,18 6
V 3, 7 max 7, 24
V 3, 7 24
V i, j max V i 1, j , vi V i 1, j wi
V 3,8 max V 3 1,8 , v3 V 3 1,8 w3
V 3,8 max V 2,8 ,18 V 2,8 5
V 3,8 max V 2,8 ,18 V 2,3
V 3,8 max 7,18 7
V 3,8 max 7, 25
V 3,8 25
V i, j max V i 1, j , vi V i 1, j wi
V 3,9 max V 3 1,9 , v3 V 3 1,9 w3
V 3,9 max V 2,9 ,18 V 2,9 5
V 3,9 max V 2,9 ,18 V 2, 4
V 3,9 max 7,18 7
V 3,9 max 7, 25
V 3,9 25
V i, j max V i 1, j , vi V i 1, j wi
V 3,10 max V 3 1,10 , v3 V 3 1,10 w3
V 3,10 max V 2,10 ,18 V 2,10 5
V 3,10 max V 2,10 ,18 V 2,5
V 3,10 max 7,18 7
V 3,10 max 7, 25
V 3,10 25
V i, j max V i 1, j , vi V i 1, j wi
V 3,11 max V 3 1,11 , v3 V 3 1,11 w3
V 3,11 max V 2,11 ,18 V 2,11 5
V 3,11 max V 2,11 ,18 V 2,5
V 3,11 max 7,18 7
V 3,11 max 7, 25
V 3,11 25
V i, j max V i 1, j , vi V i 1, j wi
V 4,1 max V 4 1,1 , v4 V 4 1,1 w4
V 4,1 max V 3,1 , 22 V 3,1 6
V 4,1 max V 3,1 , 22 V 3, 5
illegal
V 4,1 max 1,
V 4,1 1
V i, j max V i 1, j , vi V i 1, j wi
V 4, 2 max V 4 1, 2 , v4 V 4 1, 2 w4
V 4, 2 max V 3, 2 , 22 V 3, 2 6
V 4, 2 max V 3, 2 , 22 V 3, 4
illegal
V 4, 2 max 6,
V 4, 2 6
V i, j max V i 1, j , vi V i 1, j wi
V 4,3 max V 4 1,3 , v4 V 4 1,3 w4
V 4,3 max V 3,3 , 22 V 3,3 6
V 4,3 max V 3,3 , 22 V 3, 3
V 4,3 max 7,
V 4,3 7
illegal
V i, j max V i 1, j , vi V i 1, j wi
V 4, 4 max V 4 1, 4 , v4 V 4 1, 4 w4
V 4, 4 max V 3, 4 , 22 V 3, 4 6
V 4, 4 max V 3, 4 , 22 V 3, 2
illegal
V 4, 4 max 7,
V 4, 4 7
V i, j max V i 1, j , vi V i 1, j wi
V 4,5 max V 4 1,5 , v4 V 4 1,5 w4
V 4,5 max V 3,5 , 22 V 3,5 6
V 4,5 max V 3,5 , 22 V 3, 1
illegal
V i, j max V i 1, j , vi V i 1, j wi
V 4,8 max V 4 1,8 , v4 V 4 1,8 w4
V 4,8 max V 3,8 , 22 V 3,8 6
V 4,8 max V 3,8 , 22 V 3, 2
V 4,8 max 25, 22 6
V 4,8 max 25, 28
V 4, 8 28
V i, j max V i 1, j , vi V i 1, j wi
V 4,9 max V 4 1,9 , v4 V 4 1,9 w4
V 4,9 max V 3,9 , 22 V 3,9 6
V 4,9 max V 3,9 , 22 V 3,3
V 4,9 max 25, 22 7
V 4,9 max 25, 29
V 4, 9 29
V i, j max V i 1, j , vi V i 1, j wi
V 4,10 max V 4 1,10 , v4 V 4 1,10 w4
V 4,10 max V 3,10 , 22 V 3,10 6
V 4,10 max V 3,10 , 22 V 3, 4
V 4,10 max 25, 22 7
V 4,10 max 25, 29
V 4,10 29
V i, j max V i 1, j , vi V i 1, j wi
V 4,11 max V 4 1,11 , v4 V 4 1,11 w4
V 4,11 max V 3,11 , 22 V 3,11 6
V 4,11 max V 3,10 , 22 V 3,5
V 4,11 max 25, 22 18
V 4,11 max 25, 40
V 4,11 40
V i, j max V i 1, j , vi V i 1, j wi
V 5,1 max V 5 1,1 , v5 V 5 1,1 w5
V 5,1 max V 4,1 , v5 V 4,1 7
V 5,1 max 1, 28 V 4, 6
illegal
V 5,1 max 1,
V 5,1 1
V i, j max V i 1, j , vi V i 1, j wi
V 5, 2 max V 5 1, 2 , v5 V 5 1, 2 w5
V 5, 2 max V 4, 2 , v5 V 4, 2 7
V 5, 2 max 6, 28 V 4, 5
illegal
V 5, 2 max 6,
V 5, 2 6
V i, j max V i 1, j , vi V i 1, j wi
V 5,3 max V 5 1,3 , v5 V 5 1,3 w5
V 5,3 max V 4,3 , v5 V 4,3 7
V 5,3 max 7, 28 V 4, 4
illegal
V 5,3 max 7,
V 5,3 7
V i, j max V i 1, j , vi V i 1, j wi
V 5, 4 max V 5 1, 4 , v5 V 5 1, 4 w5
V 5, 4 max V 4, 4 , v5 V 4, 4 7
V 5, 4 max 7, 28 V 4, 3
illegal
V 5, 4 max 7,
V 5, 4 7
V i, j max V i 1, j , vi V i 1, j wi
V 5,5 max V 5 1,5 , v5 V 5 1,5 w5
V 5,5 max V 4,5 , v5 V 4,5 7
V 5,5 max 18, 28 V 4, 2
V 5, 5 max 18,
V 5,5 18
illegal
V i, j max V i 1, j , vi V i 1, j wi
V 5, 6 max V 5 1, 6 , v5 V 5 1, 6 w5
V 5, 6 max V 4, 6 , v5 V 4, 6 7
V 5, 6 max 22, 28 V 4, 1
illegal
V 5, 6 max 22,
V 5, 6 22
V i, j max V i 1, j , vi V i 1, j wi
V 5, 7 max V 5 1, 7 , v5 V 5 1, 7 w5
V 5, 7 max V 4, 7 , v5 V 4, 7 7
V 5, 7 max V 4, 7 , v5 V 4, 0
V 5, 7 max 24, 28 0
V 5, 7 max 24, 28
V 5, 7 28
V i, j max V i 1, j , vi V i 1, j wi
V 5,8 max V 5 1,8 , v5 V 5 1,8 w5
V 5,8 max V 4,8 , v5 V 4,8 7
V 5,8 max V 4,8 , v5 V 4,1
V 5,8 max 28, 28 1
V 5,8 max 28, 29
V 5,8 29
V i, j max V i 1, j , vi V i 1, j wi
V 5,9 max V 5 1,9 , v5 V 5 1,9 w5
V 5,9 max V 4,9 , v5 V 4,9 7
V 5,9 max V 4,9 , v5 V 4, 2
V 5,9 max 29, 28 6
V 5,9 max 29, 34
V 5,9 34
V i, j max V i 1, j , vi V i 1, j wi
V 5,10 max V 5 1,10 , v5 V 5 1,10 w5
V 5,10 max V 4,10 , v5 V 4,10 7
V 5,10 max V 4,10 , v5 V 4,3
V 5,10 max 29, 28 7
V 5,10 max 29,35
V 5,10 35
V i, j max V i 1, j , vi V i 1, j wi
V 5,11 max V 5 1,11 , v5 V 5 1,11 w5
V 5,11 max V 4,11 , v5 V 4,11 7
V 5,11 max V 4,11 , v5 V 4, 4
V 5,11 max 40, 28 7
V 5,11 max 40,35
V 5,11 40
W=0
0
0
0
0
0
0
1
0
1
1
1
1
1
2
0
1
6
6
6
6
3
0
1
7
7
7
7
4
0
1
7
7
7
7
5
0
1
7
18
18
18
6
0
1
7
19
22
22
7
0
1
7
24
24
28
8
0
1
7
25
28
29
9
0
1
7
25
29
34
10
0
1
7
25
29
35
11
0
1
7
25
40
40
i5
keep 5,11 0
i4
keep 4,11 1
i3
keep 3,5 1
i2
V 3 1,5 5 V 2, 0 0
keep 2, 0 0
i 1
V 2 1, 0 2 V 1, 2