Lean module · EXP3
BanditRLProof.Exp3MixedSquarePredictableVarianceSparseLossRealizedMarkovExplicitTuning
# Explicit exploration tuning for sparse-loss predictable-variance EXP3 This module closes the exploration-parameter leaf for the sparse-loss predictable-variance Markov route. Besides the usual sparse arm, Bernstein confidence, and realized-deviation scales, the Markov variance threshold introduces the fifth-root scale `(5 K s (log K)^2 log(5 / delta) / (delta T^3))^(1/5)`. Under transparent large-horizon contracts, the clipped maximum of these four scales is positive, at most `1 / 2`, and satisfies every algebraic premise of the gamma-characterized theorem. The resulting generated realized-regret tail has threshold `14 * gamma * T`. The result still assumes pathwise armwise sparse losses and uses Markov control for predictable-variance overflow. It is not a best-arm first-order theorem.
Module map
Imports
BanditRLProof.Exp3MixedSquarePredictableVarianceSparseLossRealizedMarkovTuning, BanditRLProof.Exp3MixedSquareExponentialRealizedExplicitTuning
Imported by
BanditRLProof, BanditRLProof.Exp3MixedSquarePredictableVarianceSparseLossRealizedMarkovAllHorizon, BanditRLProof.Exp3MixedSquarePredictableVarianceSparseLossRealizedMarkovProbabilisticSparsityExplicitTuning, BanditRLProof.Exp3MixedSquarePredictableVarianceSparseLossRealizedPathwiseVarianceProbabilisticSparsityExplicitTuning
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
theorem
BanditRLProof.Exp3.log_one_div_fifth_eq_log_five_div
Compiled
The five-way confidence allocation has logarithmic budget `log (5 / delta)`.
theorem log_one_div_fifth_eq_log_five_div (delta : Real) (hdelta : 0 < delta) : Real.log (1 / (delta / 5)) = Real.log (5 / delta)
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceBudget_eq
Compiled
Closed form of the sparse-loss Markov predictable-variance budget.
theorem sparseLossPredictableVarianceBudget_eq {Action : Type v} (arms : Finset Action) (hcard_two : 2 <= arms.card) (gamma : Real) (hgamma_pos : 0 < gamma) (horizon sparsity : Nat) (delta : Real) (hdelta : 0 < delta) : sparseLossPredictableVarianceBudget arms gamma horizon sparsity delta = 5 * (arms.card : Real) * (sparsity : Real) * (horizon : Real) / (gamma * delta)
theorem
BanditRLProof.Exp3.log_mul_sparseLossPredictableVarianceRadius_le_three_mul_sq_mul_horizon_sq
Compiled
Under the sparse base, fifth-power Markov, and cubic confidence contracts, the log-weighted mixed-square radius is at most `3 * gamma^2 * T^2`.
theorem log_mul_sparseLossPredictableVarianceRadius_le_three_mul_sq_mul_horizon_sq {Action : Type v} [DecidableEq Action] (arms : Finset Action) (hcard_two : 2 <= arms.card) (gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_half : gamma <= 1 / 2) (horizon sparsity : Nat) (hhorizon : 0 < horizon) (hsparsity : 0 < sparsity) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hbase : (sparsity : Real) * Real.log (arms.card : Real) <= gamma ^ 2 * (horizon : Real)) (hmixed : 5 * (arms.card : Real) * (sparsity : Real) * Real.log (arms.card : Real) ^ 2 * Real.log (5 / delta) <= gamma ^ 5 * delta * (horizon : Real) ^ 3) (hconfidence : (arms.card : Real) * Real.log (5 / delta) <= gamma ^ 3 * (horizon : Real)) : Real.log (arms.card : Real) * sampledMixedSquaredPredictableVarianceRadius arms gamma (sparseLossPredictableVarianceBudget arms gamma horizon sparsity delta) (delta / 5) <= 3 * gamma ^ 2 * (horizon : Real) ^ 2
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceBalancedSqrt_le_two_mul_gamma_mul_horizon
Compiled
The sparse base term and Markov predictable-variance radius make the learning-rate-balanced square root at most `2 * gamma * T`.
theorem sparseLossPredictableVarianceBalancedSqrt_le_two_mul_gamma_mul_horizon {Action : Type v} [DecidableEq Action] (arms : Finset Action) (hcard_two : 2 <= arms.card) (gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_half : gamma <= 1 / 2) (horizon sparsity : Nat) (hhorizon : 0 < horizon) (hsparsity : 0 < sparsity) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hbase : (sparsity : Real) * Real.log (arms.card : Real) <= gamma ^ 2 * (horizon : Real)) (hmixed : 5 * (arms.card : Real) * (sparsity : Real) * Real.log (arms.card : Real) ^ 2 * Real.log (5 / delta) <= gamma ^ 5 * delta * (horizon : Real) ^ 3) (hconfidence : (arms.card : Real) * Real.log (5 / delta) <= gamma ^ 3 * (horizon : Real)) : Real.sqrt (Real.log (arms.card : Real) * sparseLossPredictableVarianceHighProbabilityScale arms gamma horizon sparsity delta) <= 2 * gamma * (horizon : Real)
def
BanditRLProof.Exp3.sparseLossPredictableVarianceRealizedMarkovExplicitThreshold
Compiled
Explicit sparse-loss realized-regret threshold after exploration tuning.
noncomputable def sparseLossPredictableVarianceRealizedMarkovExplicitThreshold {Action : Type v} (_arms : Finset Action) (gamma : Real) (horizon _sparsity : Nat) (_delta : Real) : Real
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceRealizedMarkovTunedThreshold_le_explicitThreshold
Compiled
The four algebraic exploration contracts reduce the eta-tuned threshold to `14 * gamma * T`.
theorem sparseLossPredictableVarianceRealizedMarkovTunedThreshold_le_explicitThreshold {Action : Type v} [DecidableEq Action] (arms : Finset Action) (hcard_two : 2 <= arms.card) (horizon sparsity : Nat) (hhorizon : 0 < horizon) (hsparsity : 0 < sparsity) (gamma delta : Real) (hgamma_pos : 0 < gamma) (hgamma_le_half : gamma <= 1 / 2) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hbase : (sparsity : Real) * Real.log (arms.card : Real) <= gamma ^ 2 * (horizon : Real)) (hmixed : 5 * (arms.card : Real) * (sparsity : Real) * Real.log (arms.card : Real) ^ 2 * Real.log (5 / delta) <= gamma ^ 5 * delta * (horizon : Real) ^ 3) (hconfidence : (arms.card : Real) * Real.log (5 / delta) <= gamma ^ 3 * (horizon : Real)) (hrealized : 2 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= gamma ^ 2 * (horizon : Real)) : sparseLossPredictableVarianceRealizedMarkovTunedThreshold arms gamma horizon sparsity delta <= sparseLossPredictableVarianceRealizedMarkovExplicitThreshold arms gamma horizon sparsity delta
theorem
BanditRLProof.Exp3.sampledPredictable_gammaCharacterizedSparseLossPredictableVarianceRealizedMarkovRegret_tail
Compiled
Generated sparse-loss realized-regret tail under four algebraic exploration contracts.
theorem sampledPredictable_gammaCharacterizedSparseLossPredictableVarianceRealizedMarkovRegret_tail {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsProbabilityMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (hcard_two : 2 <= arms.card) (gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_half : gamma <= 1 / 2) (loss : PredictableLossVector Env Action) (comparator : Action) (hcomparator : comparator ∈ arms) (horizon sparsity : Nat) (hhorizon : 0 < horizon) (hsparsity : 0 < sparsity) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hbase : (sparsity : Real) * Real.log (arms.card : Real) <= gamma ^ 2 * (horizon : Real)) (hmixed : 5 * (arms.card : Real) * (sparsity : Real) * Real.log (arms.card : Real) ^ 2 * Real.log (5 / delta) <= gamma ^ 5 * delta * (horizon : Real) ^ 3) (hconfidence : (arms.card : Real) * Real.log (5 / delta) <= gamma ^ 3 * (horizon : Real)) (hrealized : 2 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= gamma ^ 2 * (horizon : Real)) (hsparse : ∀ sample t, t < horizon → (sampledPredictableLossSupport arms loss t sample).card <= sparsity) : let eta := sparseLossPredictableVarianceHighProbabilityLearningRate arms gamma horizon sparsity delta let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le (by linarith : gamma <= 1) loss.environment mu {sample | sparseLossPredictableVarianceRealizedMarkovExplicitThreshold arms gamma horizon sparsity delta <= (Finset.range horizon).sum (fun t => sampledTrajectoryRealizedLossAt t sample) - (Finset.range horizon).sum (fun t => predictableLossAt loss t sample comparator)} <= ENNReal.ofReal delta
def
BanditRLProof.Exp3.sparseLossPredictableVarianceArmExplorationScale
Compiled
Square-root component required by the pathwise sparse-loss base term.
noncomputable def sparseLossPredictableVarianceArmExplorationScale (K S T : Real) : Real
def
BanditRLProof.Exp3.sparseLossPredictableVarianceMarkovExplorationScale
Compiled
Fifth-root component forced by the sparse-loss Markov variance threshold.
noncomputable def sparseLossPredictableVarianceMarkovExplorationScale (K S T delta : Real) : Real
def
BanditRLProof.Exp3.sparseLossPredictableVarianceConfidenceExplorationScale
Compiled
Cube-root component required by both Bernstein confidence radii.
noncomputable def sparseLossPredictableVarianceConfidenceExplorationScale (K T delta : Real) : Real
def
BanditRLProof.Exp3.sparseLossPredictableVarianceRealizedExplorationScale
Compiled
Square-root component required by the bounded realized-deviation radius.
noncomputable def sparseLossPredictableVarianceRealizedExplorationScale (T delta : Real) : Real
def
BanditRLProof.Exp3.sparseLossPredictableVarianceRawExplorationRate
Compiled
Unclipped maximum of the four sparse-loss exploration scales.
noncomputable def sparseLossPredictableVarianceRawExplorationRate (K S T delta : Real) : Real
def
BanditRLProof.Exp3.sparseLossPredictableVarianceClippedExplorationRate
Compiled
Explicit exploration schedule clipped into the Hedge stability regime.
noncomputable def sparseLossPredictableVarianceClippedExplorationRate (K S T delta : Real) : Real
theorem
BanditRLProof.Exp3.rpow_inv_five_le_half_of_thirtytwo_mul_le
Compiled
A nonnegative fifth-root scale is at most one half when its numerator is at most one thirty-second of its positive denominator.
theorem rpow_inv_five_le_half_of_thirtytwo_mul_le (numerator denominator : Real) (hnumerator : 0 <= numerator) (hdenominator : 0 < denominator) (hlarge : 32 * numerator <= denominator) : (numerator / denominator) ^ (5 : Real)⁻¹ <= 1 / 2
theorem
BanditRLProof.Exp3.numerator_le_pow_five_mul_of_rpow_inv_five_le
Compiled
If a fifth-root scale is below `gamma`, its numerator satisfies the corresponding fifth-power dominance contract.
theorem numerator_le_pow_five_mul_of_rpow_inv_five_le (numerator denominator gamma : Real) (hnumerator : 0 <= numerator) (hdenominator : 0 < denominator) (hroot : (numerator / denominator) ^ (5 : Real)⁻¹ <= gamma) : numerator <= gamma ^ 5 * denominator
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceClippedExplorationRate_le_half
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sparseLossPredictableVarianceClippedExplorationRate_le_half (K S T delta : Real) : sparseLossPredictableVarianceClippedExplorationRate K S T delta <= 1 / 2
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceClippedExplorationRate_eq_raw
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sparseLossPredictableVarianceClippedExplorationRate_eq_raw (K S T delta : Real) (hraw : sparseLossPredictableVarianceRawExplorationRate K S T delta <= 1 / 2) : sparseLossPredictableVarianceClippedExplorationRate K S T delta = sparseLossPredictableVarianceRawExplorationRate K S T delta
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceRawExplorationRate_pos
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sparseLossPredictableVarianceRawExplorationRate_pos (K S T delta : Real) (hK_one : 1 < K) (hS : 0 < S) (hT : 0 < T) : 0 < sparseLossPredictableVarianceRawExplorationRate K S T delta
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceClippedExplorationRate_pos
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sparseLossPredictableVarianceClippedExplorationRate_pos (K S T delta : Real) (hK_one : 1 < K) (hS : 0 < S) (hT : 0 < T) : 0 < sparseLossPredictableVarianceClippedExplorationRate K S T delta
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceRawExplorationRate_le_half_of_horizon_contracts
Compiled
Four transparent horizon contracts ensure every raw schedule component is at most one half, so clipping is inactive.
theorem sparseLossPredictableVarianceRawExplorationRate_le_half_of_horizon_contracts (K S T delta : Real) (hK_one : 1 < K) (hS : 0 < S) (hT : 0 < T) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hlarge_arm : 4 * (S * Real.log K) <= T) (hlarge_mixed : 32 * (5 * K * S * Real.log K ^ 2 * Real.log (5 / delta)) <= delta * T ^ 3) (hlarge_confidence : 8 * (K * Real.log (5 / delta)) <= T) (hlarge_realized : 8 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= T) : sparseLossPredictableVarianceRawExplorationRate K S T delta <= 1 / 2
theorem
BanditRLProof.Exp3.sparseLossPredictableVarianceClippedExplorationRate_contracts
Compiled
The clipped maximum satisfies exactly the four contracts consumed by the gamma-characterized sparse-loss theorem.
theorem sparseLossPredictableVarianceClippedExplorationRate_contracts (K S T delta : Real) (hK_one : 1 < K) (hS : 0 < S) (hT : 0 < T) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hlarge_arm : 4 * (S * Real.log K) <= T) (hlarge_mixed : 32 * (5 * K * S * Real.log K ^ 2 * Real.log (5 / delta)) <= delta * T ^ 3) (hlarge_confidence : 8 * (K * Real.log (5 / delta)) <= T) (hlarge_realized : 8 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= T) : let gamma := sparseLossPredictableVarianceClippedExplorationRate K S T delta 0 < gamma ∧ gamma <= 1 / 2 ∧ S * Real.log K <= gamma ^ 2 * T ∧ 5 * K * S * Real.log K ^ 2 * Real.log (5 / delta) <= gamma ^ 5 * delta * T ^ 3 ∧ K * Real.log (5 / delta) <= gamma ^ 3 * T ∧ 2 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= gamma ^ 2 * T
theorem
BanditRLProof.Exp3.sampledPredictable_explicitSparseLossPredictableVarianceRealizedMarkovRegret_tail
Compiled
Fully explicit generated sparse-loss realized-regret tail for the clipped maximum of the four exploration scales.
theorem sampledPredictable_explicitSparseLossPredictableVarianceRealizedMarkovRegret_tail {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsProbabilityMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (hcard_two : 2 <= arms.card) (loss : PredictableLossVector Env Action) (comparator : Action) (hcomparator : comparator ∈ arms) (horizon sparsity : Nat) (hhorizon : 0 < horizon) (hsparsity : 0 < sparsity) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hlarge_arm : 4 * ((sparsity : Real) * Real.log (arms.card : Real)) <= (horizon : Real)) (hlarge_mixed : 32 * (5 * (arms.card : Real) * (sparsity : Real) * Real.log (arms.card : Real) ^ 2 * Real.log (5 / delta)) <= delta * (horizon : Real) ^ 3) (hlarge_confidence : 8 * ((arms.card : Real) * Real.log (5 / delta)) <= (horizon : Real)) (hlarge_realized : 8 * ((Concentration.intervalVarianceProxy 0 1 : NNReal) : Real) * Real.log (5 / delta) <= (horizon : Real)) (hsparse : ∀ sample t, t < horizon → (sampledPredictableLossSupport arms loss t sample).card <= sparsity) : let gamma := sparseLossPredictableVarianceClippedExplorationRate (arms.card : Real) (sparsity : Real) (horizon : Real) delta let eta := sparseLossPredictableVarianceHighProbabilityLearningRate arms gamma horizon sparsity delta let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma (sparseLossPredictableVarianceClippedExplorationRate_pos (arms.card : Real) (sparsity : Real) (horizon : Real) delta (by exact_mod_cast hcard_two) (by exact_mod_cast hsparsity) (by exact_mod_cast hhorizon)).le (by exact (sparseLossPredictableVarianceClippedExplorationRate_le_half (arms.card : Real) (sparsity : Real) (horizon : Real) delta).trans (by norm_num)) loss.environment mu {sample | sparseLossPredictableVarianceRealizedMarkovExplicitThreshold arms gamma horizon sparsity delta <= (Finset.range horizon).sum (fun t => sampledTrajectoryRealizedLossAt t sample) - (Finset.range horizon).sum (fun t => predictableLossAt loss t sample comparator)} <= ENNReal.ofReal delta