CS270: Lecture 2. Path Routing. Another problem. Given G = ( V , E ) , ( s 1 , t 1 ) ,..., ( s k , t k ) , find a set of k paths assign one Given G = ( V , E ) , ( s 1 , t 1 ) ,..., ( s k , t k ) , find a set of k paths connecting unit of “toll” to edges to maximize total toll for connecting pairs. s i and t i and minimize max load on any edge. s 2 s 2 Admin: Check Piazza. Today: 1 s 3 s 3 1 Assign 11 on each of 11 edges. 11 1 Value: 3 ————— 1 11 3 + 3 11 + 3 11 = 9 s 1 Toll paid: ◮ Finish Path Routing. 11 11 11 s 1 t 1 1 1 1 1 t 1 Can we do better? ◮ ???? 11 11 11 2 1 1 Value: 2 2 11 1 Assign 1 / 2 on these two edges. t 3 11 t 3 Toll paid: 1 2 + 1 2 + 1 2 = 3 1 2 11 t 2 t 2 Terminology Toll problem. Toll: Terminology. 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 Routing: Paths p 1 , p 2 ,..., p k , p i connects s i and t i . d ( e ) - toll assigned to edge e . Congestion of edge, e : c ( e ) Note: ∑ e d ( e ) = 1. d ( p ) - total toll assigned to path p . s 3 1 Assign 11 on each of 11 edges. number of paths in routing that contain e . d ( u , v ) - total assigned to shortest path between u and v . 11 + 3 3 11 + 3 11 = 9 s 1 Total toll: d ( x ) - polymorpic polymorphic 11 Congestion of routing: maximum congestion of any edge. 1 t 1 x could be edge, path, or pair. Can we do better? 1 2 Find routing that minimizes congestion (or maximum congestion.) 2 Assign 1 / 2 on these two edges. t 3 Total toll: 1 2 + 1 2 + 1 2 = 3 2 t 2
Toll is lower bound on Path Routing. Algorithm. 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 Assign tolls according to routing. m 2 . From before: ≥ ∑ d ( s i , t i ) = ∑ How to route? Shortest paths! c opt d ( e ) c ( e ) Max bigger than minimum weighted average: e max e c ( e ) ≥ ∑ e c ( e ) d ( e ) i Assign routing according to tolls. ∑ e ′ 2 c ( e ′ ) c ( e ) = ∑ e 2 c ( e ) c ( e ) 2 c ( e ) Total length is total congestion: = ∑ Let c t = c max − 2log m . How to assign tolls? Higher tolls on congested edges. ∑ e c ( e ) d ( e ) = ∑ i d ( p i ) ∑ e 2 c ( e ) e Toll: d ( e ) = ∝ 2 c ( e ) . ∑ e d ( e ) = 1. ∑ e : c ( e ) > c t 2 c ( e ) c ( e ) Each path, p i , in routing has length d ( p i ) ≥ d ( s i , t i ) . ≥ ∑ e : c ( e ) > c t 2 c ( e ) + ∑ e : c ( e ) ≤ c t 2 c ( e ) Equilibrium: The shortest path routing has has d ( e ) ∝ 2 c ( e ) . c ( e ) ≥ ∑ d ( p i ) ≥ ∑ c ( e ) d ( e ) = ∑ max d ( s i , t i ) . ( c t ) ∑ e : c ( e ) > c t 2 c ( e ) e e ≥ i i “The routing is stable, the tolls are stable.” ( 1 + 1 m ) ∑ e : c ( e ) > c t 2 c ( e ) Routing: each path p i in routing is a shortest path w.r.t d ( · ) A toll solution is lower bound on any routing solution. ( c t ) = c max − 2log m ≥ Tolls: ...where d ( e ) is defined w.r.t. to current routing. 1 + 1 ( 1 + 1 Any routing solution is an upper bound on a toll solution. m ) m Subtlety here due to ∑ e d ( e ) = 1. Or c max ≤ ( 1 + 1 m ) c opt + 2log m . (Almost) within additive term of 2log m of optimal! Getting to equilibrium. An algorithm! Tuning... Repeat: reroute any path that is off by a factor of 3. (Note: d ( e ) recomputed every rerouting.) Maybe no equilibrium! p : w ( p ) = X Approximate equilibrium: ⇒ w ′ ( p ) = X / 2 − 1 for c ( e ) = Each path is routed along a path with length Replace d ( e ) = ( 1 + ε ) c ( e ) . within a factor of 3 of the shortest path and d ( e ) ∝ 2 c ( e ) . Replace factor of 3 by ( 1 + 2 ε ) + 1 for c ( e ) s i t i c max ≤ ( 1 + 2 ε ) c opt + 2log m / ε . . (Roughly) p ′ : w ( p ′ ) ≤ X / 3 Lose a factor of three at the beginning. c opt ≥ ∑ i d ( s i , t i ) ≥ 1 3 ∑ e d ( p i ) = 1 ⇒ w ′ ( p ′ ) ≤ 2 X / 3 3 ∑ e d ( e ) c ( e ) = Fractional paths? Potential function: ∑ e w ( e ) , w ( e ) = 2 c ( e ) We obtain c max = 3 ( 1 + 1 m ) c opt + 2log m . Moving path: This is worse! Divides w ( e ) along long path (with w ( p ) of X ) by two. What do we gain? Multiplies w ( e ) along shorter ( w ( p ) ≤ X / 3) path by two. − X 2 + X 3 = − X 6 . Potential function decreases. = ⇒ termination and existence.
Revisit Equilibrium. Algorithm:exact? Geometrical view. Solution Pair: ( { p i } , d (˙ )) . Toll Solution Value: ∑ i d ( s i , t i ) . Path Routing Value: max e c ( e ) . Toll player assigns toll on only maximally congested edges. s t Routing player routes on only cheapest paths. Routing R uses shortest paths. Summation Switch d ( e ) ≥ 0. Only Toll on max congestion. ∑ e d ( e ) = 1 ∑ e 2 c ( e ) max e c ( e ) = ∑ ∑ d ( s i , t i ) d ( p i ) Not shortest when tolls on top. i i Hmmm... = ∑ c ( e ) d ( e ) Uh oh? e x = . 5 Route half a unit on both! Smooth: use ∑ e 2 c ( e ) as a proxy for max e c ( e ) . ∑ = c ( e ) d ( e ) Hey! Fractional! e : d ( e ) > 0 Minimize new function. Use previous algorithms but route two paths between each pair. ∑ Gradient descent. = d ( e )( max c ( e )) e Stepsize=1. Back and forth! e : d ( e ) > 0 Half integral! Stepsize=.5. Back and forth ...but closer to minimum. = c ( e ) max Optimality: ( 3 ) C max + 2log m / 2. e Additive factor shrinking! Any routing solution value ≥ Any toll solution value. The 3 can be made ( 1 + ε ) using different base! Both these solutions are optimal!!!!! Complementary slackness. Why all the mess before? To get an algorithm! Wrap up. Dueling players: Toll player raises tolls on congested edges. Congestion player avoids tolls. Converges to near optimal solution! A lower bound is “necessary” (natural), and helpful (mysterious?)! Geometric View: Smooth. Gradient Descent. Stepsize.
Recommend
More recommend