Danny King (kxrs26): Game Theory

Report 9 Downloads 29 Views
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