Yao averaging: a competitive mixed strategy contains a good deterministic algorithm
ProvedKServer.randomized_yao_averagingLet be a randomized online -server algorithm (a mixed strategy: a probability measure over deterministic algorithms) that is -competitive from the configuration against oblivious adversaries, with . Then there is a constant such that for every finitely supported probability distribution over request sequences and every , some deterministic algorithm in the support of starts at and satisfies
Role
This is the easy (averaging) direction of Yao's minimax principle, in the form needed for randomized lower bounds: to show that every -competitive randomized algorithm has , it suffices to exhibit request distributions against which every deterministic algorithm pays at least times the expected offline cost plus an arbitrarily large constant. It is the first pillar of the Bubeck–Coester–Rabani refutation of the randomized -server conjecture (STOC 2023), which constructs such distributions on -point spaces forcing .
The proof is an exercise in the linearity and monotonicity of the lower Lebesgue integral: the expected average cost of the randomized algorithm is the average of its expected costs (Fubini for finite sums, using the measurability field of the mixed strategy), each bounded by ; if every outcome exceeded the average bound by , integrating the pointwise bound over the probability measure would contradict it.
Formalization note
Expected costs are lower Lebesgue integrals valued in ENNReal; the constant is normalized to so that the comparison of ENNReal.ofReals can be reflected back to the reals, and the of slack absorbs the fact that a lower integral bound only yields pointwise bounds up to any positive margin.
import Mathlib import Definitions.Def_KServer_model import Definitions.Def_KServer_randomized
namespace KServer
theorem randomized_yao_averaging (k : ℕ) (M : Type*) [MetricSpace M]
(A : RandomizedAlgorithm k M) (C₀ : Config k M) (ρ : ℝ) (hρ : 0 ≤ ρ)
(hA : A.IsCompetitiveFrom C₀ ρ) :
∃ a : ℝ, 0 ≤ a ∧ ∀ (m : ℕ) (p : Fin m → ℝ), (∀ j, 0 ≤ p j) → (∑ j, p j) = 1 →
∀ (σ : Fin m → List M) (ε : ℝ), 0 < ε →
∃ i : A.ι, (A.alg i).conf [] = C₀ ∧
∑ j, p j * (A.alg i).cost (σ j)
≤ ρ * (∑ j, p j * offlineCost C₀ (σ j)) + a + ε := by sorry
end KServer