310 likes | 442 Views
Mechanism Design without Money. Lecture 3. A game. X. 20. n. 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. A. B. 0. n. 20. Y. Choose 1 for AXB Choose 2 for AXYB
E N D
Mechanism Design without Money Lecture 3
A game X 20 n • 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 A B 0 n 20 Y • Choose 1 for AXB • Choose 2 for AXYB • Choose 3 for AYXB • Choose 4 for AYB
A simpler game X 20 n • 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 A B n 20 Y • Choose 5 for AXB • Choose 6 for AYB
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 beWelfare(O) / Welfare(N)
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
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
Routing game example X • 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 0 x A B 0 0.5 Y
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
Two ways to compute social welfare • 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: =
Nash flow • Theorem – in a Nash flow, for every demand j, all non empty paths from sto 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.
Back to the game we played… X 20 n • Time to count the votes… A B 0 n 20 Y • 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!
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
Marginal payment • For edge e we payfecost(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 paymentof a path is the sum of marginal paymentof its edges
Optimal flow • Theorem: In an optimal flow, all paths from sto 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)
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!
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
Existence of Nash solution • Theorem: Let (G,s,t,P) be a routing game with cost per unit function cefor 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.
Price of Anarchy simplest example X • 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 0 x A B 1
Price of Anarchy: general functions X c(x) • 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 0 A B c(r)
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)
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.
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 =
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=feand x=f*e ) - =
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
Questions? • Feedback • Office hours
Road example • 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 1 hour N minutes A B 1 hour N minutes
Nash in road example • In the Nash equilibrium, 25 people would take each route, for a travel time of 85 minutes 1 hour N minutes A B 1 hour N minutes
Braess’ paradox • Now suppose someone adds an extra road which takes no time at all. Travel time goes to 100 minutes 1 hour N minutes A B Free 1 hour N minutes