Danny King (kxrs26): Game Theory
Page 1 of 8
07/03/2012
Danny King (kxrs26): Game Theory 1.
Consider a congestion game with three players π¨, π© and πͺ and eight resources π, π, π, π
, π, π, π, π. Player π¨ has strategies {π, π}, {π, π, π
} and {π, π
}. Player π© has strategies {π, π
} and {π, π, π}. Player πͺ has stratgegies {π, π
} and {π, π}. The latencies of the resources, depending on the load are as follows.
1a. Show that this game is, in fact, a routing game on a network. The game can be expressed as a routing game using the following network layout, where resources become edges and strategies become allowed paths through the network starting at node π and ending at node π‘ i.e. a route from π to π‘ (figure 1).
Fig. 1: A network layout representing a routing game for the congestion game given in question 1.
1b. Start with π¨ playing {π, π}, π© playing {π, π
} and πͺ playing {π, π}. Apply a PLS algorithm in order to find a Nash equilibrium in pure strategies. We will consider the playersβ actions in rounds. In each round, a player will change their strategy to an alternative strategy if that reduces their total latency, or keep their current strategy otherwise. If there are multiple better alternative strategies, the player will change to the one with the lowest latency. If there are multiple alternative strategies with equal but improved latencies, the player will switch randomly. If no player changes strategy during a round, a Nash equilibrium has been found. Let ππ = {π, π, π} denote βPlayer π plays strategy {π, π, π}β and let πΏ(π, {π, π, π}) = π denote that the total latency induced by player π playing strategy {π, π, π} is π. The total latency is defined as the sum of the edge weights of all edges belonging to the strategy path.
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 2 of 8
07/03/2012
Round 1 Current Status ππ΄ = {π, π}, ππ΅ = {π, π}, ππΆ = {π, π} πΏ(π΄, ππ΄ ) = 1 + 9 = 10 πΏ π΅, ππ΅ = 2 + 4 = 6 πΏ(πΆ, ππΆ ) = 7 + 1 = 8
Round 2 Current Status ππ΄ = {π, π, π}, ππ΅ = {π, π}, ππΆ = {π, π} πΏ π΄, ππ΄ = 1 + 2 + 6 = 9 πΏ π΅, ππ΅ = 2 + 6 = 8 πΏ(πΆ, ππΆ ) = 7 + 1 = 8
Alternatives πΏ π΄, π, π, π = 1 + 2 + 6 = 9 < πΏ(π΄, ππ΄ ) πΏ π΄, π, π = 3 + 6 = 9 < πΏ(π΄, ππ΄ ) πΏ π΅, π, π, π = 2 + 1 + 4 = 7 > πΏ π΅, ππ΅ πΏ πΆ, π, π = 3 + 6 = 9 > πΏ(πΆ, ππΆ )
Alternatives πΏ π΄, π, π = 1 + 9 = 10 > πΏ(π΄, ππ΄ ) πΏ π΄, π, π = 3 + 6 = 9 = πΏ(π΄, ππ΄ ) πΏ π΅, π, π, π = 2 + 1 + 4 = 7 < πΏ π΅, ππ΅ πΏ πΆ, π, π = 3 + 6 = 9 > πΏ(πΆ, ππΆ )
Outcome Player π΄ changes to strategy {π, π, π}.
Outcome Player π΅ changes to strategy {π, π, π}.
Round 3 Current Status ππ΄ = {π, π, π}, ππ΅ = {π, π, π}, ππΆ = {π, π} πΏ π΄, ππ΄ = 1 + 2 + 4 = 7 πΏ π΅, ππ΅ = 2 + 1 + 4 = 7 πΏ(πΆ, ππΆ ) = 7 + 4 = 11
Round 4 Current Status ππ΄ = {π, π, π}, ππ΅ = {π, π, π}, ππΆ = {π, π} πΏ π΄, ππ΄ = 1 + 2 + 6 = 9 πΏ π΅, ππ΅ = 3 + 1 + 1 = 5 πΏ πΆ, ππΆ = 3 + 6 = 9
Alternatives πΏ π΄, π, π = 1 + 9 = 10 > πΏ(π΄, ππ΄ ) πΏ π΄, π, π = 3 + 4 = 7 = πΏ(π΄, ππ΄ ) πΏ π΅, π, π = 2 + 6 = 8 > πΏ π΅, ππ΅ πΏ πΆ, π, π = 3 + 6 = 9 < πΏ(πΆ, ππΆ )
Alternatives πΏ π΄, π, π = 1 + 9 = 10 > πΏ(π΄, ππ΄ ) πΏ π΄, π, π = 3 + 6 = 9 = πΏ(π΄, ππ΄ ) πΏ π΅, π, π = 3 + 6 = 7 > πΏ π΅, ππ΅ πΏ πΆ, π, π = 7 + 4 = 11 > πΏ(πΆ, ππΆ )
Outcome Player πΆ changes to strategy {π, π}.
Outcome No player changes β΄ Nash equilibrium.
There is a Nash equilibrium when player π΄ plays strategy {π, π, π}, player π΅ plays strategy {π, π, π} and player πΆ plays strategy {π, π}; there is no incentive for any rational player to change strategies under these conditions (figure 2).
Fig. 2: A Nash equilibrium on the network.
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 3 of 8
07/03/2012
2.
Consider the problem of routing a flow at rate π from π to π over the following network with linear edge latencies.
2a. Depending on the value of π, calculate the flow at equilibrium in the selfish-routing game. There are two possible (simple) paths in the network from nodes π to π‘; π1 , π2 β π«. Let π1 and π2 be the paths passing through nodes π and π respectively. In the given network, π₯ is the amount of traffic that uses the route containing that edge from π to π‘. For clarity we rename the π₯ in π2 to be π₯β² (figure 3).
Fig. 3: Renaming of the lower π₯ to π₯β in the network.
We consider feasible flows, i.e. where πβ π« ππ
= π.
For a feasible flow, π₯ + π₯ β² = π and hence π₯ β² = π β π₯. The latency of the flow traversing π1 =
πβ π 1 ππ
= 3π₯ + 3.
The latency of the flow traversing π2 =
πβ π 2 ππ
= 5 + 2 π₯β² = 5 + 2(π β π₯).
If a feasible flow is at equilibrium, all non-zero flow paths from π to π‘ have equal latency. Hence at equilibrium: 3π₯ + 3 = 5 + 2(π β π₯) 3π₯ + 3 = 5 + 2π β 2π₯ 5π₯ = 2 + 2π π₯=
2 + 2π 5
This is the flow traversing π1 and as π₯ = π β π₯β², the flow traversing π2 is: π₯β² =
3π β 2 5
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 4 of 8
07/03/2012
Given this, consider figure 4, where π is the total flow and π can be considered to be the amount of the total flow traversing one of the paths from π to π‘. The graph therefore plots the amount of flow traversing π1 (the blue line) and π2 (the purple line) as π increases. Notice that at π =
2 3
the amount of flow traversing π2 is 0 and hence all the flow must be
traversing π1 . At this point, where the flow at π1 is 0, π = π = Therefore for values of π β€
2 3
2 3
and so this is shown to be the case.
all flow will traverse π1 . Negative flow values are nonsensical so the 2
plotted values should be disregarded for those values where π < ; the flow through π1 will be π and the flow through π2 will be 0. For
2 3
3
< π < 4 the flow will be split between π1 and π2 with π1
taking more flow than π2 but progressively less as π increases. At π = 4, the flow through π1 and π2 are equal. After this point there is more flow in π2 than in π1 , so at π > 4 the flow shifts more towards π2 and as π tends to infinity π2 takes progressively more flow than π1 .
Fig. 4: Graphical representation of the flow across π1 and π2 as r increases.
Value of π
Flow through ππ
Flow through ππ
1/3
1/3
0
2/3
2/3
0
3
8/5
7/5
4
2
2
5
12/5
13/5
6
14/5
16/5
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 5 of 8
07/03/2012
2b. Depending on the value of π, calculate the minimum-cost flow. The total cost-flow is calculated using πΆ π =
πβπΈ
ππ ππ ππ
Where the sum of the flows for each path in the network add to r, for all non-negative flows. Hence in our network we have π₯ 3π₯ + 3 + π₯β²(5 + 2π₯β²) Remembering that π₯ β² = π β π₯ π₯ 3π₯ + 3 + (π β π₯)(5 + 2(π β π₯)) 3π₯ 2 + 3π₯ + (π β π₯)(5 + 2π β 2π₯) 3π₯ 2 + 3π₯ + 5 π β π₯ + 2π π β π₯ β 2π₯(π β π₯) 3π₯ 2 + 3π₯ + 5π β 5π₯ + 2π 2 β 2ππ₯ β 2ππ₯ + 2π₯ 2 5π₯ 2 + 2π 2 β 2π₯ β 4ππ₯ + 5π In order to minimise the total-cost flow (i.e. to obtain the minimum-cost flow) we must locate the minimum point of this parabola (figure 5). This is where its gradient is at 0, i.e. when the differential equals 0. πΏ = 10π₯ β 4π β 2 = 0 πΏπ₯ 10π₯ = 4π + 2 π₯=
2π + 1 5
π₯β² =
3π β 1 5
And substituting π₯ β² = π β π₯
Fig. 5: A 3D plot of the total-cost flow for the network.
Fig. 6: Graphical representation of the flow at minimum-cost across π1 and π2 as r increases. .
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 6 of 8
07/03/2012
Consider figure 6, where π is the total flow and π can be considered to be the amount of the flow at minimum-cost traversing one of the paths from π to π‘. The graph therefore plots the amount of minimum flow traversing π1 (the blue line) and π2 (the purple line) as π increases. At π =
1 3
the amount of flow traversing π2 is 0 and hence all the flow at minimum-cost must be
traversing π1 . Therefore for values of π β€
1 3
all flow at minimum-cost will traverse π1 . Negative
values are again nonsensical so the plotted values should be disregarded for those values where 1
π < ; the flow at minimum-cost through π1 will be π and the flow at minimum-cost through π2 will 3
be 0. For
1 3
< π < 2 the flow at minimum-cost will be split between π1 and π2 with π1 taking more
than π2 but progressively less as π increases. At π = 2, the flow at minimum-cost through π1 and π2 are equal. After this point there is more in π2 than in π1 , so at π > 2 the flow at minimum-cost shifts more towards π2 and as π tends to infinity π2 takes progressively more than π1 .
3.
Value of π
Flow at minimumcost through ππ
Flow at minimumcost through ππ
1/6
1/6
0
1/3
1/3
0
1
3/5
2/5
2
1
1
5/2
6/5
13/10
7/2
8/5
19/10
Put the Vickrey second-price auction into the general framework for direct-revelation mechanism design, and apply the Vickrey-Groves-Clarke implementation. You may assume that the valuations and the bids of all n players are in some bounded interval T.
3a. Define the set of outputs πΊ, the specification map π»π β β(πΊ), and the valuation function of each player ππ βΆ π» Γ πΊ β β. The Vickery second-price auction is an incentive-compatible and truthful auction mechanism. Players simultaneously bid on one item and the winner is the player with the highest bid, however they pay the value of the second highest bid and all other players pay 0. Let π1 , π2 , β¦ , ππ β π΅ be the set of π players (i.e. βbiddersβ) in the auction. Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 7 of 8
07/03/2012
Each player ππ has a private input π‘π β π representing their bid, i.e. what they believe the auctioned item is worth (because the Vickery second-price auction is incentive-compatible and truthful). The set of outputs π 1 , π 2 , β¦ , π π β π where for each π π β π, π π = ππ and where ππ won the auction. That is to say, the set of outputs is a list of all the players, with each output representing that player winning the auction (and all other players losing). The output specification maps each π = π‘1 , π‘2 , β¦ , π‘π to the set of allowed outputs π β π (each permutation maps to a player winning). The valuation function π£π (π‘π , π ) outputs a real valued quantification of player ππ βs value of an outcome, π , when their private input is π‘π . The output is π‘π if player π wins in π and 0 if they lose: π£π π‘π , π =
π‘π ππ ππ = π 0 ππ‘ππππ€ππ π
3b. Determine the output function π βΆ π¨π β πΊ, and the functions ππ , so that when you calculate (with a justification) the payment functionsππ βΆ π¨ β β, you get the right total payoff for each bidder. Because the implementation is truthful, π΄π = π π and hence ππ = π‘π for all π, 1 < π < π. The output function returns the maximum bid of all players in the auction, i.e.: π
π π΄ = arg πππ₯π β
π£π (ππ , π ) π=1
Note that this is the first criterion for a direct revelation mechanism to belong to the VickeryGroves-Clarke family. The second criterion is that the payment function for player ππ (the amount of currency the mechanism gives that player) is: ππ π΄ =
π β π
π£π π‘π , π π΄
+ ππ (π‘βπ )
Where π‘βπ is all π‘ β π except π‘π and where ππ π‘βπ = β πππ₯(π‘βπ ) Notice that when player ππ wins, ππ π‘βπ will equal the negation of the value of the second highest bid because π‘π , which would be the highest bid, is not included in π‘βπ . If ππ does not win, then ππ π‘βπ will equal the negation of the highest bid. Combined with the valuation function as defined in part 3a, this configuration causes the payment function to provide the correct total payoff for each bidder; ππ π΄ will return 0 if player ππ does not win and it will return the negation of the second highest bid if he does. The value should be a negation because ππ π΄ is a payment function from the point of view of the mechanism, i.e. the mechanism pays out the amount returned by ππ π΄ to player ππ and in our case, the player should incur a fee rather than a payment after winning the auction. This configuration also results in a simple and meaningful utility function. This utility function is what each player aims to optimise. The utility of player ππ is π’π = ππ π΄ + π£π π‘π , π . This now Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu
Danny King (kxrs26): Game Theory
Page 8 of 8
07/03/2012
represents the profit player ππ gains from the auction. If player ππ wins, his profit will be how much he valued the item to be (π‘π ) minus what he actually paid (the second highest bid). Otherwise the profit will be 0. References Nisan, N., and Ronen, A., Algorithmic Mechanism Design, Games and Economic Behavior, 35, pp 166β196 (2001). Nisal et al. (2007). Algorithmic Game Theory. Cambridge University Press. Algorithmic Game Theory lecture slides of Stefan Dantchev, Durham University.
Danny King (undergraduate of Computer Science at Durham University)
[email protected] www.dannyking.eu