190 likes | 398 Views
A Stronger Bound on Braess’s Paradox. Henry Lin * Tim Roughgarden * Éva Tardos † *UC Berkeley † Cornell University. Overview. Selfish Routing – users attempt to minimize personal latency traveling in a traffic network Braess’s Paradox – adding an edge can increase latency for all users
E N D
A Stronger Bound on Braess’s Paradox Henry Lin* Tim Roughgarden* Éva Tardos† *UC Berkeley †Cornell University
Overview • Selfish Routing – users attempt to minimize personal latency traveling in a traffic network • Braess’s Paradox – adding an edge can increase latency for all users • How bad can Braess’s Paradox be if k edges are added?
Routing in congested networks • a directed graph G = (V,E) • a rate r of traffic to route from source s to destination t • for each edge e, a latency function ℓe(•) • assumed continuous, nondecreasing Example: ℓ(x)=x Flow = ½ r=1 s t ℓ(x)=1 Flow = ½
Nash flows Some assumptions: • agents represent a small unit of flow • want to minimize personal latency Def: A flow is at Nash equilibrium (or is a Nash flow) if all flow is routed on min-latency paths [given current edge congestion] • At Nash Eq., all flow will have same s to t latency • have existence, uniqueness [Wardrop, Beckmann et al 50s] Flow = 1 Example: Flow = .5 x x r=1 s t s t 1 1 Flow = .5 Flow = 0 This flow is envious!
Braess’s Paradox • Common latency is 1.5 • Adding edge increased latency to 2! • Replacing x with xd yields more severe example where latency increases from 1 to 2 v ½ 1 ½ 1 x 0 s t ½ 1 ½ x 1 u
⅓ flow along each path ½ flow along each path A bigger Braess’s Paradox • Common latency is 1 • Adding 2 edges increased latency to 3! 2 1 0 0 1 1 0 0 1 s t 0 1 2 0
The severity of Braess’s Paradox increases as more edges are added • Thm: [Roughgarden 01]Adding k edges to a graph can increase common latency by a k+1 factor • But, can adding a single edge cause a large increase in delay? • When adding a single edge, are there more severe examples than Braess’s original example?
Bounding Braess’s Paradox • New result: Adding k edges to a network increases common latency by at most a k+1 factor • Note: This bound is tight
Key idea in proof • Look at how the flow changed after adding edges • Remember: Flow travels along shortest s to t path [given current congestion] v light heavy 1 x added 0 s t heavy light x 1 u
Outline of proof • We can show that there must be a path consisting of only light forward edges and heavy backward edges, called an alternating path, from s to t [use a cut argument] • Show that the latency to nodes in an alternating path can be bounded
A simple example with light edges light • Latency along light edges has decreased • Latency traveling from s to v1, v2, and t has improved • Common latency must improve since shortest s to t path got shorter light v1 v2 light s t added
v light heavy s t light u What about heavy edges? • Flow chose s-u-v route, despite better s-v path • s-u latency must have improved, since u-v has increased latency • u-t has decreased latency, so s-t latency has improved “light”
More formally • d’(v) represents s-v latency before edge added • d(v) represents s-v latency after edge added Along a path of light forward edges and heavy backward edges with no added edges, we can prove by induction that d(v) ≤ d’(v) If alternating path reaches t without crossing an added edge, then overall latency decreases
Crossing an added edge v light Can no longer conclude d(u) ≤ d’(u) Can only conclude d(u) ≤ d’(u) + d’(t) In the worst case, s-u latency increases from 0 to d’(t) Latency to node after added edge may increase by d’(t) But can still bound d(t) ≤ d’(t) + d’(t) so d(t) ≤ 2*d’(t) added s t light u
Bound when k edges are added s v1 d(s) ≤ d’(s) d(v1) ≤ d’(v1) d(v2) ≤ d’(v2) d(v3) ≤ d’(v3) v2 v3 d(v4) ≤ d’(v4) + d’(t) d(v5) ≤ d’(v5) + d’(t) v4 v5 etc… v6 v7 d(v6) ≤ d’(v6) + 2d’(t) v8 t blue = light red = heavy green = added d(t) ≤ d’(t) + kd’(t) d(t) ≤ (k+1)d’(t)
Corollaries • Decreasing the flow rate will decrease common latency [Hall 78] • Adding edges incident to s or t will not increase latency • The increase in latency is bounded by the size of the maximal node disjoint set of edges added that avoids s and t • This gives alternate proof of the n/2 bound in [Roughgarden 01]