Theorem 2 — for every N ≥ 3, a linear congestion game with pure price of anarchy 5/2
ProvedCongestionPoA.AsymSum.theorem2_instanceThere are linear congestion games with or more players with pure price of anarchy for the average social cost equal to .
Precisely: for every integer there exist a congestion game with players, finitely many facilities and linear latencies (), a pure Nash equilibrium of and an optimal pure strategy profile of ( for every pure strategy profile ) with and
So the pure price of anarchy of is at least ; combined with Theorem 1 it is exactly ; hence the bound of Theorem 1 is tight for every number of players .
Formalization Note The statement asserts only the existence of such a game; the paper's construction (with facilities , player choosing or with indices taken cyclically, and identity latencies) is one witness, but any witness proves the statement. Players are the type . The condition excludes the all-zero latency game, in which holds trivially.
import Mathlib import Definitions.Def_CongestionPoA_AsymSum_Model
namespace CongestionPoA.AsymSum
/-- Christodoulou and Koutsoupias, *The Price of Anarchy of Finite Congestion Games*, STOC 2005,
PDF p. 3, Theorem 2: there are linear congestion games with `3` or more players with pure price of
anarchy for the average social cost equal to `5/2`. Stated as: for every `N ≥ 3` there is a linear
congestion game with players `Fin N` and finitely many facilities, a pure Nash equilibrium `A` and a
pure strategy profile `P` that is optimal (`SUM(P) ≤ SUM(Q)` for every pure strategy profile `Q`),
with `0 < SUM(P)` and `SUM(A) = (5/2)·SUM(P)`.
**Formalization Note.** `opt = SUM(P) > 0` and `SUM(A)/opt = 5/2` give `PA ≥ 5/2` for this game, and
Theorem 1 gives `PA ≤ 5/2`, so `PA = 5/2`. The positivity `0 < SUM(P)` is needed: without it the
all-zero latency game (`a_e = b_e = 0`, linear) satisfies `0 = (5/2)·0` and the statement says nothing. Linear latencies are `f_e(k) = a_e k + b_e` with
`a_e, b_e ≥ 0`. The paper's construction (2N facilities `h₁…h_N, g₁…g_N`, strategies `{hᵢ, gᵢ}` and
`{g_{i+1}, h_{i−1}, h_{i+1}}` with cyclic indices, identity latencies) is one witness; the statement
does not fix it. -/
theorem theorem2_instance (N : ℕ) (hN : 3 ≤ N) :
∃ (E : Type) (_ : Fintype E) (_ : DecidableEq E) (G : CongestionGame (Fin N) E)
(A P : Fin N → Finset E),
IsLinear G ∧ IsPureNash G A ∧ IsProfile G P ∧
(∀ Q : Fin N → Finset E, IsProfile G Q → sumCost G P ≤ sumCost G Q) ∧
0 < sumCost G P ∧ sumCost G A = 5 / 2 * sumCost G P := by sorry
end CongestionPoA.AsymSum
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.