A network pricing game for selfish traffic
Download
1 / 58

A Network Pricing Game for Selfish Traffic - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

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.

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

PowerPoint Slideshow about 'A Network Pricing Game for Selfish Traffic' - chandler


An Image/Link below is provided (as is) to download presentation

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
A network pricing game for selfish traffic

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
Overview

  • Introduce the game

  • Prove the existence of a Nash equilibrium

  • Bound the price of anarchy

  • Questions


Overview1
Overview

  • Introduce the game

  • Prove the existence of a Nash equilibrium

  • Bound the price of anarchy

  • Questions


The tragedy of the commons

moo

The “Tragedy of the Commons”

Common Pasture

Common Pasture

Common Pasture

Common Pasture


Introduction
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
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.

Price list

10$ 8$

2$ 6$

s

t


Latency
Latency

  • Link i has alatency (delay) functionli(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
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 route

    along one link if it can switch to

    another one an incur a lower disutility

    => all traffic will experience the same

    disutility


Disutility curve
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
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
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
One Player Example

s

t

  • 1 link, disutility curve u(x) and latency ℓ1(x).

  • Player sets a price p1.

  • Disutility = ℓ1(x) + p1.

  • Flow f1 piles on link until

    disutility matches u(x).

  • Player gathers profit p1

    from traffic.

ℓ1(x) + p1

u(x)

disutility

p1

ℓ1(x)

p1

p1

f1

volume


Our model continue
Our Model-continue

  • We can think of this game as a 2 stage game.

    • The edge players set prices pi on the edges

    • The 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
An instance of the network pricing game with 2 players

p1=1

{l1(x)=x}

p2=2

{l2(x)=2x+1}

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

u(x)=9-x2

disutility

volume


An instance of the network pricing game with 2 players continue
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.26

disutility

u(x)=9-x2

d

p1

p2

volume


Measuring social welfare
Measuring Social Welfare players-continue

We could just useSipi...

... but this ignores users!

User surplus is the extra

utility of routed traffic.

We take social cost to be

player profit + user surplus.

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

p1

p2

disutility

volume


Let s play
Let's Play! players-continue

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


Example player i decides to increase his price

u(x) players-continue

d

pi

li(x)

fi

Example- Player i decides to increase his price

After

Before

disutility

disutility

d

u(x)

d

pi’

pi

li(x)

fi’

fi

volume

volume


Example player i decides to decrease his price
Example- Player players-continuei decides to decrease his price

Before

After

u(x)

disutility

disutility

d

d

u(x)

d

pi

pi’

pi

li(x)

li(x)

fi’

fi

volume

volume

fi


Lemma
Lemma players-continue

  • 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 f 1 f 1

disutility players-continue

u(x)

d

volume

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.

d=p1+l(f1)

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

F


Proof of part 2 f i f i for all i 1

u(x) players-continue

d

pi

disutility

li(x)

fi

volume

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!


Proof of part 3 f f

u(x) players-continue

disutility

d

volume

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.

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

F


So what have we proved
So What Have we proved? players-continue

  • 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.


Overview2
Overview players-continue

  • Introduce the game

  • Prove the existence of a Nash equilibrium

  • Bound the price of anarchy

  • Questions


Existence of pure nash equilibrium definitions
Existence of Pure Nash Equilibrium-Definitions players-continue

  • We say that a set of prices p is at Nash equilibriumif, by changing a single price pito pi’, the resulting flow f’ does not give player i a larger profit (πi’=pi’ fi’)

  • We say that a player is contentif she has no incentive to deviatefrom her current price.


The best response function
The Best Response Function players-continue

  • 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
Existence of Pure Nash Equilibrium-proof sketch players-continue

  • 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
Brouwer’s fixed point theorem players-continue

  • 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!!!


What do we need to do
What do we need to do? players-continue

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
Proof that players-continueβ(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 lemmaf’i<f’’i andF’<F’’.

  • Let v’ and v’’ the right and left slope of u(.) at F’ and F’’. By concavity of u(.), v’≥v’’

u(x)

v’

disutility

v’’

F’

F’’

volume


Proof that p is well defined continue
Proof that players-continueβ(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:


Proof that p is well defined continue1
Proof that players-continueβ(p) is well defined-continue

  • Since p’iand p’’iare best responses for player i we can apply the lemma:

    a contradiction!

Remember that

p’i>p’’i

f’i<f’’I

v’≥v’’


Proof that p is continuous
Proof that players-continueβ(p) is continuous

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

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

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


Proof that f i p i is continuous for any p

u(x) players-continue

d

pi

li(x)

fi

proof that fi(pi)is continuous for any p

fi(pi+ε)<fi(pi)- Δ

li(fi(pi)- Δ)=l(fi(pi))-L

Choose ε<L

d’ <l(fi(pi))-L+pi+ ε< d

  • In contradiction:

fi(p)

disutility

f

Δ

p

pi

volume


Overview3
Overview players-continue

  • Introduce the game

  • Prove the existence of a Nash equilibrium

  • Bound the price of anarchy

  • Questions


Price of anarchy
Price of Anarchy players-continue

  • 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 anarchyis 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.


Reminder
Reminder players-continue

  • 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
Bound the price of anarchy players-continue

  • 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.


Lemma1
Lemma players-continue

  • 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


Proof that the ne stays ne with w x
Proof that the NE stays NE with w(x) players-continue

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


Proof that poa trunc poa
Proof that PoA players-continuetrunc ≥PoA

  • Define p* and p the prices of the optimum and the Nash equilibriumwho 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

This is the social utility with w(x)


Bound the price of anarchy continue

u(x) players-continue

d

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

disutility

w(x)

volume

F


Steep and shallow players

p players-continuei

pi

Steep and Shallow Players

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

  • Steep player

  • Shallow player


Bound the price of anarchy continue1
Bound the price of anarchy-continue players-continue

  • Claim : There can be at most 1 shallow player

  • Proof: suppose i is a shallow player. we know that

    So

Steep

shallow


Dealing with steep players
Dealing with Steep Players players-continue

  • To bound a steep players profit, ignore other players.

  • These lines bound whatOPT

    can gather from player i.

    Player i can get any taller box.

    Therefore, i at NE must gather nearly optimal profit.

pi


Bound the price of anarchy for steep player

u(x) players-continue

d

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:

disutility

w(x)

volume

F


Bound the price of anarchy for steep player continue
Bound the price of anarchy for Steep Player -continue players-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


Bound the price of anarchy continue2
Bound the price of anarchy -continue players-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
Extensions players-continue

  • 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 anarchy

u(x) players-continue

1

1

2

Lower Bound the Price Of Anarchy

Look 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.

disutility

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

Π’=2p-p2

therefore

p=1 give maximum profit

NE

OPT

volume


A network pricing game for selfish traffic

The lower players-continue

bound

is

1.5!!!


A network pricing game for selfish traffic

Thank You for your attention! players-continue

Any questions?


A network pricing game with concave latency with no pure nash
A network Pricing Game with concave latency with no Pure Nash

  • 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


Bounding the shallow player
Bounding the Shallow Player Nash

  • Case 1: Steep players gathering very little profit.

  • The shallow player could undercut and gather more.

    Now, shallow player gathers nearly the max possible.

p1

disutility

volume


Bounding the shallow player1
Bounding the Shallow Player Nash

  • Case 2: Steep players gather a lot of profit.

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

p1

disutility

volume


Bounding the shallow player2
Bounding the Shallow Player Nash

  • Typically, we have a combination of case 1 and 2.

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

p1

disutility

volume


U p x u opt trunc
U(p*)-x ≤U(OPT Nashtrunc)

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

x

d

disutility

volume