Garivier–Kaufmann Proposition 13: a rule with integrable settling time
ProvedBanditAlgorithm.exists_policy_optimal_allocation_with_integrable_settling_timeProposition 13. There is a single sampling rule -- one policy, chosen before the environment and before the confidence level -- such that for every unit-variance Gaussian bandit with a unique best arm there is an optimal allocation of Lattimore--Szepesv'ari Eq. (33.4), with all weights strictly positive, for which the following holds at every accuracy . Writing
the empirical allocation and the empirical means settle within almost surely, and .
The integrability, not merely the almost-sure finiteness, is the whole content. Almost-sure convergence of the empirical allocation does not bound : a rule may delay its second arm to round , where is a function of the first reward with almost surely but ; while one arm is unplayed the generalised-likelihood-ratio statistic carries the factor and so cannot cross any threshold, giving and , and this uniformly in . A node asserting the sample-complexity bound from almost-sure convergence alone was retired for exactly this reason.
For D-Tracking the quantitative input is the forced-exploration floor. Playing at each round an arm maximising the shortfall , with and , forces for every arm deterministically, with no hypothesis on the estimates. Gaussian deviations at that many samples give , which is summable against the extra factor that turns a tail sum into an expectation. Continuity of at -- available from uniqueness of the optimal allocation, with no modulus needed, since may depend on arbitrarily -- transfers this to the allocation through the tracking bound .
import Definitions.Def_TrackAndStop import Definitions.Def_GaussianBandit open MeasureTheory ProbabilityTheory InformationTheory NNReal ENNReal Filter
theorem BanditAlgorithm.exists_policy_optimal_allocation_with_integrable_settling_time
{k : ℕ} [NeZero k] :
∃ pol : BanditAlgorithm.BanditPolicy k,
∀ (μvec : Fin k → ℝ) (istar : Fin k),
(∀ j, j ≠ istar → μvec j < μvec istar) →
∃ α : Fin k → NNReal,
(∀ i, 0 < α i) ∧
BanditAlgorithm.IsOptimalAllocation (BanditAlgorithm.gaussianBandit μvec)
(Set.range (BanditAlgorithm.gaussianBandit (k := k))) α ∧
∀ ξ : ℝ, 0 < ξ →
(∀ᵐ ω ∂(BanditAlgorithm.banditTrajMeasure
(BanditAlgorithm.gaussianBandit μvec) pol),
∃ N : ℕ, ∀ n : ℕ, N ≤ n →
(0 < n ∧
(∀ i, |BanditAlgorithm.trajAllocation i n ω - (α i : ℝ)| ≤ ξ) ∧
(∀ i, |BanditAlgorithm.trajEmpiricalMean i n ω - μvec i| ≤ ξ))) ∧
∫⁻ ω, ((sInf {N : ℕ | ∀ n, N ≤ n →
(0 < n ∧
(∀ i, |BanditAlgorithm.trajAllocation i n ω - (α i : ℝ)| ≤ ξ) ∧
(∀ i, |BanditAlgorithm.trajEmpiricalMean i n ω - μvec i| ≤ ξ))} : ℕ) : ℝ≥0∞)
∂(BanditAlgorithm.banditTrajMeasure
(BanditAlgorithm.gaussianBandit μvec) pol) ≠ ⊤ := by
sorry