A Network Pricing Game for Selfish Traffic Written by Éva Tardos, Ara Hayapetyan and Tom Wexler...

Preview:

Citation preview

A Network Pricing Game for Selfish Traffic

Written by Éva Tardos, Ara Hayapetyan and Tom Wexler

Presented by Hila Pochter

Credit to Tom Wexler for providing some of the slides

Overview

Introduce the game Prove the existence of a Nash equilibrium Bound the price of anarchy Questions

Overview

Introduce the game Prove the existence of a Nash equilibrium Bound the price of anarchy Questions

The “Tragedy of the Commons”

moo

Common PastureCommon PastureCommon PastureCommon Pasture

Introduction

We want to study about the internet The internet is built and controlled by a large

number of service providers who seek to maximize their own profit by charging users for using their services

The users want to optimize over the price and quality of service

And all of them are selfish!!!

Our model

A network containing 2 nodes : s and t with k parallel links. Each link i is controlled by a distinct player which charges a price pi for using his link .

s t

Price listPrice list

10$ 8$

2$ 6$

1p

2p 4p

3p

Latency

Link i has a latency (delay) function li(x) , indicating the delay experienced by a volume of x traffic using i.

We will focus on strictly increasing linear latency function, i.e. li(x)=aix+bi where ai>0 and bi≥0

Disutility User experience in routing flow through link i

depends on the sum of the price and latency. We will call it the disutility.

If player i charges pi and fi volume of flow uses link i, then the flow experiences the disutility of pi+li(fi)

The traffic is selfish so it will not routealong one link if it can switch to another one an incur a lower disutility=> all traffic will experience the same

disutility

Disutility Curve

u(x) which we call the disutility curve measures the disutility that will be tolerated by a volume of x flow.

By definition u(x) is decreasing and concave. For ease of exposition we will assume that it is strictly decreasing.

Our Model-Properties

A price vector p induces a flow vector f satisfying the following properties: For any i,j if fi>0 then li(fi)+pi≤ lj(fj)+pj

If fi>0 the li(fi)+pi=u(Σjfj)

And in English: No traffic can decrease its disutility by rerouting The disutility experienced by any traffic must match

the disutility that is tolerated by the total flow.

The Player Profit

Each player i selects a price pi for his link. These prices, together with the latencies and the demand curve, induce a unique flow fi on each link. Players seek to maximize their profit πi=pi·fi.

One Player Example 1 link, disutility curve u(x) and latency ℓ1(x).

Player sets a price p1.

Disutility = ℓ1(x) + p1.

Flow f1 piles on link untildisutility matches u(x).

Player gathers profit 1

from traffic.

s t

ℓ1(x) + p1

volume

dis

uti

lity

u(x)

ℓ1(x)

p1

p11

f1

Our Model-continue

We can think of this game as a 2 stage game.The edge players set prices pi on the edgesThe traffic routes itself selfishly from the

source to the sink, where the rate of flow is dictated by the disutility curve.

The flows that would be produced in the second stage are unique, so we will focus on the first stage assuming that the players will anticipate the flow resulting from their chosen prices.

An instance of the network pricing game with 2 players

We know that:

1. d=p1+l1(f1)

=p2+l2(f2)

2. d=u(f1+f2)In order to know the flow we should solve

those equations

1+f1=2+2f2+1 => f1=2f2+2

3+2f2=9-(f1+f2)2

p2=2{l2(x)=2x+

1}

p1=1{l1(x)=

x}

u(x)=9-x2

volumedis

uti

lity

An instance of the network pricing game with 2 players-continue We will solve the equation and get the

solution :f1=2.26

f2=0.13

d=f1+1=3.26u(x)=9-

x2

dp1 p2

volume

dis

uti

lity

Measuring Social Welfare

We could just use i i... ... but this ignores users!

User surplus is the extra utility of routed traffic.

We take social cost to beplayer profit + user surplus.

U(p) = Σiπi+0∫F (u(x)-d)dx

12

volume

dis

uti

lity

Let's Play!

What will happen if we will change a player’s price?

Example- Player i decides to increase his price

pi

li(x)

fi

u(x)

dpi

li(x)

fi

u(x)d

pi’

fi’

d

volumevolumedis

uti

lity

dis

uti

lity

BeforeAfter

Example- Player i decides to decrease his price

pi

li(x)

fi

u(x)

d

pi

li(x)

fi

u(x)d

pi’

fi’

d

volumevolumedis

uti

lity

dis

uti

lity

Before After

Lemma Let p1, . . . , pk be a price vector with associated flow vector

f1, . . , fk. Assume that the first player increases her price to p1‘> p1 while the others keep their prices unchanged. Denote the new flow vector by f1’, . . . , fk’. If f1 > 0, then,

1. f1’ < f1,

2. fi‘≥ fi, for all i ≠1.

3. F’≤ F, where F = Σi fi and F’= Σi fi’

The symmetric claim holds if player 1 reduces her price.

Proof Of Part 1- f1’ < f1

By contradiction: suppose f1’≥f1

p1’>p1 =>the disutility must strictly increase to d’

fi>0, i≠1. li(fi) + pi < d’ =>fi’>fi

But this implies that both the disutility and total flow have increased, which is a contradiction.

F

u(x) is strictly decreasing so if F increases u(x) must decrease!!!

u(x)d

volume

dis

uti

lity

d=p1+l(f1)

Proof Of Part 2- fi‘≥ fi, for all i ≠1 In contradiction: suppose fi’<fi ,i ≠1. Since pi is unchanged and latencies

are strictly increasing, the disutility must strictly decrease. All links i ≠1 that carried flow must now carry less flow. f1’<f1 & fi’<fi =>F’<F But then both the disutility and the total flow have

decreased, which is a contradiction.

u(x) is strictly decreasing so if it decreases, F must increase!

pi

li(x)

fi

u(x)

d

volume

dis

uti

lity

Proof Of Part 3 - F’≤ F

We proved that

fi‘≥ fi, for all i ≠1. The disutility can only increase ( because flow

might been added without a change in the price) Thus the total volume of flow can only decrease.

F

u(x) is strictly decreasing so u(x) increase it mean that the total flow decreased

u(x)d

volume

dis

uti

lity

So What Have we proved?

We have just proved that for each i ,fi(p) is a non increasing function.

When the link price increases we get less flow.

When the link price decreases we get more flow.

Overview

Introduce the game Prove the existence of a Nash equilibrium Bound the price of anarchy Questions

Existence of Pure Nash Equilibrium-Definitions We say that a set of prices p is at Nash

equilibrium if, by changing a single price pi to pi’, the resulting flow f’ does not give player i a larger profit (πi’=pi’ fi’)

We say that a player is content if she has no incentive to deviate from her current price.

The Best Response Function

Let’s define the best response function

β: Rk→ Rk. This function maps a price vector p to another

price vector p’, such that pi’ maximizes player i’s profit assuming all other players price as in p.

We define player i’s best response to be pi = 0 if there is no price at which i can derive a positive profit.

Existence of Pure Nash Equilibrium-proof sketch we will prove that β(p) is well defined and

continuous. Since there is a maximum price P such that any

player charging above P gathers no profit (for example u(0)) , we can restrict our attention on β(·) to the convex and compact region [0, P]k.

Thus we can apply Brouwer’s fixed point theorem to finish the proof.

Brouwer’s fixed point theorem

Let f: S →S be a continuous function from a non-empty, compact, convex set into itself, then there is a such that (i.e. x* is a fixed point of function f ).

If we prove that we can use this theorem on β(p), we will prove that between 0 and P there is a fixed point of function β(p), which means a Nash Equilibrium!!!

nRS Sx *

)( ** xfx

What do we need to do?

Step 1: Prove that β(p) is well defined ( a player’s best response is unique).

Step 2: Prove that β(p) is continuous

Proof that β(p) is well defined

Suppose in contradiction that the best response for player i is not unique – p’i>p’’i

According to the first lemma f’i<f’’i and F’<F’’. Let v’ and v’’ the right and left slope of u(.) at F’

and F’’. By concavity of u(.), v’≥v’’

u(x)

volume

dis

uti

lity

F’’F’

v’v’’

Proof that β(p) is well defined-continue Lemma- Define v− and v+ respectively as the

left and right derivatives (slopes) of the disutility curve at F. We will assume that v− and v+ are both well defined (note that they are both negative). If player i is content, then the following two conditions must hold:

ij j

ii

i

vaa

f

p1)

11)((

ij ji

i

i

vaa

f

p1)

11)((

Proof that β(p) is well defined-continue Since p’i and p’’i are best responses for

player i we can apply the lemma:

a contradiction!

ij j

ii

i

ij ji

i

i

vaa

f

p

vaa

f

p1)

''

11)(

''

''()

'

11)(

'

'(1

Remember that 1. p’i>p’’i 2. f’i<f’’I

3. v’≥v’’

Proof that β(p) is continuous

We will prove that fi(pi) (the amount of flow routed through link i as a function of pi, assuming all other prices in p are fixed) is continuous for any i.

Then it is easy to see that πi is continuous function of pi (πi =pif(pi))

The continuity of β is a direct consequence of the continuity of π(.)

proof that fi(pi) is continuous for any p

In contradiction:

p

f

fi(p)

pi

li(x)

fi

u(x)

d

pi volumedis

uti

lity

Δ

fi(pi+ε)<fi(pi)- Δ li(fi(pi)- Δ)=l(fi(pi))-L Choose ε<L d’ <l(fi(pi))-L+pi+ ε < d

Overview

Introduce the game Prove the existence of a Nash equilibrium Bound the price of anarchy Questions

Price of Anarchy

Let’s define the price of anarchy of this game. If p is the set of prices that maximizes the social utility, then the price of anarchy is the maximum possible ratio of

where the prices p range over the possible equilibrium prices and p* is the set of prices that maximizes social utility.

)(

)( *

pU

pUMaxp

Reminder

The definition of the social utility in this game is

U(p) = Σiπi+0∫F (u(x)-d)dx

Bound the price of anarchy

In the article the price of anarchy is bound by 5.064, which means that the social utility of the optimal solution is at most 5.064 the social utility achieved by any Nash equilibrium.

In order to do that they define a new disutility function that doesn’t decrease the price of anarchy.

Lemma

Define a new disutility curve:

Then prices p are also Nash equilibrium given this truncated demand curve , and the price of anarchy of this instance has not decreased

otherwisexu

Fxifdxw

)()(

Proof that the NE stays NE with w(x) No player has an incentive to decrease his

price since it would increase the total flow and thus yield a flow vector that was achievable under u(x).

No player has an incentive to increase his price since the potential gain of such a move is smaller that it was with u(x).

otherwisexu

Fxifdxw

)()(

Proof that PoAtrunc ≥PoA Define p* and p the prices of the optimum and

the Nash equilibrium who maximized PoA.

Define x= 0∫F(u(x)-d)dx while F and d are the

ones from the Nash equilibrium with the original disutility function. x is the traffic utility.

Then

trunctrunc

trunc PoANASHU

OPTU

xpU

xpU

pU

pUPoA

)(

)(

)(

*)(

)(

*)(

truncPoAPoAThis is the social utility with w(x)

Bound the price of anarchy-continue With the new disutility function the equilibrium

doesn’t have traffic utility. Now, in the modified game they bound the social utility of the optimal solution solely against the player profit in the Nash Equilibrium

otherwisexu

Fxifdxw

)()(

u(x)d

F

w(x)

volume

dis

uti

lity

Steep and Shallow Players

Lets partition the players to 2 groups according to the slope of their latencies.

Steep player

Shallow player

i

ii f

pa

2

i

ii f

pa

2 i

i

Bound the price of anarchy-continue Claim : There can be at most 1 shallow

player Proof: suppose i is a shallow player.

we know that

So

ij j

ii

i

ij ji

i

vaa

f

p

af

p1)

11)((

1)

2(

i

i

f

p

2

ii

ij a

f

paij

2

i

ii f

pa

2Steep

shallowi

ii f

pa

2

To bound a steep players profit, ignore other players.

These lines bound what OPT

can gather from player i.

Player i can get any taller box.

Therefore, i at NE must gather nearly optimal profit.

i

Dealing with Steep Players

Bound the price of anarchy for Steep Player Claim: if the player is steep the optimal value

is bounded by 1.125. Proof: Lets j be a steep player.

Lets find the flow that maximize πj =pjfj

since pj=(d-ajf-bj) then πj (f) =(d-ajf-bj)fj

so πj (f)’=(d-bj)-2ajf . We get:

j

j

a

bdf

2

)(*

u(x)d

F volume

dis

uti

lity

w(x)

Bound the price of anarchy for Steep Player -continue From that we get Since we get the maximum profit if We can see now that we get

In the same way you get

So the optimal social cost for a steep player is at most 1.25 the social cost in the Nash equilibrium

j

j

a

bd

4

)(*

2

j

jj f

pa

2

j

jj f

pa

2

jjj

jjjjj

j

j ffp

bpbfa

a

bdf

2

3

2*

jpp4

3*

Bound the price of anarchy -continue In the article they consider 2 cases regarding the

shallow player latency. In both cases they show that the contribution of the shallow player to the optimal solution can be bounded by at most 4 times the sum of the profit in a Nash Equilibrium

By summing over the contribution of the steep and shallow players we see that the total price of anarchy is bounded by 5.125.

By Optimizing they get PoA of 5.064.

Extensions Price of Anarchy bound needs convexity, not

linearity. NE does need the linearity.

If latencies are convex & pure NE exist, PoA ≤ 4.65.

If ℓi(0) = 0 for all players i, PoA ≤ 3.125.

[Acemoglu & Ozdaglar ’05] If ℓi(0) = 0 for all players i, and disutility curve is

a box, PoA ≤ 1.2.

Lower Bound the Price Of AnarchyLook at a one player game with disutility curve

And l(x)=0.

The maximal profit will be obtained by charging a price of 1 gaining a social utility of 1.

The optimal solution can gather a social value of 1.5 by charging 0.

212

101)(

xx

xxu

1 2

u(x)1

Π=f*p=(2-p)*pΠ’=2p-p2

therefore p=1 give maximum profit

volume

dis

uti

lity

NEOPT

The lower bound

is1.5!!!

Thank You for your attention!

Any questions?

Lets look at the 2 player game:

Assume in contradiction that we have a Nash equilibrium with disutility d.

but player 1 could get a profit of 2/3 by charging 1

but then player 1 will charge d-ε and all the flow will go through its link and get a heigher profit- no Nash

A network Pricing Game with concave latency with no Pure Nash

otherwise

xxu

0

101)(

otherwise

xxl

xl

103

1)(

0)(

2

1

3

1

3

11 d

3

2,

3

1

3

1112

ddpdpd

Bounding the Shallow Player Case 1: Steep players gathering very little profit.

The shallow player could undercut and gather more.

Now, shallow player gathers nearly the max possible.

volume

dis

uti

lity

1

Bounding the Shallow Player Case 2: Steep players gather a lot of profit.

Player 1 can’t gather much more than the steep players: charge against them!

volume

dis

uti

lity

1

Bounding the Shallow Player Typically, we have a combination of case 1 and 2.

Can still bound what player 1 could gather in OPT against all players in NE.

volume

dis

uti

lity

1

U(p*)-x ≤U(OPTtrunc)

volume

dis

uti

lity

dx

The maximal part any price vector can lose in social utility by changing the disutility function to w(x) is x!!!