Lean module · Finite-horizon RL
BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeInverseSqrtNormalizedRate
# Normalized adaptive cumulative inverse-square-root rate This module specializes the explicit two-scale calibration to rewards bounded in absolute value by one. It fixes the zero-count budget to one, chooses the inverse-square-root scale from the logarithmic factor and visit floor, and replaces both scalar calibration premises by one episode threshold.
Module map
Imports
BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeInverseSqrtExplicitRate
Imported by
BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeInverseSqrtAverageRate
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtScale
Compiled
Canonical statistical scale for rewards and zero-count budget bounded by one.
noncomputable def normalizedCumulativeInverseSqrtScale (mdp : MDP State Action) (rounds : Nat) (delta visitFloor : Real) : Real
def
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtEpisodeThreshold
Compiled
One sufficient episode threshold for the normalized scale choice.
noncomputable def normalizedCumulativeInverseSqrtEpisodeThreshold (mdp : MDP State Action) (rounds : Nat) (delta visitFloor : Real) : Real
def
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtCountRadius
Compiled
The normalized capped count radius used by the concrete source.
noncomputable def normalizedCumulativeInverseSqrtCountRadius (mdp : MDP State Action) (rounds : Nat) (delta visitFloor : Real) : TransitionCountRadius
def
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtRecommendedExpectedRegretBound
Compiled
Closed recommendation-regret bound after fixing budget and scale.
noncomputable def normalizedCumulativeInverseSqrtRecommendedExpectedRegretBound (mdp : MDP State Action) (episodes rounds : Nat) (delta visitFloor : Real) : Real
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtScale_nonneg
Compiled
The normalized scale is nonnegative without additional scalar premises.
theorem normalizedCumulativeInverseSqrtScale_nonneg (mdp : MDP State Action) (rounds : Nat) (delta visitFloor : Real) : 0 <= normalizedCumulativeInverseSqrtScale mdp rounds delta visitFloor
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtScale_cover
Compiled
The normalized scale exactly covers the explicit two-scale coefficient.
theorem normalizedCumulativeInverseSqrtScale_cover (mdp : MDP State Action) {rounds : Nat} (hhorizon : 0 < mdp.horizon) (hrounds : 0 < rounds) {delta visitFloor : Real} (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hvisitFloor : 0 < visitFloor) : (cumulativeInverseSqrtCoverCoefficient mdp 1 1) ^ 2 * cumulativeInverseSqrtLogFactor mdp rounds delta <= (normalizedCumulativeInverseSqrtScale mdp rounds delta visitFloor) ^ 2 * visitFloor
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.cumulativeInverseSqrtCalibrationEpisodeThreshold_le_normalized
Compiled
The old max threshold is bounded by the single normalized threshold.
theorem cumulativeInverseSqrtCalibrationEpisodeThreshold_le_normalized (mdp : MDP State Action) {rounds : Nat} (hhorizon : 0 < mdp.horizon) (hrounds : 0 < rounds) {delta visitFloor : Real} (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hvisitFloor : 0 < visitFloor) : cumulativeInverseSqrtCalibrationEpisodeThreshold mdp rounds delta visitFloor 1 1 <= normalizedCumulativeInverseSqrtEpisodeThreshold mdp rounds delta visitFloor
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.cumulativeInverseSqrtCalibrationEpisodeThreshold_lt_of_normalizedThreshold
Compiled
A strict normalized threshold implies the exact parent threshold.
theorem cumulativeInverseSqrtCalibrationEpisodeThreshold_lt_of_normalizedThreshold (mdp : MDP State Action) {episodes rounds : Nat} (hhorizon : 0 < mdp.horizon) (hrounds : 0 < rounds) {delta visitFloor : Real} (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hvisitFloor : 0 < visitFloor) (hthreshold : normalizedCumulativeInverseSqrtEpisodeThreshold mdp rounds delta visitFloor < (episodes : Real)) : cumulativeInverseSqrtCalibrationEpisodeThreshold mdp rounds delta visitFloor 1 1 < (episodes : Real)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtPathCalibration_of_episodeThreshold
Compiled
The single normalized threshold constructs the complete parent calibration.
theorem normalizedCumulativeInverseSqrtPathCalibration_of_episodeThreshold (mdp : MDP State Action) {episodes rounds : Nat} (hhorizon : 0 < mdp.horizon) (hrounds : 0 < rounds) (hepisodes : 0 < episodes) {delta visitFloor : Real} (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hvisitFloor : 0 < visitFloor) (hthreshold : normalizedCumulativeInverseSqrtEpisodeThreshold mdp rounds delta visitFloor < (episodes : Real)) : CumulativeInverseSqrtPathCalibration mdp episodes rounds delta visitFloor 1 1 (normalizedCumulativeInverseSqrtScale mdp rounds delta visitFloor)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtRecommendedExpectedRegretBound_eq
Compiled
Explicit expansion of the normalized recommendation-regret bound.
theorem normalizedCumulativeInverseSqrtRecommendedExpectedRegretBound_eq (mdp : MDP State Action) (episodes rounds : Nat) (delta visitFloor : Real) : normalizedCumulativeInverseSqrtRecommendedExpectedRegretBound mdp episodes rounds delta visitFloor = 2 * (mdp.horizon : Real) * min (rounds : Real) (8 * (Fintype.card State : Real) * (mdp.horizon : Real) * Real.sqrt (cumulativeInverseSqrtLogFactor mdp rounds delta) / Real.sqrt visitFloor * Real.sqrt (rounds : Real) / Real.sqrt ((episodes : Real) * visitFloor / 2))
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeEmpiricalOptimisticSource.exploratorySource_trajectoryMeasure_cumulativeInverseSqrtPathSupport_optimism_and_normalizedRecommendedExpectedRegret
Compiled
Normalized deterministic-reward endpoint with one episode threshold and no caller-visible budget or statistical scale.
theorem exploratorySource_trajectoryMeasure_cumulativeInverseSqrtPathSupport_optimism_and_normalizedRecommendedExpectedRegret (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes rounds : Nat) [StandardBorelSpace (EpisodeBatch mdp episodes)] [StandardBorelSpace (EpisodeBatchTrajectory mdp episodes)] (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (support : ExploratoryPathSupport mdp initialState) (visitFloor : Real) (hfloor : ExploratoryPathUniformVisitFloor support explorationRate visitFloor) (hrewardBound : forall state action, |mdp.reward state action| <= 1) (hhorizon : 0 < mdp.horizon) (hrounds : 0 < rounds) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hvisitFloor : 0 < visitFloor) (hthreshold : AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtEpisodeThreshold mdp rounds delta visitFloor < (episodes : Real)) : let countRadius := AdaptiveEpisodeBatchSource.normalizedCumulativeInverseSqrtCountRadius mdp rounds delta visitFloor let source := exploratorySource mdp initialState episodes initialTable defaultState countRadius explorationRate hexplorationRate MeasurableSet (source.adaptiveCumulativeCountBadEvent rounds delta) /\ source.trajectoryMeasure (source.adaptiveCumulativeCountBadEvent rounds delta) <= ENNReal.ofReal delta /\ forall trajectory, trajectory ∉ source.adaptiveCumulativeCountBadEvent rounds delta -> (forall round : Fin rounds, forall state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= (adaptiveCumulativeEmpiricalOptimisticPlanAt trajectory defaultState countRadius round).upperValueRemaining mdp.horizon le_rfl state) /\ adaptiveCumulativeEmpiricalOptimisticRecommendedExpectedRegret (initialState