1 / 41

Design and Analysis of Algorithms Lecture Dynamic programming Alexander Kolesnikov 17.10.205

DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF JOENSUU JOENSUU, FINLAND. Design and Analysis of Algorithms Lecture Dynamic programming Alexander Kolesnikov 17.10.205. List of sample problems. Shortest path in trellis graph; Optimal allocation of constrained resource;

Télécharger la présentation

Design and Analysis of Algorithms Lecture Dynamic programming Alexander Kolesnikov 17.10.205

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF JOENSUU JOENSUU, FINLAND Design and Analysis of Algorithms Lecture Dynamic programming Alexander Kolesnikov 17.10.205

  2. List of sample problems • Shortest path in trellis graph; • Optimal allocation of constrained resource; • Optimal sequence partition (k-link shortest path). • to be continued ...

  3. Shortest path in trellis graph

  4. Stagecoach problem A traveler wishes to minimize the length of a journey from town A to J.

  5. Greedy algorithm The length of the route A-B-F-I-J: 2+4+3+4=13. Can we find shorter route?

  6. Exhaustive search: try all Route A-D-F-I-J: 3+1+3+4=11 The total number of routes to be tested: 3321=18 Can we avoid exhaustive search?

  7. Shortest path construction: 1st stage (B) ?

  8. Shortest path construction: 1st stage S(A,B)=2 S(A,C)=4 S(A,D)=3

  9. Shortest path construction: 2nd stage (E) 1. (A..B)-E: 2+7=9 2. (A..C)-E: 4+3=7 3. (A..D)-E: 3+4=7 ---------------------- (A..C)-E: 7 ?

  10. Shortest path construction: 2nd stage (E) 1. (A..B)-E: 2+7=9 2. (A..C)-E: 4+3=7 *) 3. (A..D)-E: 3+4=7 ---------------------- (A..C)-E: 7

  11. Shortest path construction: 2nd stage (F) 1. (A..B)-F: 2+4=6 2. (A..C)-F: 4+2=6 3. (A..D)-F: 3+1=4 *) ---------------------- (A..C)-F: 4 ?

  12. Shortest path construction: 2nd stage (F) 1. (A..B)-F: 2+4=6 2. (A..C)-F: 4+2=6 3. (A..D)-F: 3+1=4 *) ---------------------- (A..D)-F: 4

  13. Shortest path construction: 2nd stage (G) 1. (A..B)-G: 2+6=8 *) 2. (A..C)-G: 4+6=10 3. (A..D)-G: 3+5=8 ---------------------- (A..B)-G: 8 ?

  14. Shortest path construction: 2nd stage (G) 1. (A..B)-G: 2+6=8 *) 2. (A..C)-G: 4+6=10 3. (A..D)-G: 3+5=8 ---------------------- (A..B)-G: 8

  15. Shortest path construction: 3rd stage (H) 1. (A..E)-H: 7+1=8 *) 2. (A..F)-H: 4+6=10 3. (A..G)-H: 5+3=8 ---------------------- (A..E)-H: 5

  16. Shortest path construction: 3rd stage (H) 1. (A..E)-H: 7+1=8 *) 2. (A..F)-H: 4+6=10 3. (A..G)-H: 5+3=8 ---------------------- (A..E)-H: 5

  17. Shortest path construction: 3rd stage (I) 1. (A..E)-I: 7+4=11 2. (A..F)-I: 4+3=7 *) 3. (A..G)-I: 5+3=8 ---------------------- (A..F)-I: 7

  18. Shortest path construction: 3rd stage (I) 1. (A..E)-I: 7+4=11 2. (A..F)-I: 4+3=7 *) 3. (A..G)-I: 5+3=8 ---------------------- (A..F)-I: 7

  19. Shortest path construction: 4th stage (J) 1. (A..H)-J: 8+3=11 *) 2. (A..I) -J: 7+4=11 ---------------------- (A..H)-J: 11

  20. Shortest path construction: 4th stage (J) 1. (A..H)-J: 8+3=11 *) 2. (A..I) -J: 7+4=11 ---------------------- (A..H)-J: 11

  21. Backtrack the shortest path 2 7 8 0 4 4 11 7 3 8

  22. The shortest path 2 7 8 0 4 4 11 7 3 8 Route A-C-E-H-J: 4+3+1+3=11

  23. Trellis graph 1 23 4 K-1 K

  24. Trellis graph • Distance (weight) from point i1 at stage (j1) to point i2 • at stage j: • The total value of cost function:

  25. Principle of optimality of Bellman An optimal path has the property that whatever the initial conditions and control variables (choices) over some initial period, the control (or decision variables) chosen over the remaining period must be optimal for the remaining problem, with the state resulting from the early decisions taken to be the initial condition.

  26. Dynamic programming • Cost function: • Recursive eqution: • Initialization:

  27. Complexity • Exhaustive search: O(nK) • Dynamic programming algorithm: O(Kn2) • where K is the number of stages, • n is the number of points in a stage

  28. Optimal allocation of constrained resource

  29. Problem formulation • N units of a resource; • This resource must be distributed among K activities; • Functions fk(x) - profit for allocated resource; • Allocate N units of resource to K activities with given • return functions so that the total profit is maximal: subject to:

  30. Dynamic programming formulation Optimal value function: Recursive equation: Initialization:

  31. Allocate 3 mln euros into four projects Profit fk(x), K=3, N=3.

  32. Trellis graph

  33. Solution *) #1: 2; f1(2)=8 #2: 1; f2(1)=5 #3: 0; f3(0)=0 #4: 0; f4(0)=0 ---------------------- N=3; G4(3)=13

  34. Search in the state space GK(N) K Gk(n) fk(n-j) k k-1 * Gk-1(j) 1 0 j 0 n N Start state Gk(n) = max{Gk(0) + fk(n), Gk(1) + fk(n-1), . . . Gk(j-1)+ fk(j), . . . Gk(n) + fk(0)} Ak(n)=jopt

  35. Optimal partition of data sequence

  36. Problem formulation • Given a sequence of data X={x1, x2, …,xN} • Do partition of the sequence X into to K groups with • given cost functions f(xi,xj) so that the total value of • the cost function is minimal:

  37. Partition into groups: Example • Data: x 0=  <x1 <... <xj < ... < xN • Partition indices: i0= 0 <i1 <... <ij < ... < iM=N. • Groups: #1 #2 #3 ]( ( ]( ] • ... • • • • • • • • • • • • • • • (x0=)x1 x2 x3x4 x5 x6 x7x8 x9 x10 x11 x12 x13x14xN (i0=0)i1=4i2=10iK =N=15 K=3

  38. Problem formulation Cost function: Recursive equation: Initialization:

  39. Search in the state space  GK(N) K b State space  Gk (n) f(j,n) k k-1 * Gk-1(j) 0 j Start state 1 n N Gk(n) = min{Gk(k) + f(k, n], Gk(k) + f(k+1,n], . . . Gk(j-1) + f(j, n]*), . . . Gk(n-1) + f(n, n]} Ak(n)=jopt

  40. Scheme of the DP algorithm // Initialization FOR n = 1 TO N DO G1(n)= f(1,n] // Minimum search FOR k = 2 TO K DO FOR n = k TO N DO dmin FOR j= k-1 TO n-1 DO cGk-1(j) + f(j,n] IF(c < cmin) cmin c; jmin j ENDIF ENDFOR Gk (n) dmin Ak (n) jmin ENDFOR ENDFOR Complexity: O(KN2)

  41. Backtrack in the state space  AK(N) K b State space  0 Start state 1 j n N S(M+1)= N FOR m = K+1 TO 2 DO S(m1) = A(S(m), m)) P =GK(N) N=22, K=8: S={22,18,14,12,9,6,4,3,1} (x0,x3], (x3,x4], (x4,x6], (x6,x9], (x9,x12], (x12,x14], (x14,x18], (x18,x22]

More Related