1 / 30

Shortest Paths and Treewidth

Shortest Paths and Treewidth. Algorithms and Networks. This lecture. Given a graph G=(V,E) with a tree decomposition of width k , and with each edge a length (possibly negative), we can: In O( nk 2 ) time solve the Single Pair Shortest Paths problem

raven
Download Presentation

Shortest Paths and Treewidth

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. Shortest Paths and Treewidth Algorithms and Networks

  2. This lecture • Given a graph G=(V,E) with a tree decomposition of width k, and with each edge a length (possibly negative), we can: • In O(nk2) time solve the Single Pair Shortest Paths problem • In O(nk2) time determine if there is a negative cycle • In O(n2k) time solve the All Pairs Shortest Paths problem Shortest paths and treewidth

  3. Contents • Short background • Nice tree decompositions and top bags • Directed Path Consistency on nice tree decompositions • Main algorithm • Conclusions Shortest paths and treewidth

  4. Background • Directed Path Consistency, by Dechter, Meiri, Pearl, 1991 • Earlier results: • Chaudhuri, Zaroliagis, 2000 • Slower, but also dynamic • Chleq, 1995 • Single Source Shortest Paths; gives same asympthotic bound for APSP, but larger factor in O-notation • Algorithm here (SNOWBALL) from • Plancken, de Weerdt, van der Krogt, Computing All-Pairs Shortest Paths by Leveraging Low Treewidth, Journal of Artificial Intelligence Research 43 (2012) 353-388 Shortest paths and treewidth

  5. Nice tree decompositions (variant with larger leaf bags) • Rooted tree, and four types of nodes i: • Leaf: leaf of tree (note: the size 1 restriction of usual nice tree decompositions is dropped) • Join: node with two children j, j’ with Xi= Xj = Xj’. • Introduce: node with one child j with Xi = XjÈ {v} for some vertex v • Forget: node with one child j with Xi= Xj- {v} for some vertex v Shortest paths and treewidth

  6. Making it nice Theorem. Given a tree decomposition of a graph G=(V,E) with n vertices, of width k and with r bags, one can build a nice tree decomposition of G of width k, with O(n) bags, in O(k(n+r)) time. Shortest paths and treewidth

  7. Top bags • For each vertex v, there is a exactly one bag i with v in Xi and v not in Xparent(i) • Call this bag thetop bagof v, TB(v) • The parent of the top bag of v is a forget node that forgets v: different vertices have different top bags Shortest paths and treewidth

  8. A numbering of the vertices • Traverse the tree of the tree decomposition in pre-order • Number the vertices in the order in which their top bags appear in this ordering • Equivalently: number the vertices in the root bag, and then number vertices in order we see their forget nodes • Claim: if the top bag of v is a descendant of the top bag of w, then nb(v) > nb(w) Shortest paths and treewidth

  9. A property of tree decompositions • If P is a path from v to w, then X contains at least one vertex from P v X w Shortest paths and treewidth

  10. Directed Path Consistency • DPC Problem: • For all pairs v, w, such that there is a bag that contains v and w, compute B(v,w) = the length of a shortest path from v to w that uses (except v and w) only vertices with numbers larger than max(nb(v),nb(w)) • What we do: • For each bag i, for all v,w in Xi we compute Bi(v,w) = the length of a shortest path from v to w that uses only vertices whose top bag is a descendant of i(i.e. only live in the subtree below i) Shortest paths and treewidth

  11. Plan • A Dynamic Programming algorithm computes a table Bi for all bags i, each in O(k2) time • Note that we must compute O(k2) values for each bag: O(1) time per computation • Procedure for each of the four types of nodes • Total time is O(nk2) for these steps Shortest paths and treewidth

  12. Leaf nodes • Let i be a leaf node. • For all v,w in Xi: Bi (v,w) = length of arc from v to w (and µ if arc does not exist) Shortest paths and treewidth

  13. Join nodes • Let i be a join node with children j, j’. • For all v,w in Xi: Bi (v,w) = min (Bj (v,w) , Bj’ (v,w) ) Why? = + Shortest paths and treewidth

  14. Why? • Take a path P from v to w using only vertices with top bag below i • Claim: P uses only nodes in the subtree of j OR P uses only nodes in the subtree of j’ • If not, it must use another node in the bag Xi. • To see this: suppose not. Choose a vertex x with top bag in subtree of j from P and a vertex y with top bag in subtree of j’ • Go along P from x to y. At some point, we either visit a vertex in Xior have an edge from a vertex in the subtree of j to a vertex in the subtree of j’ Shortest paths and treewidth

  15. Introduce nodes • Let i be a node with child j, with Xi = Xj È {v}. • For all w,x in Xj: • Bi(v,w) = length of arc (v,w) if existing, µ otherwise • Bi(w,x) = Bj(w,x) v Trivial case Shortest paths and treewidth

  16. Forget nodes • Let ibe a node with child j, with Xi = Xj- {v}. • For all w,xin Xi: • Bi(w,x) = min (Bj(w,x), Bj(w,v)+Bj(v,x)) v v The path now can use v as internal vertex w x v Shortest paths and treewidth

  17. Back to DPC • For all pairs v, w, such that there is a bag that contains v and w, compute B(v,w) = the length of a shortest path from v to w that uses (except v and w) only vertices with numbers larger than max(nb(v),nb(w)) • If nb(v) < nb(w): • The top bag of w is a descendant of the top bag of v • B(v,w) = BTB(v)(v,w) • Argument uses again properties of tree decompositions: induction shows you cannot leave the subtree rooted at v in the path • Similar, if nb(w) < nb(v): B(v,w) = BTB(w)(v,w) Shortest paths and treewidth

  18. Single pair shortest paths • The shortest path from s to t: • Add (s,t) as edge to G • Make tree decomposition of G+(s,t) • Width is at most one more than width of G (e.g., add t to all bags of a tree decomposition of G) • Choose a bag that contains s and t • Make a nice tree decomposition with root bag precisely {s,t} • The distance of s to t equals B(s,t) • O(nk2) time Shortest paths and treewidth

  19. Checking for negative cycles • Claim: there is a negative cycle, if and only if there are two vertices (that appear together in a bag) v, w with B(v,w) + B(w,v) < 0 • Ü: trivial • Þ: take a negative cycle C. Let v and w be the two lowest numbered vertices on the cycle • Take a node i of minimum distance to root bag that contains two vertices of C. All vertices of C must belong to bag ior a descendant of i. (If not, then C would have a separator of size at most 1, namely C intersected with the bag of the parent of i.) Shortest paths and treewidth

  20. All Pairs Shortest Path algorithmStep 1 • Compute the values B(v,w) as discussed • Check if there is a negative cycle, as discussed • If there is no negative cycle, we do Step 2 Shortest paths and treewidth

  21. Step 2 - Scheme • Scheme: • For q = 1 to n do • Suppose nb(v) = q • Compute d(v,w) and d(w,v) correctly for all w with nb(w) < q Shortest paths and treewidth

  22. Step 2 - Code • For all v,w, initialize d(v,w) = µ • For all v, initialize d(v,v) = 0 • For q = 1 to n do • Suppose nb(v) = q • For all w in XTB(v) , w ¹ v do • For r = 1 to q-1 do • Suppose nb(x) = r • d(x,v) = min { d(x,v), d(x, w) + B(w,v) } • d(v,x) = min { d(v,x), B(v,w) + d(w,x) } • Return d Shortest paths and treewidth

  23. Correctness • Induction hypothesis: • For all v, w with nb(v) < q and nb(w) < q, d(v,w) equals the length of the shortest path from v to w • From standard shortest path algorithms analysis, it is clear that always • d(x,v) ³ distance from x to v • d(v,x) ³ distance from v to x Shortest paths and treewidth

  24. To show the IH • No negative cycles: d(v,v) = 0 is correct • We must argue that after the round working with v with nb(v) = q, all values d(v,x) and d(x,v) for nb(x) < q are correct • Our proof looks at the values d(x,v); the other case d(v,x) is similar • Consider one vertex x with nb(x) < nb(v) Shortest paths and treewidth

  25. Proof of correctness (1) • nb(x) < nb(v) • Note: top bag of x is not a descendant of top bag of v • Consider the shortest path P from x to v. • Claim 1: P contains another vertex (¹ v) from TB(v) • Say, last arc of P is (y,v) • y belongs to subtree of v • x belongs to bags not in subtree of v • TB(x) contains a vertex of part of P from x to y Shortest paths and treewidth

  26. Proof of correctness 2 • Look at the vertices y on P that belong to the top bag of v • Let w be the last vertex of this type on P • Note: TB(w) is ancestor of TB(v), so nb(w) < nb(v) x … x w v x w TB(x) Shortest paths and treewidth

  27. Proof of correctness (2) Claim 2: d(x,v) = d(x, w) + B(w,v) • When we work with v, the value d(x,w) (first part of path) was already correctly computed, as nb(x) = r < q = nb(v) and nb(w) < nb(v) • Second (blue) part of path uses only higher numbered vertices: by DPC-subroutine, given in B(w,v) x w v Shortest paths and treewidth

  28. Proof of correctness (3) • w is in XTB(v) • So, d(x,v) will be set to the min of its old value at the length of P when we consider w • After this step, equal to distance • For all v,w, initialize d(v,w) = µ • For all v, initialize d(v,v) = 0 • For q = 1 to n do • Suppose nb(v) = q • For all w in XTB(v) , w ¹ v do • For r = 1 to q-1 do • Suppose nb(x) = r • d(x,v) = min { d(x,v), d(x, w) + B(w,v) } • d(v,x) = min { d(v,x), B(v,w) + d(w,x) } • Return d Shortest paths and treewidth

  29. Time • If we have a tree decomposition of width k: • O(nk2) for DPC • O(n2k) for 2nd step • Total: O(n2k) time • For all v,w, initialize d(v,w) = µ • For all v, initialize d(v,v) = 0 • For q = 1 to n do • Suppose nb(v) = q • For all w in XTB(v) , w ¹ v do • For r = 1 to q-1 do • Suppose nb(x) = r • d(x,v) = min { d(x,v), d(x, w) + B(w,v) } • d(v,x) = min { d(v,x), B(v,w) + d(w,x) } • Return d Shortest paths and treewidth

  30. Remarks • Most results for treewidth have faster algorithms for (NP-) hard problems • This one: faster for polynomial time solvable problem • Experiments by Plancken show results are practical Shortest paths and treewidth

More Related