1 / 26

Chapter 5 Dynamic Programming

Chapter 5 Dynamic Programming. 2001 년 5 월 24 일 충북대학교 알고리즘연구실. Dynamic Programming. Used when the solution of a problem is a result of a sequence of decisions Example Knapsack Shortest path Optimal merge patterns. 5.3 All pairs shortest paths. G(V,E) : A directed graph with n vertices

truly
Download Presentation

Chapter 5 Dynamic Programming

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. Chapter 5Dynamic Programming 2001년 5월 24일 충북대학교 알고리즘연구실

  2. Dynamic Programming • Used when the solution of a problem is a result of a sequence of decisions • Example • Knapsack • Shortest path • Optimal merge patterns

  3. 5.3 All pairs shortest paths • G(V,E) : A directed graph with n vertices • Ak(i,j) : Length of shortest path from i to j going through no vertex of index greater than k • A(i,j) = min{min{Ak-1(i,k) + Ak-1(k,j)},cost(i,j)} • Ak (i,j) = Ak-1(i,k) + Ak-1(k,j) Ak (i,j) = min{Ak-1(i,j),Ak-1(i,k) + Ak-1(k,j)},k>=1 C(i,j) = 0, 1<=i<=n Cost of edge if (i,j) E C(i,j) if i j and (i,j) E

  4. 5.3 All pairs shortest paths • Figure 5.5 Graph with negative cycle -2 1 2 3 1 1

  5. 5.3 All pairs shortest paths • Program 5.3 Function to compute lengths of shortest paths

  6. 5.3 All pairs shortest paths • Figure 5.6 Directed Graph and associated matrices

  7. 5.4 Single-source shortest paths:General weights • dist[u] = cost[v][u] • distl[u] = length of a shortest path from the source vertex V to vertex U under the constraint that the shortest path contains at most L edges • 순환관계 • distk[u] = min(distk-1[u],min(distk-1[i] + cost[i][u])) ,2<=k<=n-1

  8. 5.4 Single-source shortest paths:General weights • Figure 5.10 Shortest paths with negative edge lengths

  9. 5.4 Single-source shortest paths:General weights • Program 5.4 Bellman and Ford algorithm to compute shortest paths

  10. 5.5 Optimal binary search trees • Definition • A binary search tree T • All identifies in the Tleft < Troot • All identifies in the Tright < Troot • The left and right subtres of T are also BST • 가정 • a1 < a2 < … < an • Ti,j : OBST for ai+1,…,aj • Ci,j : cost for Ti,j • Ri,j : root of Ti,j • Weight of Ti,j : Wi,j = Qi +

  11. 5.5 Optimal binary search trees • P(i) : probability Search(a(i)) • Q(i) : probability search (a(i) < x < a(i+1)) • : Probability of an unsuccessful search Internal node External node (5.9)

  12. Optimal Binary Search Tree Cost of the search Tree p(k)+cost(l)+cost(r)+w(0,k-1)+w(k,n) c(0, n) = min{c(0, k-1) + c(k, n) +p(k) +w(0, k-1)+w(k, n)} c(i, j) = min{c(i, k-1), c(k, j)+p(k) + w(i,k-1)+w(k,j)} C(i,j) = min{c(i,k-1)+c(k,j)} + w(i,j)

  13. 5.5 Optimal binary search trees • Figure 5.12 Two possible binary search trees

  14. 5.5 Optimal binary search trees • Figure 5.13 Binary search trees of Figure 5.12 with external nodes added

  15. 5.5 Optimal binary search trees

  16. 5.5 Optimal binary search trees

  17. 5.5 Optimal binary search trees • Figure 5.16 Computation of c(0,4), w(0,4), and r(0,4)

  18. 5.8 Reliability design • Solve a problem with a multiplicative optimization function • Several devices are connected in series • ri be the reliability of device Di • Reliability of the entire system • Duplicate : multiple copies of the same device type are connected in parallel use switching circuits

  19. 5.8 Reliability design Figure 5.19 n devices Di, 1<=i<=n, connected in series Figure 5.20 Multiple devices connected in parallel in each stage

  20. Multiple copies stage in contain mi copies of Di P(all mi malfunction) = (1-ri)mi Reliability of stage i =1-(1-ri)mi

  21. 5.8 Reliability design • Maximum allowable cost of the system Maximize Subject to Mi >=1 and integer, 1<=i<=n • Assume ci>0 ui =

  22. 5.9 The traveling salesperson problem • 우체부 : n개의 틀린 장소에서 mail pickup • n+1 vertex graph • Edge <i,j> distance from i to j • Tour of minimum cost • Permutation problem • n! different permutation of n object while there are 2n different subset of n object n! > O(2n)

  23. 5.9 The traveling salesperson problem • Tour : simple path that starts and ends at vertex 1 • Every tour : edge<1,k> for some k v-{1} each <k,1> • Optimal tour : path(k,1) • Shortest k to 1 path all the vertices in V-{1,k} • Let g(i,s) be the length of a shortest path starting at vertex i, going through all vertices in S and terminating at vertex 1

  24. 5.9 The traveling salesperson problem • Figure 5.21 Directed graph and edge length matrix c

  25. 5.9 The traveling salesperson problem • Thus g(2, ) = c21 = 5, g(3, ) = c31 = 6, and g(4, ) = c41 = 8. We obtain g(2,{3}) = c23 + g(3, ) = 15 g(2,{4}) = 18 g(3,{2}) = 18 g(3,{4}) = 20 g(4,{2}) = 13 g(4,{3}) = 15 g(2,{3,4}) = min{c23+g(3,{4}),c24+g(4,{3})} = 25 g(3,{2,4}) = min{c32+g(2,{4}),c34+g(4,{2})} = 25 g(4,{2,3}) = min{c42+g(2,{3}),c43+g(3,{2})} = 23 g(1,{2,3,4}) = min{c12+g(2,{3,4}),c13+g(3,{2,4}),c14+g(4,{2,3})} = min(35,40,43} = 35

  26. 5.9 The traveling salesperson problem • Let N be the number of g(i,s), that have to be computed before g(1,V-{1}) i, computed for each value of |s| • n-1 choices of i • The number of distinct sets of S of size k not including 1 and i

More Related