1 / 48

# routing games - PowerPoint PPT Presentation

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)

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'routing games' - daniel_millan

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Routing Games

ECON 425/563 & CPSC 455/555

9/30/2008

• Directed graph G=(V,E)

• Directed graph G=(V,E)

• Cost functions ce (increasing)

0

3x2

x+4

1

x(x+1)

• Directed graph G=(V,E)

• Cost functions ce (increasing)

• Commodities (si,ti)

0

3x2

s

x+4

t

1

x(x+1)

• 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

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

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) = iPPicP(f) · f(P)

0

3x2

s

x+4

t

1

x

1/3

r = 1

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

Theorem: Let f * = minf c( f ). If ce(x)·x is convex, DxcP(x)·xx=fP* DxcP’(x)·xx=fP’*for all P,P’ Pi, fP*> 0.

Theorem: Let f * = minf c( f ). If ce(x)·x is convex, DxcP(x)·xx=fP* DxcP’(x)·xx=fP’*for all P,P’ Pi, fP*> 0.

Example:

cP(x) = 1DxcP(x)·x = 1DxcP(x)·xx=1/2= 1

1

P

1/2

s

t

1/2

cP’(x) = xDxcP’(x)·x = 2xDxcP’(x)·xx=1/2= 1

P’

x

r = 1

• 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*)

1

s

t

x

r = 1

1

• Equilibrium outcome: c( f ) = 1

s

t

x

r = 1

1

1

• Equilibrium outcome: c( f ) = 1

• Optimal outcome: c( f*) = 3/4

1/2

s

t

1/2

x

r = 1

1

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

1

x

t

s

x

1

r = 1

1/2

1

x

t

s

x

1

r = 1

1/2

c( f ) = 3/2

1/2

1

x

t

s

x

1

r = 1

1/2

c( f ) = 3/2

1/2

1

x

t

s

x

1

r = 1

1/2

c( f ) = 3/2

c( f ) = 2

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.

1

r = 1

s

t

1

x

c( f ) = 1

1

1

r = 1

r’ = 2

3/2

s

t

s

t

1

1/2

x

x

c( f) = 1

c( f*) = 7/4

1

1

r = 1

r’ = 2

3/2

s

t

s

t

1

1/2

x

x



c( f) = 1

c( f*) = 7/4

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*)

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

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

Theorem 1a: Let f (f *) route r (2r). c(f)  c( f*)

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

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

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

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

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

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 )

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 PPic’P( fP*) fP*  i PPicP( fP) fP* = i 2ridi= 2 c( f )

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 PPic’P( fP*) fP*  i PPicP( fP) fP* = i 2ridi= 2 c( f )

3. c( f*)  c’( f*) - c( f ) (1)  2 c( f ) - c( f ) (2) = c( f )

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.

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

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

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

Theorem (Pigou bound): Let C be a nonempty set of cost functions. The price of anarchy is at most the Pigou bound:(C) = supcC supy,z0

z  c(z)

y  c(y) + (z-y)c(z)

Theorem (Pigou bound): Let C be a nonempty set of cost functions. The price of anarchy is at most the Pigou bound:(C) = supcC supy,z0

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) = supcC supy,z0

Price of AnarchyLinear functions

z  c(z)

y  c(y) + (z-y)c(z)

(C) = supcC supy,z0

Let c(x) = ax+b

Price of AnarchyLinear functions

z  c(z)

y  c(y) + (z-y)c(z)

(C) = supcC supy,z0

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) = supcC supy,z0

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) = supcC supy,z0

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

• Design good networks