Upload
stuart-godwin-newman
View
212
Download
0
Embed Size (px)
Citation preview
1
Mechanism Design without Money
Lecture 3
2
A game
• You need to get from A to B• Travelling on AX or YB takes 20
minutes• Travelling on AY or XB takes n
minutes, where there are n travellers
• XY takes no time
• Choose 1 for AXB• Choose 2 for AXYB• Choose 3 for AYXB• Choose 4 for AYB
BA
Y
X
0
20
20n
n
3
A simpler game
• You need to get from A to B• Travelling on AX or YB takes
20 minutes• Travelling on AY or XB takes
n minutes, where there are n travellers
• Choose 5 for AXB• Choose 6 for AYB
BA
Y
X20
20n
n
4
Price of Anarchy
• A Nash equilirium may be bad for everyone– E.g. prisoner’s dilemma, arms race, Studying for tests
• How bad is it?– Consider a game G. The social welfare of a profile of
strategies s is defined asWelfare (s) = iUi(s)
– Let O be the profile with maximal social welfare– Let N be the Nash equilibrium profile with minimal social
welfare (worst Nash solution)– The Price of Anarchy of G is defined to be
Welfare(O) / Welfare(N)
5
When is this notion meaningful?• In the first game, PoA = 3. In the second, 100
• But it’s really the same game…• PoA makes sense only when there is a real
bound, based on the structure of the game
Right Left0/0 100/100 Left1/1 0/0 Right
Right Left0/0 3/3 Left1/1 0/0 Right
6
Routing games
• The problem has three ingredients:– A graph G– Demand: Source s, target t, amount required
(usually 1 unit), set of permissable paths– Each edge has a cost function: a monotone
continuous function from traffic to the real numbers
• Every player controls an epsilon of the flow• Flow value on path \ edge may be not integer
7
Routing game example
• G is given• We want to route 1 unit from A to B, through AXB
or through AYB• The costs (time) are given. AX=AY=0, XB=x, YB=0.5
BA
Y
X0
0.50
x
8
How much do we need to pay
• Suppose we have a flow on the graph• Each edge now has a cost – the cost function
evaluated on the flow ce(fe)
• Each path has a cost cp : the sum of costs of all edges in the paths
• You pay for each path its cost cp, times the amount of flow it passes xp
9
• Theorem: The cost of a flow is equal to the sum over all edges in the graph, the flow through that edge, times the cost of the edge
Proof:
Two ways to compute social welfare
∑𝑗
𝑥 𝑗𝑐𝑜𝑠𝑡 (𝑃 𝑗)=∑𝑒
𝑓 𝑒𝑐𝑜𝑠𝑡 ( 𝑓 𝑒)
=
10
Nash flow
• Theorem – in a Nash flow, for every demand j, all non empty paths from s to t have the same cost
• Proof: Suppose not. Then P1 costs less than P2. Now take a player who controls flow and now uses P2. He is better off at P1.– Note: we use the fact that P2 is non empty– We use the fact that the player contains only an of
the flow, and the cost is continuous.
11
Back to the game we played…
• Time to count the votes…
BA
Y
X
0
20
20n
n
• Choose 1 for AXB• Choose 2 for AXYB• Choose 3 for AYXB• Choose 4 for AYB
12
Optimal solution
• Suppose there are 26 players.• 10 go for AYXB, and 16 for AXYB• AYXB players take 10 minutes each• AXYB players take 40 minutes each• Total time spend on the road is 16*40+10*20 = 840
minutes
• But is this a Nash equilibrium?• No – if a player moves from AXYB to AYXB they save 18
minutes!
13
Adding flow to an existing solution
• Suppose we have a flow f which routes 1 unit• For each edge, we pay fecost(fe)• Suppose we add more flow to that edge. How
much would we pay? (+fe) cost (+fe) cost (fe) + fecost (+fe)(up to first order)
• The first term is the extra usage added by the new flow, and the second is the damage this flow causes everyone else
14
Marginal payment
• For edge e we pay fecost(fe). Adding gives (+fe) cost (+fe) cost (fe) + fecost (+fe)
• The marginal payment of e is the derivative(fecost(fe) )’ = cost(fe) + fecost’(fe)
• Marginal payment of a path is the sum of marginal payment of its edges
15
Optimal flow
• Theorem: In an optimal flow, all paths from s to t have the same marginal payment (derivative of the payment)
• Proof intuition: For any monotone “sane” functions f,g , if we requirex + y = Cand want to minimize f(x) + g(y)It better be that f’(x) = g’(y)and for nice problems, it’s enough that f’(x)=g’(y)
• (+fe) cost (+fe) cost (fe) + fecost (+fe)
16
Relation between Nash and optimal flows
• Let f be an optimal flow on a graph.• Consider the same graph, but with a new cost
function:new_cpue(x) = (x*ce(x))’ = ce(x) + ce’(x)*x
• f is a Nash flow in the new graph– All the paths have the same cost
• OPT exists in the old graph Nash exists in the new graph!
17
This is not exactly what we wanted…
• We wanted to proof that the original game has a pure Nash
• We proved that the “derivative game” has a pure Nash…
• Solution: define what is called a “potential function” (denoted by or C) of the edge e as
dy
18
Existence of Nash solution
• Theorem: Let (G,s,t,P) be a routing game with cost per unit function ce for each edge e. It has a Nash Flow
• Proof: Consider the routing game (G,s,t,P) with cost function e. It has an optimal solution f. This flow is a Nash flow for the original game.
𝜑𝑒(𝑥)= 1𝑥∫0
𝑥
𝑐𝑝𝑢𝑒(𝑦 )
19
Price of Anarchy simplest example
• G is given• Route 1 unit from A to B, through AB,AXB • OPT– route ½ on AB and ½ on AXB (check!)• NASH – route 1 on AXB• Ratio is 4/3
BA
X0
1
x
20
Price of Anarchy: general functions
• G is given• Route r units from A to B, through AB,AXB • OPT – minimize yC (y) + (r – y)C (r)• Nash – route r on AXB• Ratio is
BA
X0
c(r)
c(x)
𝑟 ∙𝑐 (𝑟 )𝑦 ∙𝑐 (𝑦 )+(𝑟 − 𝑦) ∙𝑐 (𝑟 )
21
Can things be worse?
• No!• For a set of cpu functions C, define
• Theorem: For any routing game G, if the cost per unit functions come from C, the Price of Anarchy is at most a(C)
𝑎 (𝐶 )=𝑚𝑎𝑥𝑐𝑝𝑢∈𝐶, 𝑦 ,𝑟
𝑟 ∙𝑐𝑝𝑢(𝑟 )𝑦 ∙𝑐𝑝𝑢 (𝑦 )+(𝑟 − 𝑦 )∙𝑐𝑝𝑢(𝑟 )
22
Another property of Nash flows
• Theorem: Let f be a Nash flow. For any other flow f* which routes the same amount, we have
• Note: The cost per unit of every edge is constant, and we just want to route the flow.
∑𝑒
𝑓 𝑒𝑐𝑝𝑢𝑒( 𝑓 𝑒)≤∑𝑒
𝑓 ∗𝑒❑𝑐𝑝𝑢𝑒( 𝑓 𝑒)
23
Proof
• Define
Note that
• Therefore, we need to prove that H(f*,f) ≥ H(f,f)
• This follows by using that if a path has any flow in it in a Nash flow, its cost is minimal
𝐻 ( 𝑓 ∗ , 𝑓 )=∑𝑃
𝑓 ∗𝑃𝑐𝑝𝑢𝑃( 𝑓 )
=
∑𝑒
𝑓 𝑒𝑐𝑝𝑢𝑒( 𝑓 𝑒)≤∑𝑒
𝑓 ∗𝑒❑𝑐𝑝𝑢𝑒( 𝑓 𝑒)
24
Proof that a(C) is the bound on PoA
Let C be the set of functions on the edges. Let f* be the optimal solution, and f be the Nash.
And in particular setting r=fe and x=f*e
𝑐𝑜𝑠𝑡 𝑜𝑓 𝑓𝑙𝑜𝑤 𝑓 ∗=¿=
≥𝑐𝑜𝑠𝑡𝑜𝑓 𝑓𝑙𝑜𝑤 𝑓
𝑎(𝐶)
𝑎 (𝐶 )=𝑚𝑎𝑥𝑐𝑝𝑢∈𝐶, 𝑦 ,𝑟
𝑟 ∙𝑐𝑝𝑢(𝑟 )𝑦 ∙𝑐𝑝𝑢 (𝑦 )+(𝑟 − 𝑦 )∙𝑐𝑝𝑢(𝑟 )
- )
25
How big can a(C) be?
• Theorem: If C is a set of affine functions, a(C) is at most 4/3
• Proof: Do this at home. Hint: compute the derivative. You should get x = r/2
26
Questions?
• Feedback• Office hours
27
Extra Slides
28
Chicken
29
Road example
A B
1 hour
1 hour
N minutes
N minutes
• 50 people want to get from A to B• There are two roads, each one has two segments. One takes
an hour, and the other one takes the number of people on it
30
Nash in road example
• In the Nash equilibrium, 25 people would take each route, for a travel time of 85 minutes
A B
1 hour
1 hour
N minutes
N minutes
31
Braess’ paradox
• Now suppose someone adds an extra road which takes no time at all. Travel time goes to 100 minutes
A B
1 hour
1 hour
N minutes
N minutes
Free