480 likes | 766 Views
Routing Games. ECON 425/563 & CPSC 455/555 9/30/2008. Nonatomic Selfish Routing. Directed graph G=(V,E). Nonatomic Selfish Routing. Directed graph G=(V,E) Cost functions c e (increasing). 0. 3x 2. x+4. 1. x(x+1). Nonatomic Selfish Routing. Directed graph G=(V,E)
E N D
Routing Games ECON 425/563 & CPSC 455/555 9/30/2008
Nonatomic Selfish Routing • Directed graph G=(V,E)
Nonatomic Selfish Routing • Directed graph G=(V,E) • Cost functions ce (increasing) 0 3x2 x+4 1 x(x+1)
Nonatomic Selfish Routing • Directed graph G=(V,E) • Cost functions ce (increasing) • Commodities (si,ti) 0 3x2 s x+4 t 1 x(x+1)
Nonatomic Selfish Routing • Directed graph G=(V,E) • Cost functions ce (increasing) • Commodities (si,ti) • Traffic ri 0 3x2 s x+4 t 1 x(x+1) r = 1
Nonatomic Selfish Routing 2/3 • Directed graph G=(V,E) • Cost functions ce (increasing) • Commodities (si,ti) • Traffic ri • Flow f: iPi R+where Piis all (si,ti) paths • Feasible if all traffic is routed • Equilibrium if cP(f) cP’(f) for all P,P’Pi, where P has positive flow 0 3x2 s x+4 t 1 x 1/3 r = 1
Nonatomic Selfish Routing 2/3 • Directed graph G=(V,E) • Cost functions ce(increasing) • Commodities (si,ti) • Traffic ri • Flow f: iPi R+where Piis all (si,ti) paths • Feasible if all traffic is routed • Equilibrium if cP(f) cP’(f) for all si-ti paths P,P’ with positive flow • Social cost: c(f) = iPPicP(f) · f(P) 0 3x2 s x+4 t 1 x 1/3 r = 1
Nonatomic Selfish Routing 2/3 0 3x2 • Models • Network traffic (latency) • Physical traffic • Other? s x+4 t 1 x r = 1 1/3 • Weaknesses • Source routing • Atomicity • Mixed strategies
Routing Optima Theorem: Let f * = minf c( f ). If ce(x)·x is convex, DxcP(x)·xx=fP* DxcP’(x)·xx=fP’*for all P,P’ Pi, fP*> 0.
Routing Optima Theorem: Let f * = minf c( f ). If ce(x)·x is convex, DxcP(x)·xx=fP* DxcP’(x)·xx=fP’*for all P,P’ Pi, fP*> 0. Example: cP(x) = 1DxcP(x)·x = 1DxcP(x)·xx=1/2= 1 1 P 1/2 s t 1/2 cP’(x) = xDxcP’(x)·x = 2xDxcP’(x)·xx=1/2= 1 P’ x r = 1
Price of Anarchy • Equilibria do not in general optimize social welfare • Prisoner’s Dilemma • Tragedy of the Commons • How bad can equilibria outcome be? Let f * be the optimal flow. Let f be highest-cost equilibrium. Let measure the “price of anarchy.” = c( f ) / c( f*)
Pigou’s Example 1 s t x r = 1
Pigou’s Example 1 • Equilibrium outcome: c( f ) = 1 s t x r = 1 1
Pigou’s Example 1 • Equilibrium outcome: c( f ) = 1 • Optimal outcome: c( f*) = 3/4 1/2 s t 1/2 x r = 1 1
Pigou’s Example 1 • Equilibrium outcome: c( f ) = 1 • Optimal outcome: c( f*) = 3/4 • Price of anarchy: = 4/3 1/2 s t 1/2 x r = 1 1
Braess’s Paradox 1 x t s x 1 r = 1
Braess’s Paradox 1/2 1 x t s x 1 r = 1 1/2 c( f ) = 3/2
Braess’s Paradox 1/2 1 x t s x 1 r = 1 1/2 c( f ) = 3/2
Braess’s Paradox 1/2 1 x t s x 1 r = 1 1/2 c( f ) = 3/2 c( f ) = 2
Braess’s Paradox 1/2 1 x t s x 1 r = 1 1/2 c( f ) = 3/2 c( f ) = 2 Adding edges can make equilibria worse.
Capacity Augmentation 1 r = 1 s t 1 x c( f ) = 1
Capacity Augmentation 1 1 r = 1 r’ = 2 3/2 s t s t 1 1/2 x x c( f) = 1 c( f*) = 7/4
Capacity Augmentation 1 1 r = 1 r’ = 2 3/2 s t s t 1 1/2 x x c( f) = 1 c( f*) = 7/4
Capacity Augmentation 1 1 r = 1 r’ = 2 3/2 s t s t 1 1/2 x x c( f ) = 1 c( f*) = 7/4 Theorem 1a: Let f (f *) route r (2r). c(f) c( f*)
Capacity Augmentation 1 1 r = 1 r’ = 2 3/2 s t s t 1 1/2 x x c( f) = 1 c( f*) = 7/4 Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Theorem 1b: Let c’(f) = c(f/2)/2. c’( f ) c( f *)
Capacity Augmentation 1 1 r = 1 r’ = 2 3/2 s t s t 1 1/2 x x c( f) = 1 c( f*) = 7/4 Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Theorem 1b: Let c’(f) = c(f/2)/2. c’( f ) c( f *) 1/2 1 r = 1 r’ = 1 1/2 s t s t 1 1/2 x/4 x c’( f) = 1/4 c( f*) = 3/4
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*)
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise ce c’e cost cost ce( fe) ce( fe) fe traffic fe traffic
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ce c’e cost cost ce( fe) ce( fe) fe traffic fe traffic
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ce c’e cost cost ce( fe) ce( fe) fe traffic fe traffic
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ce c’e cost cost ce( fe) ce( fe) ce( fe) fe fe traffic fe traffic
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ece( fe) fe = c( f ) ce c’e cost cost ce( fe) ce( fe) ce( fe) fe fe traffic fe traffic
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ece( fe) fe = c( f )
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ece( fe) fe = c( f ) 2. Let di be the (equal) path costs for commodity i. c’( f *) = i PPic’P( fP*) fP* i PPicP( fP) fP* = i 2ridi= 2 c( f )
Capacity Augmentation Theorem 1a: Let f (f *) route r (2r). c(f) c( f*) Proof: 1. Let ce’(x) = ce(fe) if x fe ce(x) otherwise c’( f*) – c( f *) ece( fe) fe = c( f ) 2. Let di be the (equal) path costs for commodity i. c’( f *) = i PPic’P( fP*) fP* i PPicP( fP) fP* = i 2ridi= 2 c( f ) 3. c( f*) c’( f*) - c( f ) (1) 2 c( f ) - c( f ) (2) = c( f )
Existence and Uniqueness of Equilibria Theorem: For every nonatomic, selfish-routing instance: a. There is at least one equilibrium flow f. b. For equilibrium flows f, f’, ce(fe) = ce(fe’) for all edges e.
Existence and Uniqueness of Equilibria Theorem: For every nonatomic, selfish-routing instance: a. There is at least one equilibrium flow f. b. For equilibrium flows f, f’, ce(fe) = ce(fe’) for all edges e. 1 r = 1 s t 1 x
Existence and Uniqueness of Equilibria Theorem: For every nonatomic, selfish-routing instance: a. There is at least one equilibrium flow f. b. For equilibrium flows f, f’, ce(fe) = ce(fe’) for all edges e. 1 r = 1 • Proof: • Let he(x) = 0xce(y) dy.Let (f) = ehe(fe). s t 1 x
Existence and Uniqueness of Equilibria Theorem: For every nonatomic, selfish-routing instance: a. There is at least one equilibrium flow f. b. For equilibrium flows f, f’, ce(fe) = ce(fe’) for all edges e. 1 r = 1 • Proof: • Let he(x) = 0xce(y) dy.Let (f) = ehe(fe). • Observe that he(x) is convex and Dxhe(x) =ce(x). As with optima, is minimized when ce(fe) ce’(fe’), if fe>0. These conditions are exactly the equilibrium conditions. s t 1 x
Price of Anarchy Theorem (Pigou bound): Let C be a nonempty set of cost functions. The price of anarchy is at most the Pigou bound:(C) = supcC supy,z0 z c(z) y c(y) + (z-y)c(z)
Price of Anarchy Theorem (Pigou bound): Let C be a nonempty set of cost functions. The price of anarchy is at most the Pigou bound:(C) = supcC supy,z0 z c(z) y c(y) + (z-y)c(z) 1 1 r = 1 r = 1 z-y s t s t z y x x
Price of AnarchyLinear functions z c(z) y c(y) + (z-y)c(z) (C) = supcC supy,z0
Price of AnarchyLinear functions z c(z) y c(y) + (z-y)c(z) (C) = supcC supy,z0 Let c(x) = ax+b
Price of AnarchyLinear functions z c(z) y c(y) + (z-y)c(z) (C) = supcC supy,z0 Let c(x) = ax+b z (az+b) f(y) = y (ay+b) + (z-y)(az+b)
Price of AnarchyLinear functions z c(z) y c(y) + (z-y)c(z) (C) = supcC supy,z0 Let c(x) = ax+b z (az+b) f(y) = y (ay+b) + (z-y)(az+b) -z (az+b)(2ay-ab) f’(y) = = 0 y=z/2 (y (ay+b) + (z-y)(az+b))2
Price of AnarchyLinear functions z c(z) y c(y) + (z-y)c(z) (C) = supcC supy,z0 Let c(x) = ax+b z (az+b) f(y) = y (ay+b) + (z-y)(az+b) -z (az+b)(2ay-ab) f’(y) = = 0 y=z/2 (y (ay+b) + (z-y)(az+b))2 4az+b 4/3 f(z/2) = 3az+4b
Other questions • Design good networks • Detect Braess’s paradox • Design mechanism to achieve social optimum • Confluent flows