Mechanism Design without Money Lecture 3 1
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 2 Choose 1 for AXB Choose 2 for AXYB Choose 3 for AYXB Choose 4 for AYB BA Y X 0 20 n n
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 3 Choose 5 for AXB Choose 6 for AYB BA Y X 20 n n
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 as Welfare (s) = i U i (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) 4
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 5 RightLeft 0/0100/100Left 1/10/0Right Left 0/03/3Left 1/10/0Right
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 6
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 7 BA Y X x
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 c e (f e ) Each path has a cost c p : the sum of costs of all edges in the paths You pay for each path its cost c p, times the amount of flow it passes x p 8
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 9
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 P 1 costs less than P 2. Now take a player who controls flow and now uses P 2. He is better off at P 1. – Note: we use the fact that P 2 is non empty – We use the fact that the player contains only an of the flow, and the cost is continuous. 10
Back to the game we played… Time to count the votes… 11 BA Y X 0 20 n n Choose 1 for AXB Choose 2 for AXYB Choose 3 for AYXB Choose 4 for AYB
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! 12
Adding flow to an existing solution Suppose we have a flow f which routes 1 unit For each edge, we pay f e cost(f e ) Suppose we add more flow to that edge. How much would we pay? ( +f e ) cost ( +f e ) cost (f e ) + f e cost ( +f e ) (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 13
Marginal payment For edge e we pay f e cost(f e ). Adding gives ( +f e ) cost ( +f e ) cost (f e ) + f e cost ( +f e ) The marginal payment of e is the derivative (f e cost(f e ) )’ = cost(f e ) + f e cost’(f e ) Marginal payment of a path is the sum of marginal payment of its edges 14
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 require x + y = C and 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) ( +f e ) cost ( +f e ) cost (f e ) + f e cost ( +f e ) 15
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_cpu e (x) = (x*c e (x))’ = c e (x) + c e ’(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! 16
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 17
Existence of Nash solution Theorem: Let (G,s,t,P) be a routing game with cost per unit function c e 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. 18
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 19 BA X 0 1 x
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 20 BA X 0 c(r) c(x)
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) 21
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. 22
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 23
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=f e and x=f* e 24
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 25
Questions? Feedback Office hours 26
Extra Slides 27
Chicken 28
Road example AB 1 hour 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 29
Nash in road example In the Nash equilibrium, 25 people would take each route, for a travel time of 85 minutes AB 1 hour N minutes 30
Braess’ paradox Now suppose someone adds an extra road which takes no time at all. Travel time goes to 100 minutes AB 1 hour N minutes Free 31