cs270 lecture 2
play

CS270: Lecture 2. Admin: CS270: Lecture 2. Admin: Check Piazza. - PowerPoint PPT Presentation

CS270: Lecture 2. Admin: CS270: Lecture 2. Admin: Check Piazza. CS270: Lecture 2. Admin: Check Piazza. Today: Finish Path Routing. ???? Path Routing. Given G = ( V , E ) , ( s 1 , t 1 ) ,..., ( s k , t k ) , find a set of k paths


  1. Toll problem. Given G = ( V , E ) , ( s 1 , t 1 ) ,..., ( s k , t k ) , find a set of k paths assign one unit of “toll” to edges to maximize total toll for connecting pairs. s 2 1 s 3 Assign 11 on each of 11 edges. 11 + 3 3 11 + 3 11 = 9 s 1 Total toll: 11 1 t 1 Can we do better? 2 1 2 Assign 1 / 2 on these two edges. t 3 Total toll: 1 2 + 1 2 + 1 2 = 3 2 t 2

  2. Toll: Terminology. d ( e ) - toll assigned to edge e .

  3. Toll: Terminology. d ( e ) - toll assigned to edge e .

  4. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1.

  5. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p .

  6. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . d ( u , v ) - total assigned to shortest path between u and v .

  7. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . d ( u , v ) - total assigned to shortest path between u and v . d ( x ) - polymorpic

  8. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . d ( u , v ) - total assigned to shortest path between u and v . d ( x ) - polymorpic x could be edge, path, or pair.

  9. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . d ( u , v ) - total assigned to shortest path between u and v . d ( x ) - polymorpic x could be edge, path, or pair.

  10. Toll: Terminology. d ( e ) - toll assigned to edge e . Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . d ( u , v ) - total assigned to shortest path between u and v . d ( x ) - polymorpic polymorphic x could be edge, path, or pair.

  11. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average:

  12. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion:

  13. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i )

  14. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) .

  15. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . e e i i

  16. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . e e i i

  17. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . e e i i

  18. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . e e i i A toll solution is lower bound on any routing solution.

  19. Toll is lower bound on Path Routing. From before: Max bigger than minimum weighted average: max e c ( e ) ≥ ∑ e c ( e ) d ( e ) Total length is total congestion: ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . e e i i A toll solution is lower bound on any routing solution. Any routing solution is an upper bound on a toll solution.

  20. Algorithm. Assign tolls according to routing.

  21. Algorithm. Assign tolls according to routing. How to route?

  22. Algorithm. Assign tolls according to routing. How to route? Shortest paths!

  23. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls.

  24. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls?

  25. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges.

  26. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) .

  27. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1.

  28. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium:

  29. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) .

  30. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) . “The routing is stable, the tolls are stable.”

  31. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) . “The routing is stable, the tolls are stable.” Routing: each path p i in routing is a shortest path w.r.t d ( · )

  32. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) . “The routing is stable, the tolls are stable.” Routing: each path p i in routing is a shortest path w.r.t d ( · ) Tolls: ...where d ( e ) is defined w.r.t. to current routing.

  33. Algorithm. Assign tolls according to routing. How to route? Shortest paths! Assign routing according to tolls. How to assign tolls? Higher tolls on congested edges. Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) . “The routing is stable, the tolls are stable.” Routing: each path p i in routing is a shortest path w.r.t d ( · ) Tolls: ...where d ( e ) is defined w.r.t. to current routing. Subtlety here due to ∑ e d ( e ) = 1.

  34. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) .

  35. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i

  36. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i 2 c ( e ) = ∑ ∑ e ′ 2 c ( e ′ ) c ( e ) e

  37. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ ∑ e 2 c ( e ) e

  38. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ ∑ e 2 c ( e ) e

  39. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e )

  40. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e )

  41. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . For e with c ( e ) ≤ c max − 2log m ; 2 c ( e ) ≤ 2 c max − 2log m = 2 cmax m 2 . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e ) ( c t ) ∑ e : c ( e ) > c t 2 c ( e ) ≥ ( 1 + 1 m ) ∑ e : c ( e ) > c t 2 c ( e )

  42. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . For e with c ( e ) ≤ c max − 2log m ; 2 c ( e ) ≤ 2 c max − 2log m = 2 cmax m 2 . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e ) ( c t ) ∑ e : c ( e ) > c t 2 c ( e ) ≥ ( 1 + 1 m ) ∑ e : c ( e ) > c t 2 c ( e ) ( c t ) = c max − 2log m ≥ 1 + 1 ( 1 + 1 m ) m

  43. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . For e with c ( e ) ≤ c max − 2log m ; 2 c ( e ) ≤ 2 c max − 2log m = 2 cmax m 2 . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e ) ( c t ) ∑ e : c ( e ) > c t 2 c ( e ) ≥ ( 1 + 1 m ) ∑ e : c ( e ) > c t 2 c ( e ) ( c t ) = c max − 2log m ≥ 1 + 1 ( 1 + 1 m ) m Or c max ≤ ( 1 + 1 m ) c opt + 2log m .

  44. How good is equilibrium? 2 c ( e ) Path is routed along shortest path and d ( e ) = ∑ e ′ 2 c ( e ′ ) . For e with c ( e ) ≤ c max − 2log m ; 2 c ( e ) ≤ 2 c max − 2log m = 2 cmax m 2 . ≥ ∑ d ( s i , t i ) = ∑ c opt d ( e ) c ( e ) e i ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) = ∑ Let c t = c max − 2log m . ∑ e 2 c ( e ) e ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e ) ( c t ) ∑ e : c ( e ) > c t 2 c ( e ) ≥ ( 1 + 1 m ) ∑ e : c ( e ) > c t 2 c ( e ) ( c t ) = c max − 2log m ≥ 1 + 1 ( 1 + 1 m ) m Or c max ≤ ( 1 + 1 m ) c opt + 2log m . (Almost) within additive term of 2log m of optimal!

  45. Getting to equilibrium. Maybe no equilibrium!

  46. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium:

  47. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) .

  48. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning.

  49. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i )

  50. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i ) = 1 3 ∑ e d ( e ) c ( e )

  51. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i ) = 1 3 ∑ e d ( e ) c ( e ) We obtain c max = 3 ( 1 + 1 m ) c opt + 2log m .

  52. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i ) = 1 3 ∑ e d ( e ) c ( e ) We obtain c max = 3 ( 1 + 1 m ) c opt + 2log m . This is worse!

  53. Getting to equilibrium. Maybe no equilibrium! Approximate equilibrium: Each path is routed along a path with length within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i ) = 1 3 ∑ e d ( e ) c ( e ) We obtain c max = 3 ( 1 + 1 m ) c opt + 2log m . This is worse! What do we gain?

  54. An algorithm!

  55. An algorithm! Repeat: reroute any path that is off by a factor of 3.

  56. An algorithm! Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.)

  57. An algorithm! Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.) p : w ( p ) = X s i t i p ′ : w ( p ′ ) ≤ X / 3

  58. An algorithm! Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.) p : w ( p ) = X s i t i p ′ : w ( p ′ ) ≤ X / 3 Potential function: ∑ e w ( e ) , w ( e ) = 2 c ( e )

  59. An algorithm! Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.) p : w ( p ) = X ⇒ w ′ ( p ) = X / 2 − 1 for c ( e ) = s i t i p ′ : w ( p ′ ) ≤ X / 3 Potential function: ∑ e w ( e ) , w ( e ) = 2 c ( e ) Moving path:

  60. An algorithm! Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.) p : w ( p ) = X ⇒ w ′ ( p ) = X / 2 − 1 for c ( e ) = + 1 for c ( e ) s i t i p ′ : w ( p ′ ) ≤ X / 3 ⇒ w ′ ( p ′ ) ≤ 2 X / 3 = Potential function: ∑ e w ( e ) , w ( e ) = 2 c ( e ) Moving path: Divides w ( e ) along long path (with w ( p ) of X ) by two.

Recommend


More recommend