Selfish Routing and the Price of Anarchy - Yale University ...
Selfish Routing and the Price of Anarchy - Yale University ...
Selfish Routing and the Price of Anarchy - Yale University ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Selfish</strong> <strong>Routing</strong><strong>and</strong> <strong>the</strong><strong>Price</strong> <strong>of</strong> <strong>Anarchy</strong>Tim RoughgardenCornell <strong>University</strong>1
Algorithms forSelf-Interested AgentsOur focus: problems in which multipleagents (people, computers, etc.) interactMotivation: <strong>the</strong> Internet• decentralized operation <strong>and</strong> ownershipTraditional algorithmic approach:• agents classified as obedient or adversarial– examples: distributed algorithms, cryptography2
Algorithms <strong>and</strong> Game TheoryRecent trend: agents have own independentobjectives (<strong>and</strong> act accordingly)New goal: algorithms that account forstrategic behavior by self-interested agentsNatural tool: game <strong>the</strong>ory• <strong>the</strong>ory <strong>of</strong> “rational behavior” in competitive,collaborative settings– [von Neumann/Morgenstern 44]3
ObjectivesThis talk: underst<strong>and</strong> consequences <strong>of</strong>noncooperative behavior• when is <strong>the</strong> cost <strong>of</strong> selfish behavior severe?–<strong>the</strong> “price <strong>of</strong> anarchy” [Koutsoupias/Papadimitriou 99]• what can we do about it?– design strategies, economic incentivesOur setting: routing in a congested network• will focus on [Roughgarden/Tardos FOCS ’00/JACM ’02]• <strong>and</strong> also [Roughgarden STOC ’02/JCSS to appear]4
Motivating ExampleExample: one unit <strong>of</strong> traffic wants to go froms to tl(x)=xdelay depends on congestionsl(x)=1tno congestion effectsQuestion: what will selfish network users do?• assume everyone wants smallest-possible delay5
Motivating ExampleClaim: all traffic will take <strong>the</strong> top link.l(x)=xFlow = 1-Єthis flowis envious!sl(x)=1tFlow = ЄReason:• Є > 0 ⇒ traffic on bottom is envious• Є = 0 ⇒ envy-free outcome– all traffic incurs one unit <strong>of</strong> delay6
Can We Do Better?Consider instead: traffic split equallyl(x)=xFlow = ½sImprovement:l(x)=1• half <strong>of</strong> traffic has delay 1 (same as before)• half <strong>of</strong> traffic has delay ½ (much improved!)tFlow = ½7
Braess’s ParadoxInitial Network:s½ ½x 1½ ½1xDelay = 1.5t8
Braess’s ParadoxInitial Network: Augmented Network:s½ ½x 1½ ½1xts½ ½x 1½0½1xtDelay = 1.5Now what?9
Braess’s ParadoxInitial Network: Augmented Network:s½ ½x 1½ ½1xtsx 101xtDelay = 1.5 Delay = 210
Braess’s ParadoxInitial Network: Augmented Network:s½ ½x 1½ ½1xtsx 101xtDelay = 1.5 Delay = 2All traffic incurs more delay! [Braess 68]• also has physical analogs [Cohen/Horowitz 91]11
The Ma<strong>the</strong>matical Model• a directed graph G = (V,E)• k source-destination pairs (s 1 ,t 1 ), …, (s k ,t k )• a rate r i <strong>of</strong> traffic from s i to t i• for each edge e, a latency function l e (•)– assumed continuous <strong>and</strong> nondecreasingExample: (k,r=1)l(x)=xFlow = ½s 1 t 1l(x)=1Flow = ½12
<strong>Routing</strong>s <strong>of</strong> TrafficTraffic <strong>and</strong> Flows:• f P = amount <strong>of</strong> traffic routed on s i -t i path P• flow vector f routing <strong>of</strong> trafficst<strong>Selfish</strong> routing: what flows arise as <strong>the</strong> routeschosen by many noncooperative agents?13
Nash FlowsSome assumptions:• agents small relative to network• want to minimize personal latencyDef: A flow is at Nash equilibrium (or is a Nash flow)if all flow is routed on min-latency paths[given current edge congestion]Example:sx1Flow = .5tFlow = .5sx1Flow = 1tFlow = 014
Some History• traffic model, definition <strong>of</strong> Nash flowsgiven by [Wardrop 52]– historically called user-optimal/user equilibrium• Nash flows exist, are (essentially) unique– due to [Beckmann et al. 56]• Nash flows also arise via distributedshortest-path protocols (e.g., OSPF, BGP)– as long as latency used for edge weights– convergence studied in [Tsitsiklis/Bertsekas 86]15
The Cost <strong>of</strong> a FlowDef: <strong>the</strong> cost C(f) <strong>of</strong> flow f = sum <strong>of</strong> alldelays incurred by traffic (aka total latency)sx1½½tCost = ½•½ +½•1 = ¾16
The Cost <strong>of</strong> a FlowDef: <strong>the</strong> cost C(f) <strong>of</strong> flow f = sum <strong>of</strong> alldelays incurred by traffic (aka total latency)sx1½½tCost = ½•½ +½•1 = ¾Formally: if l P (f) = sum <strong>of</strong> latencies <strong>of</strong> edges<strong>of</strong> P (w.r.t. <strong>the</strong> flow f), <strong>the</strong>n:stC(f) = Σ P f P • l P (f)17
Inefficiency <strong>of</strong> Nash FlowsNote: Nash flows do not minimize total latency• observed informally by [Pigou 1920]• lack <strong>of</strong> coordination leads to inefficiencysx1 ½01½t• Cost <strong>of</strong> Nash flow = 1•1 + 0•1 = 1• Cost <strong>of</strong> optimal (min-cost) flow = ½•½ +½•1 = ¾18
How Bad Is <strong>Selfish</strong> <strong>Routing</strong>?xPigou’s exampleis simple…s1 ½1t0½Central question: How inefficient are Nashflows in more realistic networks?Goal: prove that Nash flows are near-optimal• want laissez-faire approach to managing networks19
The Bad NewsBad Example:sx d1 1-Є01Є(r = 1, d large)tNash flow has cost 1, min cost ≈ 0⇒ Nash flow can cost arbitrarily more than<strong>the</strong> optimal (min-cost) flow– even if latency functions are polynomials20
Hardware Offsets <strong>Selfish</strong>nessApproach #1: use different type <strong>of</strong> guaranteeTheorem: [Roughgarden/Tardos 00] for everynetwork:Nash cost at rate r≤opt cost at rate 2r21
Hardware Offsets <strong>Selfish</strong>nessApproach #1: use different type <strong>of</strong> guaranteeTheorem: [Roughgarden/Tardos 00] for everynetwork:Nash cost at rate r≤opt cost at rate 2rAlso: M/M/1 fns (l(x)=1/(u-x), u = capacity) ⇒Nash w/capacities 2u≤opt w/capacities u22
Linear Latency FunctionsApproach #2: restrict class <strong>of</strong> allowablelatency functionsDef: linear latency fn is <strong>of</strong> form l e (x)=a e x+b eTheorem: [Roughgarden/Tardos 00] for everynetwork with linear latency fns:cost <strong>of</strong>Nash flow≤ 4/3 ×cost <strong>of</strong>opt flow23
Sources <strong>of</strong> InefficiencyCorollary <strong>of</strong> previous Theorem:• For linear latency fns, worst Nash/OPTratio is realized in a two-link network!sx1 ½01½t• Cost <strong>of</strong> Nash = 1• Cost <strong>of</strong> OPT = ¾• simple explanation for worst inefficiency– confronted w/two routes, selfish usersovercongest one <strong>of</strong> <strong>the</strong>m24
Simple Worst-Case NetworksTheorem: [Roughgarden 02] fix any class <strong>of</strong>latency fns, <strong>and</strong> <strong>the</strong> worst Nash/OPT ratiooccurs in a two-node, two-link network.• under mild assumptions (convexity, richness)• inefficiency <strong>of</strong> Nash flows always has simpleexplanation; simple networks are worst examples25
Simple Worst-Case NetworksTheorem: [Roughgarden 02] fix any class <strong>of</strong>latency fns, <strong>and</strong> <strong>the</strong> worst Nash/OPT ratiooccurs in a two-node, two-link network.• under mild assumptions (convexity, richness)• inefficiency <strong>of</strong> Nash flows always has simpleexplanation; simple networks are worst examplesPro<strong>of</strong> Idea: Nash flows solve a certainminimization problem• not quite total latency, but close• electrical current is physical analog26
Computing <strong>the</strong> <strong>Price</strong> <strong>of</strong><strong>Anarchy</strong>Application: worst-case examples simple ⇒worst-case ratio is easy to calculateExample: polynomials with degree ≤ d,nonnegative coeffs ⇒ price <strong>of</strong> anarchyΘ(d/log d)x ds1t27
Hardware Offsets <strong>Selfish</strong>nessTheorem: [Roughgarden/Tardos 00] for everynetwork:Nash cost at rate r≤opt cost at rate 2rCorollary: networks with M/M/1 delay fns ⇒Nash w/capacities 2u≤opt w/capacities u28
Key DifficultySuppose f a Nash flow, f * an opt flow at twice<strong>the</strong> rate. Want to show that C(f * ) ≥ C(f).Note: cost <strong>of</strong> f can be written asC(f) = Σ e f e • l e (f e )Similarly: C(f * ) = Σ e f * • l e (f * )Problem: what is <strong>the</strong> relation between l e (f e )<strong>and</strong> l e (f * )?eee29
Key TrickIdea: lower bound cost <strong>of</strong> f * using adifferent set <strong>of</strong> latency fns c such that:• easy to lower bound cost <strong>of</strong> f * w.r.t. latency fns c• cost <strong>of</strong> f * w.r.t. fns c ≈ cost <strong>of</strong> f * w.r.t. fns l30
Key TrickIdea: lower bound cost <strong>of</strong> f * using adifferent set <strong>of</strong> latency fns c such that:• easy to lower bound cost <strong>of</strong> f * w.r.t. latency fns c• cost <strong>of</strong> f * w.r.t. fns c ≈ cost <strong>of</strong> f * w.r.t. fns lThe construction:graph <strong>of</strong> lgraph <strong>of</strong> cl e (f e )0l e (f e )00 f e0 f e31
Lower Bounding OPTAssume for simplicity: only one commodity.• all traffic in Nash flow has same latency, say L• cost <strong>of</strong> Nash flow easy to compute: C(f) = rL32
Lower Bounding OPTAssume for simplicity: only one commodity.• all traffic in Nash flow has same latency, say L• cost <strong>of</strong> Nash flow easy to compute: C(f) = rLKey observation: latency <strong>of</strong> path P w.r.t.latency fns c with no congestion is l P (f)l e (f e )00 f epath latencyin Nash flow33
Lower Bounding OPTAssume for simplicity: only one commodity.• all traffic in Nash flow has same latency, say L• cost <strong>of</strong> Nash flow easy to compute: C(f) = rLKey observation: latency <strong>of</strong> path P w.r.t.latency fns c with no congestion is l P (f)l e (f e )00 f epath latencyin Nash flow⇒ cost <strong>of</strong> f * w.r.t. c is at least 2rL = 2C(f)34
Bounding <strong>the</strong> OverestimateSo far: cost <strong>of</strong> f * w.r.t. c is ≥ 2C(f).Claim: (will finish pro<strong>of</strong> <strong>of</strong> Thm)[cost <strong>of</strong> f * w.r.t. c] -C(f * ) ≤ C(f).35
Bounding <strong>the</strong> OverestimateSo far: cost <strong>of</strong> f * w.r.t. c is ≥ 2C(f).Claim: (will finish pro<strong>of</strong> <strong>of</strong> Thm)[cost <strong>of</strong> f * w.r.t. c] -C(f * ) ≤ C(f).Reason: difference in costs on edge e isl e (f e )0typical value <strong>of</strong>c e (f* e )f* e - l e (f* e )f*e0 f*e f e36
Bounding <strong>the</strong> OverestimateSo far: cost <strong>of</strong> f * w.r.t. c is ≥ 2C(f).Claim: (will finish pro<strong>of</strong> <strong>of</strong> Thm)[cost <strong>of</strong> f * w.r.t. c] -C(f * ) ≤ C(f).Reason: difference in costs on edge e isl e (f e )0typical value <strong>of</strong>c e (f* e )f* e - l e (f* e )f*e0 f*e f e⇒ c e (f* e )f * e - l e (f*e )f * ≤ l e e (f e )f esum over edgesto get Claim37
SummaryGoal: prove that loss in network performancedue to selfish routing is not too large.Problem: a Nash flow can costfar more than an optimal flow.Solutions:• compare Nash to opt flow with extra traffic• restrict class <strong>of</strong> allowable edge latencyfunctions, obtain bounded price <strong>of</strong> anarchysx d1 1-Є01Єt38
Coping with <strong>Selfish</strong>nessGoal: design/manage networks so thatselfish routing “not too bad”⇒ adds algorithmic dimensionApproach #1: Network design• want to avoid Braess’s ParadoxstResults: [Roughgarden FOCS ‘01]• Braess’s Paradox can be arbitrarily severe inlarger networks, hard to efficiently detect• also [Lin/Roughgarden/Tardos, in prep]39
Coping with <strong>Selfish</strong>nessApproach #2: Stackelberg routing• some traffic routed centrally, selfish users reactto congestion accordingly• [Roughgarden STOC ‘01]: Stackelberg routing c<strong>and</strong>ramatically improve over <strong>the</strong> Nash flowApproach #3: Edge pricing• use economic incentives (taxes) to influenceselfish behavior• [Cole/Dodis/Roughgarden EC ‘03 + STOC ‘03]:explore this idea for selfish routing40
Future Research• Explore o<strong>the</strong>r game-<strong>the</strong>oretic environmentsusing an approximation framework– [Czumaj/Krysta/Voecking STOC ‘02], [Vetta FOCS ‘02], etc.• Approximation algorithms for network design– also interesting without game-<strong>the</strong>oretic constraints– [Kumar/Gupta/Roughgarden FOCS ‘02]– [Gupta/Kumar/Roughgarden STOC ‘03]• Algorithms for key game-<strong>the</strong>oretic concepts– Nash/market equilibria (e.g., [Devanur et al FOCS ‘02])41
ExtensionsFact: positive results continue to hold for:• approximate Nash flows [RT00]– users route on approximately min-latency paths• finitely many agents, splittable flow [RT00]– weakens assumption that agents are small• “nonatomic congestion games”, gameswithout combinatorial structure <strong>of</strong> anetwork [RT02]42