Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
41 views
Dynamic Programming
Uploaded by
Aryan Neelam
AI-enhanced title
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save dynamic programming For Later
Download
Save
Save dynamic programming For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
41 views
Dynamic Programming
Uploaded by
Aryan Neelam
AI-enhanced title
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save dynamic programming For Later
Carousel Previous
Carousel Next
Save
Save dynamic programming For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 43
Search
Fullscreen
ture, tions mes uM, at x. NK tion stil INTRODUCTION 41 : for oe rogramming approach for the a] pyaiations to sub-problems, much like the rence is that in case of divide-and. i oo ‘ bP and-conquer algorithm does mor, tpproblems. In contrast to thie, « just once and then saves its an te the same sub-sub-problem Programming, algo swer in a table, is encountered, Good news: Dynamic Programming (DP); ten have a number of; - inization problem may he ofs 4 fhan optimal value (maximum/minimum), Sndwe look for a sotution vi rithm solves every sub- "and avoids recomputing the anoncy a from financial models and operat; Applications range i S and operations research to bi i ggsithm research. So understanding Dac Profitable. eae eimanas 1. Characterize the structure of an optimal solution. 2, Recursively defines the value of an optimal solution. 4. Compute the value of an optimal solution in a bottom-up fashion. 4. Construct an optimal solution from computed information. Step 1-3 form the basi: s of a dynamic-programming solution to a problem. Step 4 can be ‘mitted ifonly the values of an optimal solution is required. When we do perform step 4, we 241 Th EEEDesign and Analy’ n during the computation sometimes maintain additional informa construction of an optimal solution. Dynamic Programming (DP) is © Big idea: hard yet simple ; * Powerful algorithmic design technique ; | pee eae tial problems have a polynomial solution (gg, + Large class of seemingly exponenti DP ‘i shortest paths) * Particularly for optimization problems (min/max) (e.6 © * DP- “controlled brute force” * DP- recursion + re-use 12.2, MATRIX-CHAIN MULTIPLICATION Matrix-chain multiplication problem involves to determining ie bsniien retuence for performing a series of operations. This class of problem is ae will discuse the er design fy. code optimization and in databases for query optimization. eearecariee ta Problem in, very restricted instance, where the dynamic programming issues are easiest to See. Suppo we are given a sequence (chain) A,, Ap... A, of 2 matrices that are to be multiplied, ang is wish to compute the product AjAg Ay A product of matrices is said to be fully parenthesized if it is either a single matrix the product of two fully parenthesized matrix products, surrounded by Parentheses. Matyi, multiplication is associative, and so all will yield the same result. For example, ifthe gin chain of matrices is Ay, Ay, Ag, Ay We can fully parenthesize the A, A, A, A, in five disting ways: AAJA, AD), a (AA AD), (AANA, A), (AAA) AD, (AAA) A,) ‘The way we parenthesize a chain of matrices may have a dramatic impact on the costal evaluating the product. ofa Suppose we use the naive matrix multiplication algorithm. Then a multiplic P xq matrix by aq xr matrix takes pgr operations, Matrix multiplication is associative, #0 We can evaluate the product in any order. However, some orders are cheaper than others Find the cost of the cheapes: »ne, The naive algorithm multiplication is given by the following pseudo-code. MATRIX-MULTIPLY (A, B) 1. if columns [A} + rows [6] 2 then error “incompatible dimensions”Dynamic Programming for 7— 1 to rows [A] else go for j— 1 to columns (8) 5 do Cli, JJ — 0 i for k — 1 to columns cy . do Cli, : Ae cy, A+ at, kK. Bk, te 5) Fo sa.ipwe multiply from right to ter, ye 12: M=M,.(M,. : oe 1° Mz. (M,. My) [ox20 | [20x50] [0x1] Fxceo 5 0x 400 Cost= 50% 1 x 100 = 5009 20710 y 0 Cost = 20 » 50 x 100 = 100,000 10x 10 x 100 Cost = 10 « 20 x 100 = 20,000 Fig. 12.4. Cost = 50 x 1 x 100 = 5000 Cost = 20 x 50 x 100 = 100,000 - Cost = 10 x 20 x 100 = 20,000 ruta cost is 5, 000 + 100, 000 + 20,000 = 125,000, a However, ifwe begin in the middle: M = M,.4,.M,).M, 10x20 | [ 20x50] |_s0x1 ][+x100] 20x14 Cost = 20 « 50 x 1= 1000 10x14 Cost = 10 x 20 « 1 = 200 10 x 100 Cost = 10 1 x 100 = 1000 Fig. 12.2. Cost = 20 x 50 x 1= 1000 Cost = 10 x 20 x 1= 200 Cost = 10 x 1 x 100 = 1000 Toialcost is 1000 + 200 + 1000 = 2200a = Design and Analysis of Algorithms Thus, computing the product according to the second parenthesizing is much fay. than the first one. i not actually multiplying matrices. 0, ‘The matrix-chain multiplication problem, is not act eee Tere cost, OM al is only to determine an order for multiplying m2‘ Counting the number of parenthesizations ; Let P(n) denote the number of alternative parenthesizations of a sequence of x ma When n = 1, there is just one matrix and therefore, only way to a ly Parenthesi matrix product. When n > 2, a fully parenthesized matrix product ae a Le luct of tw. parenthesized matrix subproducts, and the split between the two subproducts ma; trices, 20 the © fully Y Oceur between the At and (i+ 1)" matriess for any k= 1, 2, «1. Thus, we obtain the recurrence, fT ifn P(n) = : P(k) Pah) if N22 «) ke This is related to a famous function in combinatories called the Catalan numbers (whig, in turn is related to the number of different binary trees on n nodes). In particular P(n) . C(x — 1), where C(n) is the nth Catalan number: 1 Qn Ci) nt+i({n Applying Stirling’s formula (which is given in our text), we find that C(n) Q(4"n’), Since 4” is exponential and n®” is just polynomial, the exponential will dominate, implying that function grows very fast. Chain Matrix Multiplication Problem Given a sequence of matrices A,, Ay «.. A, and dimensions Pg, P; -.-P,» Where A, is of dimension p, _, x p, determine the order or multiplication that minimizes the number of operations. Dynamic Programming Approach This problem, like other dynamic programming problems involves determining a structure (in this case, a parametrization). We want to break the problem into sub-problems, whose solutions can be combined to solve the global problem. As is common to any DP solution, we need to find some way to break the problem into smaller sub-problems, and we need to determine a recursive formulation, which represents the optimum solution to each problem in terms of solutions to the sub-problems. Recursive solution We will store the solutions to the sub-problems in a table, and build the table in a bottom up manner. For 1 < i
[is the chain length, 5. doforic iton-/+1 6. dojeiti -1 7. mi,jlee 8 fork itoj-1 %. do gq — mfi, kK) + mk + LH + Py Py By 10, if q < mi, J) l1. then mi, J] — 4 12, sli, le k 13. return m and s~~ | - 286, = Design and Analysis ‘of Algorithms = ate the minimum costs for ehains of eng, 1 * First computes mii, i] <0 for i= 1, 2, % 2. It uses recurrence 2 to co; * During the first execution of the loop in lines 4 ~ 12. It ee Terrie second te mi, 1] fori = 1, 2, v1, the minimum costs fo" chal os me time through the loop, it computes mli, i + 2] for # = 1, 2s -» Sts for chains of length 8, and so on. * Ateach step, the mli, jl cost computed depend mili, k] and mik +1, J]. is only on already computed table entre, Constructing an optimal solution oe i tion of A,, A, ‘The following recursive procedure prints an optimal Pere acess taal 4 1, \s given the s table computed by MATRIX-CHAIN-ORDER an ea eeneeer a he initial | call PRINT-OPTIMAL-PARENS\s, 1, 2) prints an optimal paren’ vA AL, | PRINT-OPTIMAL-PARENS (s, i, j) 1 if j | 2 then print “A,” 3. else print *(” 4 PRINT-OPTIMAL-PARENS (s, i, s[i, j]) 5. PRINT-OPTIMAL-PARENS (s, $ [i, j] + 1, 3) 6. print ")” EXAMPLE 12.2. Find an optimal parenthesization of a matrix-chain product whose | sequence of dimensions is <5, 4, 6, 2, 7>, i.e., the matrices are as follows: AMS x 4) A,(4 x 6) A,(6 x 2) AQ2xD Solution: Initialization Step 1: Computing m[1, 2] By definition m[1, 2] = min (mfi, A] + mUk + 1,1 + p,_ pp) = m[1, 1] + m[2, 2) + ppypy = 0+0+5.4.6= 120 and k== Dynamic Programming = 247 2: Computing m[2, 3] By definition step 2 m[2, 8] = min (mfi, b] + m{k + 155] +2.) = m[2, 2] + m[3, 3) + p,p.p, 0+0+4.6.2=48 andk=2 Step 3: Computing m[3, 4] By definition m[3, 4] = min (m[i, k] + m{k +1, J] + p;_ P,P) m[3, 3] + m[4, 4] + popsp, = 0+0+6.2.7=84andk=3 Step 4: Computing m[1, 3] By definition mL, 3] = min (ml, A+ mUk +1, 1+ p,_ypyp) 1,1. ket = min {rr T+ ml2,3] + poppy | m[l, 2] + m3, 31+ popy pyithms = 288. ss Dosign and Analysis of Algorithms 0448 45.4.2 aed te 4045.62 88 = mii = 88and k= = nin, = 98 Step 5: Computing m[2, 4] By definition ‘m[2, 4] = min (m[i, k] + m[k + 1, f+ P)- PP) hed . {re 2] + m[3, 4] + al min m2, 3] + m[4, 4] + PyP3P4 J pag « [0+8444.6.7 mn 484044.2.7 252 = mi = dk=3 min fe 104 ani Patalatat Po Py P2 Ps Pa Step 6: Computing m[1, 4] By definition m(1, 4] = min (m[i, k] + m[k + 1, f+ p;_ P,P) m1, 1] + m[2, 4] + Pop, P, | k = min jm[1, 2] + m[3, 4] + pop.p, 2 m{1, 3] + m[4, 4] + popsp, | =3 (0+104 45.4.7 = min }120+84+5.6.7 88+0+5.2.7= Dynamic Programming » 244 min |414 = = 15 = isa 7 8 and k=3 Pa Po Ps Pa optimal; cost is 158. al Parenthesization we apply the procedure. rperefore the ow, for optim PRINT-OPTIMAL-PARENS (S, 1,4) g © Print &(* PRINT-OPTIMAL-PARENS (5, 1,3) __PRINTOPTIMAL-PARENS (S. 4,4) Print Ay Print" @ @ Prints (* PRINT-OPTINAL-PARENS (S, 2,3) PRINT-OPTIMAL-PARENS (S, 1, 1) ee Print Ay @ © PRINT-OPTIMAL-PARENS (S, 3, 3) ri Print (* PRINT-OPTIMAL-PARENS (S, 2, 2) Print Print A Prin” Print* 12.3, LONGEST COMMON SUBSEQUENCE . y,)) we say that ¥ isa Subsequence i) (isi, s Given two sequences X=(x, Xpy Xm) and Y= (yp Jy subsequence of X if there is a strictly increasing sequence of k indices (i, ip, i,<...
Oand x; max (efi-1, j],clé,j-1) if i, j>Oand x, +5, When x, =y) wecan and should consider the sub-problem of finding the LCS of X,_, and Y,_ ,. Otherwise, we instead consider the two sub-problems of finding the LCS of X; and Y,_, and of X,_, and Y,. Computing the length of an LCS ‘The procedure for computing the length of an LCS is given below: LCS -LENGTH (X, Y) 1. m & length [x] 2. 1 © length [Y] 3. forij-—1 tom 4. do c[i, 0] — 0 5. for j— 0 ton ee= Dynamic Programming » % then cl, JJ -— cl -1,j-1) +1 10. bli, "SN" ue else if cf - 1, j] 2 efi, j - 1] 2 then cfi, j] © cli - 1, 9] 1B * bt, at 14 else cli, j] © cli, j - 1] 1 Fs bli, i} oe" a return c and b ow it works « It takes two sequences X'= (x1, x9, ...x,,) and Y= ( Jy Yoy ++ X,) as inputs. « Itstores the cli, /] values in a table c{0 ... m, 0 ... n] whose entries are computed in row- major order, i.e., The first row of. is filled in from left to right, then the second row, and 00. + Italso maintains the table b[1..., 1 ..n] to simplify construction of an optimal solution. Intuitively, b[i, /] points to the table entry corresponding to the optimal sub-problem solution chosen when computing cli, jl. + The procedure returns the b and c tables; elm, n] contains the length of an LOS of X and Y. Constructing an LCS The b table returned by LCS-LENGTH can be used to quickly construct an LCS of X= (ppp oe Xp, ANA Y = (4, Joy oes Yn )s PRINT-LCS (b, X, i,j) i Lifi= 0 orj=0 2 then return 3. if [i,j] = *N" 4. then PRINT-LCS (6, x, /- 1, j - 1) 5. print x; 6. else if b[i, j] = “tT” 7. then PRINT-LCS (b, X, i - 1, j) 8. else PRINT-LCS (b, X, ir J - 1) The running time of the procedure is O(m + n), since each ompute ach table entry takes O(1) time to Xow, it works * ‘The initial invocation is PRINT-LOS (6, x, tengtnpxy I. , length[y]),282 = Design and Analysis of Al * We simply bi tre we encounter a“\” in entry bli, jl, in at b[m, n] and trace throu it implies EXAMPLE 12.3. Determine an LCS of (B, A, ©; Dy Solution: x= (B,A,C,D,B) y = (B,D, C,B) m = length [x] length [¥1 GOK) n=4 “2B yy=B ays A yy=D xy=C x,=D x,=B Now, for 0to5 cli, 0] = 0 and for Oto4 f0,j)= 0 Next, fori = 1andj=1 x, and y,, we get x, =; ~* \gorithms = rough the table following the arrows, Wh, that x; y;is an element of the Log B) and @, D, C, B). That is B=B eli, l= cli-1,f-U+1 ef, 1) = ef1-1, 1-1) +1=cl0, 0} +1 cll, = 0+1=1 and 6[1, 1] = “\” Next, for i= 1 andj =2 x, and yo, we get x; # Yo That is, B+D eli-1,/] = ef1-1, 2] =cl0, 21=0 eli, j-1) = cll, 2-1) =efl, =1 That is, e[1, 1] > c[0, 2] So, ell, 2)=1 b[1, 2] = “ee” Next fori = 1andj=3 x, and yg, we get x, # ys That is, B+ Cimic Programming atis, ell, 21> (0, 3] ell, 3) =1 hi So b 11,3] =“ Next, fori=1andj=4 sz, and Jy W BEX, =, A qhatis B=B el 15-1 tet 3,444 = 610, 3)+1=04124 es ell, 4) = 1 b U1, 4] => Next fori =2andj=1 x, and yy, We get x, ty, That is A +B cL j= cl2—1, 1) <0, yaa elt, J— 11 = ef2, 1-0) = 12, 0) =1 ‘That is e[1, 1] > c[2, 0} So, ef2, 1] =1 b[2, 1) = “tT Next, for i= 2 andj =2 x,and yp, We get x, # yy That is, A#D eli-1,j] = ef1, 2] =1 cli, 7-1) = cl2, =1 That is, e(1, 2] = cl2, 1) So, ef2, 2) =1 b[2, 2] = «1 Next, for i = 2 andj = 3 mand ys, we get x, #y, That isA#C eli-1, f= elt, 8) =1 cli, j— 11 = cl2, 21-1 That is ell, 3] = el2, 21 So el2,3])=1 253Design and 254 \\ b2, Next for i u 2andj=4 %, and ¥4, we wet x, 7 yy That isA +B eli-1,/) = ell, 41 eli, j— 1) = el2, % That is ell, 4] = cl2, 3) So cl2, 4] = 1 b12, 4] = “1” Next, for i= 3 andj =1 x, and y,, we get x,y, That isC 2B cli-1, J cl2, = 1 cli,j—1) 13, 0) =0 That is cl2, 1] > el8, 0) So ef3, = 1 (3, 1] = “1” Next for i= 3 andj = 2 x, and y», we get x, #y, That is C+D cli-1, fl = cl2,2)=1 eli, j- 1] = cf8, 1} =1 That is el2, 2] = cf3, 1) So, c[3, 2) = 1 [3,2] = “<1” Next for i = 3 andj =3 x, and y,, we get x, = y, that is C=C cli, l= So, 13, 3] = B13, 3] = “\" Next fori = andj=4 x, and y,, we get XFY, That is Cz B ~N=cl2. 241514122= Dynamic Programmi 18, 8) > cl2, 4] qhat cf3. 4] = 2 go. 613, 4] 1 Ny efi-1, J] = e[3, 1] =1 eli, j-1] = cl4, 0] =0 e[3, 1] > c[4, 0} fae B cl, =. So, bl4, =“ yest for#=4 and j=2 g,and yp We get x, = 3, That is D =D eli, J] = cli-1,j-1)+1=03,1)41=141=2 Ps cl4, 2] = 2 b[4, 2] = “> Next, fori= 4 andj=3 x and yy, We get x, # yg That is D# C Cli-1, j] = C[3, 3]=2 Cli, j- 1) = Cf4, 2] =2 That is C[3,3] = Cl4, 2] $0, Cl4, 3] = 2 bf4 3] = “1 Next for i= 4 and j sand y,, we get x,=y, That is B= B efi, j] = cli-1,j- 1] +1=c[3,3])+1=2941=3 So, cl4, 4] = 3 b[4, 4] = “nN”ae ' x=BACDB y=BDCB 2 LCS=BCB 3 with Length 3 4 o]0 as o J —— Start here 12.4. 0/1 KNAPSACK PROBLEM A thief goes into a jewellry store to steal jewellery items. He has a speak (a bag) thath, would like to fill up, The bag has a limit on the total weight of the ol jects placed in it. Th, thiefs goal is to put items in the bag such that the value of the items is maximized and the weight of the items does not exceed the weight limit of the bag. Another limitation is that an, item can either be put in the bag or not—fractional items are not allowed. The problem is what jewllery should the thief choose that satisfy the constraints? Formally, the problem can be stated as follows: Give a knapsack with maximum capacity W, and a set S consisting of n items each item i has some weight w; and value v, (all w, yj and W are integer values) How to pack the knapsack to achieve maximum total value of packed items? The problem is called a “0 - 1” problem, because each item must be entirely accepted or rejected. How do we solve the problem? We could try the brute-force solution: * Since there are n items, there are 2” possible combinations of the items (an item either chosen or not). * We go through all combinations and find the one with the most total value and with total weight less or equal to W. Clearly the running time of such a brute-force algorithm will be O(2"). But we can do better by using an algorithm based on dynamic programming 0/1 Knapsack Problem: Dynamic programming approach * Ifitems are labelled /..., then a subproblem would be to find an optimal solution for S,, = litems labelled 1, 2, ... k} * Lets add another parameter: w, which will represent the exact weight for each subset of items. The subproblem then will be to compute BI&, w]. * We construct a matrix B (0... , 0... WI. For 1<=k<=n, and 0<=we=W,B th, wl il store the maximum value of any set of objects (1, 2..., #) that can fit into a knapsack weight w.BIn, W] will contain the maximum value of all n objects that can fit into the entire knapsack of weight W.Dynamic Programming 257 7 mute ontries of B we will imply an inductive approach. As a basis, B10, w a Tocite Wand B i, 01 = 0 for L<=i< =n, since if'we have no items then we oe We consider two cases: Leave object k If'we choose to not take object /t, then the optimal value will come veyut by considering how te fill a knapsack of size w with the remaining objeets (1, 2... fn i}. This is just BU — 1, wh. irake object fe If we take object £, then we gain a value of b,. But we use up w, of our capacity. With the remaining w Ww, eapacity in the knapsack, we can fill it in the best pssible way with objects (1, 2, .. ~ 1). po qhis is by + BUe ~ 1, w ~w,]. This is only possible if w, <= 0. ighis leads to the following recursive formulation: Bik -1, wl if wy >w Blk, wl = ee ee ata =1, Blk - 1, w — wy) + by) else Itmeans, that the best subset of S, that has total weight w is: 1, The best subset of S,_, that has total weight w, or 2, The best subset of S, _ , that has total weight w —w, plus the item k ‘The dynamic programming approach for knapsack 0/1 is given below; KNAPSACK (n, W) 1. for w = 0 to W 2. Blo, w] = 0 3. fori=iton 4 Bi, 0) = 0 5. fori=iton 6. for w = 0 to W 7 ifw
item i can be part of the solution 8. if by + Bli - 1, w- wi] > Bli- 1, w) 9. Bi, w] = b + Bll - 1, w- w) 10. else a. BLi, w] = BEI - 1, w] 12. else B[i, w] = Bfi - 1, wl bw, > Ww The time complexity is clearly O (n.W). It must be cautioned that as n and W get large. both time and space complexity become significant. How to find actual Knapsack Items + Bln, W1is the maximal value of items that can be placed in the Knapsack * Leti=nandk=W if Bli, k] + Bli— 1, h] then mark the i" item as in the knapsack258 = Dosign and Analysis of Algorithms # isi-1Lk=k-w, jt item is not in the knapsack i-1 p Assume the .n the optimally packed knapsack? > Could it be i EXAMPLE 12.4. Find the optimal solution for the knapsack 0/1 problem by using 4, dynamic problem approach? Consider, n= 4,W=5, (Wy Wy Wy Wy) = (2,3, 4 5) and (by by by by) = (3, 4, 5, 6). oon =o p iten 9{1 2 3 4 Solution: a [3 4 5 6 w, |2 34 5 Step 1: For w <0 to W BIO, w] = 0 iw 21 2 4 5 of oo ole 1 ie, BUI[]= 2| 3 4 Step 2: Fori<1ton Bii,0]1=0 w_o_4 5 of o[o olo ilo ie, BII[]= 2] 0 3] 0 alo Step 3:Foritem1 w, b, 2/3 Now for B[1, 1] TW if (w, < W) > FALSE So, Bli, W] = BG -1, W) BU, 1) = BU -1,1)=B (0,1) Bi, u=0= Dynamic Programming m= o 12345 Cad —— of o[jo]olololo a[ 0 [to |2 |" | oO = a Buu > s[o Bit, 2) por Pip = True sow, if wy <= W) = wit@,+B &-1, W-w,] > Bl -1, w) wa+B [1-1 2—2]>B [0, 2) +3 0, 0) > BIO, 2] @+0>0) if > 0) > TRUE im, Bli, WI = ,+Bi-1,W-w) Bil, 2] = 3+ Blo,0] =3 iww,O 41 2 3 4 5 Fololojolofo t}olofs 2lo BUulll= alo alo For B[1, 3] Vi yi Now if (w, < W) = TRUE and if (6; + Bli—1, W—w) > Bli—1, Ww) if(8 + BIO, 11 > 3 [0, 31) if (3 +0) > 0) if > 0) TRUE Then Bli, W] = b,+ BE -1, W-w)) Bil, 3] = 34+ Blo, 1)=340 =3 259i ms 20) Design and Analysis of Algor 5 o 12 iw ofopolo{o| ol? 3 polo]? ° 0 0 BUlv= a ww For B[1, 4) © vi ti Now if (w, <= W) (2<=4) => TRUE and if (b, + Bli— 1, Ww, > Blé- 1, W)) if (8 + BUL-1,4-2))>Bi1-1, 4] if (3 + BIO, 2] > BIO, 4) if (8 +0>0) if(8>0) => TRUE Then Bli, W] = b, + Bli—1, W-w,] =3 + BIO, 2) =3+0=3 mw 0.1 2 3 4 5 of ofo]ofofo]fo 1Jo}o]}] 3] 3-3 2[o Biltl= alo alo For BU, §] Tw Now, if (w, <= W) =(2<=5)—= TRUE and if (6; + Bli- 1, W-w,] > Bli-1, W] if (3 + BIO, 3] > BIO, 51 if(8+0>0) if (3 > 0) =» TRUE Then Bli, W) = b, + BE -1, W-w] =3 + Bl0, 3) =3+0=3BUS 2 For item 2 pt Td W, b; por BIZ 1 ser tor BEST = W)= FALSE Bli, W) = Blé-1, W) = Bi, 1) =0 w 0 1 23 4 5 ofo]o]olo]o]o sPofolalstals 2| 0 [to Buus alo 4} 0 ate 2) fu, <=") #(3<=2) = FALSE Bli, W) = Bli-1, W] = BU, 2] =3 mo 2 sts ofofojo]o + 4 sfofo}3}3]} a] 3 oper BUU= oe | 4] o For Bia, a) tw tw, <=)= Design and Analysis of Algorithms (8<=3) > TRUE and if (6; + Bli—1, W-w > B(i-1, W) if (4 + BI2-1, 0] > BI2-1, 3] if [4 + BI, 0] > BI, 3] if(4+0>3) if (4 > 3) > TRUE Then Bli, W) = 6; + Bi-1, W-w] Bl2, 3) = 4+ BUI, 0)=4+0=4 w 0 1 2°93 4 5 Oo} o;ojofojojo tJolol3}3}3a]3 2}0]}0]3.4 Biltl= 3} 0 4; 0 Now, for B 12,41 ? i if (w, <= W) (8<=4) => TRUE and if (©; + Bli—1, W—w] > BG —1, W) if (4+ BI, 1)) > BIA, 4) if (4+0)>3) if(4>3) > TRUE Then Bli, W) = ,+ Bli-1, Ww, Bl2, 4] = +Bll, Y=44+0=4 iw _o 1 2 3.04 5 O}ofoto O;ofo 1} 0 0 3 3 3 3 Bulls ate eM alis 3} 0 4] o T | For B[2, 5) id a if wy <= W) @<=5)= TRUE and if, + Blé-1, W—w) > Bli-1, w)6: For item 3 st yor for BIG, 11 te 2) flu < “41-2 FALSE Then, Bl, WI = Bi~1, wy BI3, = 0 oO 1 2 “EEE 3 0 9 Jol a[afs = Bl, 1) ofa sfofola BREE 0 | al BUllj= 1 2 3 4 Pop 8 2 iw io, <= W) 4<=2)-3 Pargp Then, Bli, W) = Bli-1,W) = Bl2, 2] =328m = Design and Analysis of Algorithms # 3 4 5 “repepolede |? apolo|s[s[3|2 apofofs|[4|4|7 BUU= STs af o For Big if Ww; <= W) (4 <=3) => FALSE Then, Bli, W) = Bli-1, W) = Bl2, 3) = 4 ie, BI3,3)= 4 wot 2 4.5 of o[o]o oo afofol|s|s3]3]3 afol[ol[s|al4[7 BUlll= slolote ta alo For 2g 4) if(w,<=W) (4<=4)= TRUE and if (6; + Bli— 1, W-w] > Bli-1, W) if (5 + B [2,0] > BI2, 4]) if(6 +0>4) if (5 > 4) => TRUE Then, Bl, WI = 6, + Bli-1, W—w) BIS, 4] = 5 + Bl2, 01=5+0 BI3, 4] = 5 w 01 2 3 4 5 ofolo]o]ololo ifofo|3{[s]als euus eetetstel? 3} o}o]3 [as 4) 0Dynamic P in namic Programming _ For BI 51 ri if, <= W) (4<=5)= TRUE ond if @; + Bl -1, Ww) > Bu 1, yy if (6 +B (2, 1] > BI2, 5)) if +0>7) if(6 > 7) => FALSE ‘Then, Bli, W) = Bu~1, wy = Bl2, 5) =7 ie, B(3,5)=7 wo 41 2 3 4 5 otolofo]lolo Yolols[alals Sfolslalaly Slolsfalslr 0 Step 6: For item 4 Now for B[4, 1] ii tw if <= W) =(5<=1)> FALSE Then, - Bi, Wl = Bi-1, BI4, 1) = Bla- 1, 1) BI3, 1) = ie, Bl4,1] =0 iw _0 2093 4 5 Oololo O}o}o olo}sa}3 3]3 | * 2lolo sfalz] Blltl= oO 1° Si 4}s|7 4 o [to (Bs For Bl, 2] iv 0, <= W) =< 29) 5 FALSE Then, Bl, W) = Bu-1, w) = BI3, 2)=3288 = Design and Analysis of Algorithms ie, Bl4,2)=3 wo 1 2 3 4 8 of ofofo]ol{o]2 afolo[s]{3]3]% ajofo{s}4|4}7 - 3 . nos Jo of {4|s|7 alo | o/s For B o- BI4 iw if w,<=W) (5 <=3) = FALSE Then, Bli, W)= Bi'-1,1 = BI3,3] =4 ie, Bl4,3)=4 wo 1 2 3 4 5 * ofofo}o}o}o}o 4Jo}o}3a}3}3]3 o}ol3}4a]4]7 BUultl= ofols {al s}7 alo] ol] [ts For B[4, 4] it tw if (w; <= W) (5 <= 4) > FALSE Then, Bli, W] = Bli—1, WI = BIS, 4] =5 ie, Bl4,4]=5 wo 1 2 3 4 5 o}o}ojo}]ojojo 1fofo}3]3]a]a 2}o}o}3a}4a]4]7 BUull= s}ofo}|s}4|is}7 alolo|3|4 |'sDynamic Programming [267 For B[4, 5] ftw, <=) (6 <= 5) = TRUE and if 6, + BU-1, W-w) > Bie, wy if (6 + B (3, 0] > BIS, 5)) if(6+0>7) if (6 > 7) = FALSE Then, Bl, W1 = Bli-1, W) = B13, 5) =7 ie, BI4,5) =7 iw HOME ORES IERAEar olofofofo]olo fofols{slalsa alofolalalalz BUll= sfofofalals|7 stololsfals |r Method to find the actual knapsack items = The value of Bl4, 5] = 7 which is the max possible value that can be carried in the knapsack. Step 1: iw 0 1 2 3 4 5 O}ofoflololo oO Yofol3isa}s3 3 2)0;o};3]a}a4 7 Btltl= 3 Olol3/als5 7 4fofols}4]s | rt stattere For BI4, 5] i 3.4 oO Poy;os3s]/3]fa}3 2zfolo}3l/alal7 Bll(l= s}ofols|ats 7 alololatats led2085N Design and Analysis of Algorithms: Bli, kl 4 Bi 1, bl BIA, 5l + B13, 5) => FALSE So, the 4th item is not selected then ie i-1 ie, i 8 Now i= 3, k=5, wj=4 wo 1 2,3 4 5 ofoJo]o{o|e]? sfofo[ 3] 3} 3] 2 atololal4[4i™) BUll= soPoTa ele lWa alo{o]s|4|5|7 Bii, kh) # Bli-1, 2) BIB, 5] + BI2, 5] > FALSE So, the 3rd item is not selected then iei-1 ie, iced Now, i=2, k=5, w,=3 wo 12 3 4 5 ofofo]o}o}o}o afofof ata] 3 |e) re OBE a7) afo|o|s|4]s5|7 afo}o}3a]4|s5]7 Bli, k]) + Bli-1, A) Bl2, 5) + BU, 5] = TRUE So, the 2*4 item is selected and i@i-landkek-w; ie, ic Landke2 Now here i= 1,k=2,w,=21 ofolfo 1}olo olo BUltl= e solo 4}olo Bli, hl # Bli-1, pj Bil, 2] # BIO, 2) = TRUE go, the 1"* item is selected. and 6 i-1kek-w, ie, £-0,ha-O mw Oo 42 3 4 5 of ololmfolo]o Qo] “sls [a ls enn. U2 sfololslalsl7 sfololala]sl7 Thus, the selected item, which are carried by knapsack are item 1 and item 2. 12.5. THE RESOURCE ALLOCATION PROBLEM + Aresource allocation problem in which m resources are to be allocated to n projects. If Jtesources are allocated to project i then the profit is Pl * The problem is to allocate the resource to the n projects in such a way as to maximize total next profit. * This problem can be formulated as an n + 1 stage graph problem as follows. Stage ‘,0
golutior Po= 30,P, = 1, Py= 40, P, = 10, P, 95 m1, 2) = m{1, 1) + mia, 21 +P) P,P, = 04+04+30x1x10 = 1200 andk=1 m[2, 3) = ml, 2] + mi3, 3) 4 P, P,P, 0+041x 40x10 = 400 andk =2 m(3, 4] = mis, 3] + ml4, 4] +P. PsP, = 04+0+40x10 x95 = 10,000 and k= 3 mill. 1] + m2, 8]47, PP, m(t, 3] = mill, 2]+ m3, 3] +P, p, Ps in {9+ 400 + 380x110 = 709 = mn 1200 +6 + 30x 40x10 =13,200 We take min [700, 13, 200), i.e., 700 andk=1 in [M22+n 03,4147 Bp, ells wea P,P, = min 0 +10,000 +1x 40x95 =11,000 ~ 400 +0+1x10x95 = 650 We take min (11,000, 650], ie., 650 andk=3 mL +m[2, 4) 4 PPP, m1, 2] +m [3,4] 4 PyPP, mL, 3] +m [4,4] 4 PPP, 0+ 650 +30x1%25 =18, 509 = min 1200 + 10,000 + x 0x 40x25 = 41,200 700 +9 +30x10x 95 = 8,200 0], i.e., 1850 andk=1, m(l, 4] = minand Analysis of Alg 274 Desi Therefore the optimal cost is 1851 Now, for optimal parenthesization we apply the procedure. PRINT-OPTIMAL-PARENS (S, 1, 4) ® @ Print PRINT-OPTIMAL-PARENS (S, 2, 4) PRINT-OPTIMAL-PARENS (S, 1, 1) Print a, Prin (* PRINT-OPTIMAL-PARENS (S, 4, 4) PRINT-OPTIMAL-PARENS (S, 2, 3) Print A, Print" Print *)* 9 ® | Print" (* PRINT-OPTIMAL-PARENS (S, 3, 3) PRINT-OPTIMAL-PARENS (S, 2, 2) Print, Print A, Print™)" Thus the optimal solution ios (A, (A, (Ay Ag) A,)) EXAMPLE 12.10. Which is a more efficient way to determine the optimal number of multiplications in a matrix chain multiplication problem numerating all the waysof Parenthesizing the product and computing the number of multiplication for each, or running RECURSIVE MATRIX CHAIN ? Justify your answer. Find and optimal Parenthesization of a matrix chain product whose sequence of dimensions is (5, 10,3, 12, 5, 50, 6). (UPTU, MCA, 2005-06) Solution: Refer Section 12.2. (6, 10, 8, 12, 5, 50, 6) P= 5, P,=10, P, =3, P, = 12, P, =5, P, = 50, P, m(l, 2] = Py x P, x Py =5 x 10 x 3 = 150 m[2, 3] = P, x P, x Py =10 x8 x 12 = 360 m[3, 4] = P, x P; x Py=3 x 12 x 5 = 180 mld, 5] = P, x P, x 2x 5 x 50 = 3000 ml[5, 6] = P, x P; x Py =5 x 50 x 6 = 1500 m{1, 1] + m[2, 3]+ Py xP, xP m1, 3] = min m{1, 2] + m[3, 3] + Py x Py xP;. Dynamic Progaming “ | 275 Aan "M604 Oxy HOV 04 Bx z rnin {1 1600 = 900. 1504180 © ang 30 at hag Pieler [meas misao m2, 3]4 mil4a}ap F (; = min 1x Phx Py Px Py 1804 10xa%5 GO+0410x12%5, = 330 at k=2 mis, . m3, 3]+m[4, 5]+ Px P,P, min m[3, 4]+m[5, 5] + Pp x Py x Pr, mi 0 +3000 +3x12x50 " 118040438x5%50 , {8000 +1800 = 4800 min 180 +750 = 930 930 at k=4 0 ml4, 6] ._ {ml4, 4] + m5, 6]+ Py x Py x Py iP | m[4, 51+ m[6,6] + Py x Ps x Ps _ {01500 +1256 ™P'13000 +0 412x506 __ {1500 + 360 = 1860 MIN } 4.990 +3600 = 6600 = 1860 at k=4 m{1, 1] + m[2, 4)+ Pox Px Py m{1, 4] = min} m[1, 2]+ m[3, 4]+ Pox Pex Py , m{1, 3]+ m[4, 4] + Po x Ps x Py 0+330+5x10x5 = min}150+180+5x3x5 330+04+5x3x5276 4 Dosign and Analysis of Algorithms # m[3, 6] = mil, 5] = 330 +250 = 580 min/330+75=405 =405 at b=2 380 +75 = 405 ‘m[2, 2]+m[3, 5]+ 4 xP, x Ps m([2, 5]+m[4, B]+ Ax Pax Ps min m[2, 4] +m[5, 5]+ 7, xPyx Ps (0 +930 +10x3x50 min {360 + 3000 +10x1250 330 +0+10x5x50 '930 +1500 = 2430 min /3360+6000 = 9360 = 2430 at k=2 830 +2500 = 2830 ‘m[3, 3]+ m[4, 6]+ Po x Ps x Ps min {m[3, 4]+m|[5, 6]+ Pp x Pax Ps m[3,5]+m[6, 6]+ Pax Ps Ps (0+1860+3x12x6 min }180+1500+3x5x6 930 +0+3x50x6 1860 +216 = 2076 min}1680+90=1770 =1770 at k=4 930 + 900 = 1830 mi, 1]+ m[2, 5]+ Py x Py x Ps m[1, 2]+ m[3, 5]+ Py x Py x Ps m1, 3]+ m[4, 5] + Py x Py x Ps m[1, 4]+m[5, 5]+ Py x Py x Ps min (0+ 2430 +5x10x50 150+ 930 +5x3x50 330 +3000 +5x12x50 405+0+5x5x50 2430 +2500 = 4930 ‘min {1080+ 750 = 1830 3830 +3000 = 16630 = 1655 at k=4 405 +1250 =1655m2, 6] m(1,6) min Oynamic Programming = 277 m[2, 2]+m[3, 6]+A xP, xP, m[2, 3]+m[4, 6]+ 2, xP, xP, m[2, 4]+m[5, 6)+P. xP xP, m[2, 5]+m[6, 6)+ A xP xP, 0+1770+10x3x6 360 +1860+10x12%6 330 +1500+10x5x6 2430 +0+10x50x6 1770 +180 = 1950 22204720 940 = =2 1830+300=2139 =1950 at & 2430 +3000 = 5430 mf1,1]+m[2, 6]+Pyx Px Py m1, 2]+m[3, 6]+ Py xP, x Ps m[1, 3]+m[4, 6]+ Py x Ps x Ps m{l, 4]+m[5, 6]+ Ry xPyx Py m{1, 5]+m[6, 6)]+ PyxPyxP; 0+1950+5x0x6 150+17704+5x3x6 830 +18604+5x12x6 405 +1500 +5x5x6 1655+0+4+5x50x6 1950 +300 = 2250 1920 +90 = 2010 2190 + 360 = 2550 1905 +150 = 2055, =2010 at k=2 1655 +1500 = 3155278 = Dosign and Analysis of Algorithms = _ Therefore optimal cost is 2010. ‘The optimal solution is (A, Ay) ((Ag Ay) (Ag Ag)))- Fig. 12.5. EXAMPLE 12.11. Write an algorithm for LCS problem. Determine LCS for following: (10010101) and (010110110) (GGS IPU, M.Tech, 2009.19) Solution: x = (1, 0, 0, 1, 0, 1, 0, 1) y= (0,1, 0,1, 1,0, 1, 1,0) m = Length [x] n = Length [y] m=8 n=9 ° yi o xi] o 14 0 2 0] o 3 0] 0 4 1{ 0 5 o| 0 614 0 70 0 |4— start m=81] 0 2 | here From the table we can say that LCS = 6 One longest common sub sequence is (1,0, 0,1, 1,0).= Dynamic Programming = 279 2.12. Find optimal solution to the knap anne pl LE blemt approach? ic ie W=3, (wy Wy Wy) = (3, 2, 1) and (by by by wack O/1 problem by using the onsi = (2, 3,4). otlon® step 1+ Step 2: For i = 1 copying the values of Row (i — 1), i.e., Ry wo till (W, - D) column, i. )= (3-1) = 2 columns w-2 Now calculate this value 2 3 Now the value of table {1, 3} is calculated as = Max (0+(b,=2), 0) ip, teP 3 For i = 2 copying the value of Row (i ~ 1), i¢., Row 1 till (w, — 1) column, i.e., D= (2-1) =1 columnas.200 \ # Dosign and Analyale of Ne vey (ny = MQ) Maas = DD Stop 4: For copying the yaluo of Row (FD, hts Row 2 UIC, VY) column, ‘6, (wy = = 1) = O column, Max (34(b31), 3) = Max (De(bye1}, 0) = Max (O4(y" 1), ot = "4 ° a _2{ 7 | 0 ° 9 0 lo q o 0 3 ° 1 3 0 0 0 ) 0 1 0 0 0 2 2 0 0 3 3 3 0 1 3 4<— Start here So, the selected items are item 2 and item 3.* Dynamo Moguamming [21 ) Mind optimal wolution to the knapuack Ol inutancen n « m= 16. Oe? PD = (10, 5 18, 7% 6, 18, 1) and Wye MPSA AAD, golutlon: ayo S48 6 7 8 9 wo nH we ww mM 48 feo o oO o 0 @}eo ° (©) s]o 0 ®lo «6 ®] eo « 34 7]o 3 34 Start Thus the selected items are 1, 2, 3, 5 and 6, EXAMPLE 12.14. Let R(i, j) be the number of times that table entry m{[i, J] is referred while computing other table entries in a call of MATRIX CHAIN ORDER. Show that the total number of references for the entire table is SY RG 2 nian a 3 Solution: Each time the I-loop executes, the i-lonp executes n —1+ 1 times. Each times the iloop Srccutes, the k-loop executes j—i = 1— 1 times, each time referencing m twice. Thus, the totel number of times that an entry of m is referenced while computing other entries is y DRW Yo-eye-y?282 = Design and Analysis of Algorithms Qn(n-1)n — 2n(n-1)n(2n-1) EXAMPLE 12.15. Show that a full parenthesization of an n element expression has exact, n - 1 pairs of parentheses, Solution: Proof by induction : n — number of characters p — number of paranthesis pairs Basis (AB) n =2 p=1 (AB) C) or (A(BC)) n= 3 p=2 Induction: Assume true for k characters, prove true for k + 1 based on assumption, Assume parenthesization for [ABC...k] that n = k and p = k — 1. Add another characte (IABC ... k] M) n= k+1,P=k-1+1=k ‘Thus assumption is true for all & > 1. Proof by translation: The basic structure of binary trees and parentheses pair, any parenthesis sequence can be represented using a full binary tree — intemal node, (xy) is represented by representing the pairs x Y — Leaves, represent the elements It is commonly known that the number of internal nodes in a full binary tree is one less than the number of leaves. All parenthesization result in a full binary tree representation. EXAMPLE 12.16. Show how to reconstruct an LCS from the completed c table and the original sequences. X = (xp 2 wy Xp) ANA Y = [poy ney Yq) int O (m +n) time, without using the b table. Solution: We can eliminate the b table altogether. Each cli, f1 entry depends on only three other c table entries efi — 1, j— 1], cli —1,,] and eli, j, - 1]. Given the value of cli, j], we can determine on 0(1) line which of these three values was used to compute cli, fl without inspecting table b. Thus we can reconstruct an LCS in O(m + n) time using a procedure similar to PRINT_LCS. Although we same @(mn) space by this method, the auxillary space requirement for computing an LCS does not asymptotically decrease, since we need @(mn) space for the ¢ table any way PRINT_LCS (c, x, y, i, 5) 1. ifi=Oorj=0 2. then return= Dynamic Programming » 283 then PRINT_LCS (c, print x . elseif x; * yj and c[i, j] = then PRINT_LCS (c, elseif x # yj-and cfi, j] -4ui then PRINT_LCS (c, x, y, i.~ 4, 5) 10, else 41. error eexawaw (’N EXERCISES L 2 Explain dynamic programming ? Discuss through the example. Analyze the longest common subsequence from th s (4, B, C, D, B, C, D, C, D, D) and (B,C, D, C,D). Explain O(n”) time algorithm to find. ofn number. 1¢ given two sequence of characters. ‘the longest monotonically increasing sub-sequence of a sequence Q23
You might also like
MATRIX CHAIN Multiplication
PDF
No ratings yet
MATRIX CHAIN Multiplication
41 pages
Matrix Chain Multiplication
PDF
No ratings yet
Matrix Chain Multiplication
22 pages
Dynamic Programming
PDF
No ratings yet
Dynamic Programming
41 pages
Multiplym 2
PDF
No ratings yet
Multiplym 2
23 pages
Dynamic Programming
PDF
No ratings yet
Dynamic Programming
26 pages
To Print - Dynprog2
PDF
No ratings yet
To Print - Dynprog2
46 pages
Dynamic Prog
PDF
No ratings yet
Dynamic Prog
48 pages
Unit V: Dynamic Programming
PDF
No ratings yet
Unit V: Dynamic Programming
16 pages
Lecture # 14 - New
PDF
No ratings yet
Lecture # 14 - New
54 pages
Lecture 23 (OBST, Knapsack) (17 Files Merged)
PDF
No ratings yet
Lecture 23 (OBST, Knapsack) (17 Files Merged)
350 pages
Algorithms and Data Structures: Dynamic Programming Matrix-Chain Multiplication
PDF
No ratings yet
Algorithms and Data Structures: Dynamic Programming Matrix-Chain Multiplication
17 pages
Matrix Chain Multiplication - Students
PDF
No ratings yet
Matrix Chain Multiplication - Students
3 pages
Matrix-Chain Multiplication as an optimization problem
PDF
No ratings yet
Matrix-Chain Multiplication as an optimization problem
23 pages
Introduction To Algorithms: Dynamic Programming
PDF
No ratings yet
Introduction To Algorithms: Dynamic Programming
25 pages
Matrix Chain Mult
PDF
No ratings yet
Matrix Chain Mult
11 pages
Lecture14 - Dynamic II
PDF
No ratings yet
Lecture14 - Dynamic II
31 pages
To Read Dynprog2
PDF
No ratings yet
To Read Dynprog2
50 pages
Dynamic Programming: Department of CSE JNTUA College of Engg., Kalikiri
PDF
No ratings yet
Dynamic Programming: Department of CSE JNTUA College of Engg., Kalikiri
66 pages
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
PDF
No ratings yet
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
15 pages
Daaunit IV
PDF
No ratings yet
Daaunit IV
17 pages
Bhagaban - Dynamic - Programming Intro - Matrix - Elemnts - Unit - II - 4
PDF
No ratings yet
Bhagaban - Dynamic - Programming Intro - Matrix - Elemnts - Unit - II - 4
37 pages
M2-matrix_chain_multiplication
PDF
No ratings yet
M2-matrix_chain_multiplication
23 pages
Matrix Chain Multiplication
PDF
No ratings yet
Matrix Chain Multiplication
4 pages
daaunit-iv2
PDF
No ratings yet
daaunit-iv2
5 pages
Sadcx
PDF
No ratings yet
Sadcx
19 pages
Lecture 24 (Matrix Chain Multiplication)
PDF
No ratings yet
Lecture 24 (Matrix Chain Multiplication)
17 pages
Design and Analysis of Algorithm
PDF
No ratings yet
Design and Analysis of Algorithm
89 pages
Dynamic Programming Solution To The Matrix-Chain Multiplication Problem
PDF
No ratings yet
Dynamic Programming Solution To The Matrix-Chain Multiplication Problem
4 pages
Aad 4
PDF
No ratings yet
Aad 4
19 pages
Dynamic Programming
PDF
No ratings yet
Dynamic Programming
52 pages
Module IV
PDF
No ratings yet
Module IV
19 pages
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
PDF
No ratings yet
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
15 pages
Dynamic Programming: Matrix Chain Multiplication: 1 The Problem
PDF
No ratings yet
Dynamic Programming: Matrix Chain Multiplication: 1 The Problem
5 pages
Lecture 6 1
PDF
No ratings yet
Lecture 6 1
97 pages
Algorithms and Data Structure
PDF
No ratings yet
Algorithms and Data Structure
29 pages
Matrix Chain Multiplication and Travelling Salesman Problem Using Dynamic Programming
PDF
No ratings yet
Matrix Chain Multiplication and Travelling Salesman Problem Using Dynamic Programming
35 pages
Dynamic Programming 2
PDF
No ratings yet
Dynamic Programming 2
24 pages
Aaa 9
PDF
No ratings yet
Aaa 9
54 pages
ProgrammingAndDS II-Lecture6
PDF
No ratings yet
ProgrammingAndDS II-Lecture6
19 pages
הרצאה 9
PDF
No ratings yet
הרצאה 9
64 pages
Dynamic Programming
PDF
No ratings yet
Dynamic Programming
7 pages
Dynamic Programming: 1 Matrix-Chain Multiplication
PDF
No ratings yet
Dynamic Programming: 1 Matrix-Chain Multiplication
5 pages
Lec08 Dynamic Programming2024
PDF
No ratings yet
Lec08 Dynamic Programming2024
78 pages
Simplified Optimal Parenthesization Scheme For Matrix Chain Multiplication Problem Using Bottom-Up Practice in 2-Tree Structure
PDF
No ratings yet
Simplified Optimal Parenthesization Scheme For Matrix Chain Multiplication Problem Using Bottom-Up Practice in 2-Tree Structure
6 pages
Optimization Method For Matrix Chain MultipliCation
PDF
No ratings yet
Optimization Method For Matrix Chain MultipliCation
6 pages
DAA MODULE 2
PDF
No ratings yet
DAA MODULE 2
17 pages
DAA Unit04
PDF
No ratings yet
DAA Unit04
84 pages
AdvancedAlgorithms NN
PDF
No ratings yet
AdvancedAlgorithms NN
152 pages
Lec12.1-Dynamic Programming 2
PDF
No ratings yet
Lec12.1-Dynamic Programming 2
32 pages
Design Techniques Part 2 64
PDF
No ratings yet
Design Techniques Part 2 64
15 pages
Matrix Chain Multiplication Algorithm
PDF
No ratings yet
Matrix Chain Multiplication Algorithm
2 pages
Sample EXP 3
PDF
No ratings yet
Sample EXP 3
9 pages
Dynamic Prog Updated
PDF
No ratings yet
Dynamic Prog Updated
66 pages
Daa Lecture CSE
PDF
No ratings yet
Daa Lecture CSE
6 pages
Full Cse 408 Unit 3
PDF
No ratings yet
Full Cse 408 Unit 3
168 pages
Lecture 4 Dynamic Programming
PDF
No ratings yet
Lecture 4 Dynamic Programming
47 pages
Lecture 18 - 19 - Dynamic Programming
PDF
No ratings yet
Lecture 18 - 19 - Dynamic Programming
37 pages
DynamicProgramming Part2 FEUP
PDF
No ratings yet
DynamicProgramming Part2 FEUP
57 pages
Matrix Chain Multiplication
PDF
No ratings yet
Matrix Chain Multiplication
4 pages
Minimum Spanning Tree
PDF
No ratings yet
Minimum Spanning Tree
16 pages
U3
PDF
No ratings yet
U3
35 pages
UNIT 4 (GRAPH) Data Structure
PDF
No ratings yet
UNIT 4 (GRAPH) Data Structure
58 pages
Discrete Structure Unit 2 Notes
PDF
No ratings yet
Discrete Structure Unit 2 Notes
33 pages
DSA Compressed
PDF
No ratings yet
DSA Compressed
65 pages
LAB1
PDF
No ratings yet
LAB1
5 pages
Related titles
Click to expand Related Titles
Carousel Previous
Carousel Next
MATRIX CHAIN Multiplication
PDF
MATRIX CHAIN Multiplication
Matrix Chain Multiplication
PDF
Matrix Chain Multiplication
Dynamic Programming
PDF
Dynamic Programming
Multiplym 2
PDF
Multiplym 2
Dynamic Programming
PDF
Dynamic Programming
To Print - Dynprog2
PDF
To Print - Dynprog2
Dynamic Prog
PDF
Dynamic Prog
Unit V: Dynamic Programming
PDF
Unit V: Dynamic Programming
Lecture # 14 - New
PDF
Lecture # 14 - New
Lecture 23 (OBST, Knapsack) (17 Files Merged)
PDF
Lecture 23 (OBST, Knapsack) (17 Files Merged)
Algorithms and Data Structures: Dynamic Programming Matrix-Chain Multiplication
PDF
Algorithms and Data Structures: Dynamic Programming Matrix-Chain Multiplication
Matrix Chain Multiplication - Students
PDF
Matrix Chain Multiplication - Students
Matrix-Chain Multiplication as an optimization problem
PDF
Matrix-Chain Multiplication as an optimization problem
Introduction To Algorithms: Dynamic Programming
PDF
Introduction To Algorithms: Dynamic Programming
Matrix Chain Mult
PDF
Matrix Chain Mult
Lecture14 - Dynamic II
PDF
Lecture14 - Dynamic II
To Read Dynprog2
PDF
To Read Dynprog2
Dynamic Programming: Department of CSE JNTUA College of Engg., Kalikiri
PDF
Dynamic Programming: Department of CSE JNTUA College of Engg., Kalikiri
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
PDF
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
Daaunit IV
PDF
Daaunit IV
Bhagaban - Dynamic - Programming Intro - Matrix - Elemnts - Unit - II - 4
PDF
Bhagaban - Dynamic - Programming Intro - Matrix - Elemnts - Unit - II - 4
M2-matrix_chain_multiplication
PDF
M2-matrix_chain_multiplication
Matrix Chain Multiplication
PDF
Matrix Chain Multiplication
daaunit-iv2
PDF
daaunit-iv2
Sadcx
PDF
Sadcx
Lecture 24 (Matrix Chain Multiplication)
PDF
Lecture 24 (Matrix Chain Multiplication)
Design and Analysis of Algorithm
PDF
Design and Analysis of Algorithm
Dynamic Programming Solution To The Matrix-Chain Multiplication Problem
PDF
Dynamic Programming Solution To The Matrix-Chain Multiplication Problem
Aad 4
PDF
Aad 4
Dynamic Programming
PDF
Dynamic Programming
Module IV
PDF
Module IV
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
PDF
Matrix-Chain Multiplication: - Suppose We Have A Sequence or Chain A, A,, A of N Matrices To Be Multiplied
Dynamic Programming: Matrix Chain Multiplication: 1 The Problem
PDF
Dynamic Programming: Matrix Chain Multiplication: 1 The Problem
Lecture 6 1
PDF
Lecture 6 1
Algorithms and Data Structure
PDF
Algorithms and Data Structure
Matrix Chain Multiplication and Travelling Salesman Problem Using Dynamic Programming
PDF
Matrix Chain Multiplication and Travelling Salesman Problem Using Dynamic Programming
Dynamic Programming 2
PDF
Dynamic Programming 2
Aaa 9
PDF
Aaa 9
ProgrammingAndDS II-Lecture6
PDF
ProgrammingAndDS II-Lecture6
הרצאה 9
PDF
הרצאה 9
Dynamic Programming
PDF
Dynamic Programming
Dynamic Programming: 1 Matrix-Chain Multiplication
PDF
Dynamic Programming: 1 Matrix-Chain Multiplication
Lec08 Dynamic Programming2024
PDF
Lec08 Dynamic Programming2024
Simplified Optimal Parenthesization Scheme For Matrix Chain Multiplication Problem Using Bottom-Up Practice in 2-Tree Structure
PDF
Simplified Optimal Parenthesization Scheme For Matrix Chain Multiplication Problem Using Bottom-Up Practice in 2-Tree Structure
Optimization Method For Matrix Chain MultipliCation
PDF
Optimization Method For Matrix Chain MultipliCation
DAA MODULE 2
PDF
DAA MODULE 2
DAA Unit04
PDF
DAA Unit04
AdvancedAlgorithms NN
PDF
AdvancedAlgorithms NN
Lec12.1-Dynamic Programming 2
PDF
Lec12.1-Dynamic Programming 2
Design Techniques Part 2 64
PDF
Design Techniques Part 2 64
Matrix Chain Multiplication Algorithm
PDF
Matrix Chain Multiplication Algorithm
Sample EXP 3
PDF
Sample EXP 3
Dynamic Prog Updated
PDF
Dynamic Prog Updated
Daa Lecture CSE
PDF
Daa Lecture CSE
Full Cse 408 Unit 3
PDF
Full Cse 408 Unit 3
Lecture 4 Dynamic Programming
PDF
Lecture 4 Dynamic Programming
Lecture 18 - 19 - Dynamic Programming
PDF
Lecture 18 - 19 - Dynamic Programming
DynamicProgramming Part2 FEUP
PDF
DynamicProgramming Part2 FEUP
Matrix Chain Multiplication
PDF
Matrix Chain Multiplication
Minimum Spanning Tree
PDF
Minimum Spanning Tree
U3
PDF
U3
UNIT 4 (GRAPH) Data Structure
PDF
UNIT 4 (GRAPH) Data Structure
Discrete Structure Unit 2 Notes
PDF
Discrete Structure Unit 2 Notes
DSA Compressed
PDF
DSA Compressed
LAB1
PDF
LAB1