Dynamic Programming: 0-1 Knapsack Problem
Dynamic Programming: 0-1 Knapsack Problem
Capacity: 25
{}-0-0
{A}-24-24
{B}-10-18
{C}-10-18
{D}-7-10
{A,B}-34- ?
{A,C}-34-?
{A,D}-31-?
{B,C}-20-36
{B,D}-17-28
{C,D}-17-28
{A,B,C}-?
{A,B,D}-?
{A,C,D}-?
{B,C,D}-27-?
{A,B,C,D}-?
MCM
A(BC)=36+24=60 multiplications
ABCD
AB=?
BC=?
CD=?
(AB)C=?
A(BC)=?
B(CD)=?
..
(AB)(CD)=?
(A (BC))D=?
((AB)C)D = ?
0 if i j
M(i,j)
min
M(i,k) M(k 1,j) di1 dk dj if i j
i k j
ABCD
M[1,4]
k=1,2,3
k=1, M[1,1]+M[2,4]+d0*d1*d4
k=2, M[1,2]+M[3,4]+d0*d2*d4
k=3, M[1,3]+M[4,4]+d0*d3*d4
M[1,1]=0 M[2,4]=?
M[1,2]=? M[3,4]=?
M[1,3]=? M[4,4]=0