BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeEmpiricalOptimisticRegret

# Adaptive cumulative empirical optimistic regret contract This module changes the adaptive empirical planner from a latest-batch summary to the sum of every transition count in the observed finite prefix. A nonnegative antitone count-radius object makes the plan's transition radius a function of the cumulative state-action visit count. The cumulative selector is measurable, so it also defines a concrete exploratory adaptive batch source. The route terminates at optimism and recommended-policy expected regret under one explicit global cumulative coordinate-confidence contract. Producing that contract from adaptive cumulative count martingales remains downstream; no such concentration theorem is assumed to have been proved here.

Module map

Declarations
23
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonAdaptiveEmpiricalOptimisticOccupancyEnvelope

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeCountMartingaleConfidence

Declarations

Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.

structure BanditRLProof.FiniteHorizonRL.TransitionCountRadius Compiled

A nonnegative transition radius that can only decrease as visits accumulate.

structure TransitionCountRadius where
def BanditRLProof.FiniteHorizonRL.TransitionCountRadius.linearDecay Compiled

A finite linear-decay radius, useful as an executable shrinking-radius canary.

def linearDecay (budget : Nat) : TransitionCountRadius where
def BanditRLProof.FiniteHorizonRL.EpisodeBatchPrefix.cumulativeTransitionCountSummary Compiled

Sum all transition-count coordinates in a nonempty finite batch prefix.

def cumulativeTransitionCountSummary {mdp : MDP State Action} {episodes n : Nat} (history : EpisodeBatchPrefix mdp episodes n) : TransitionCountSummary mdp
theorem BanditRLProof.FiniteHorizonRL.EpisodeBatchPrefix.measurable_cumulativeTransitionCountSummary Compiled

The complete cumulative transition-count summary is history measurable.

theorem measurable_cumulativeTransitionCountSummary {mdp : MDP State Action} {episodes n : Nat} : Measurable (cumulativeTransitionCountSummary : EpisodeBatchPrefix mdp episodes n -> TransitionCountSummary mdp)
theorem BanditRLProof.FiniteHorizonRL.EpisodeBatchPrefix.cumulativeTransitionCountSummary_visitCount Compiled

Cumulative next-state counts still partition the cumulative visit count.

theorem cumulativeTransitionCountSummary_visitCount {mdp : MDP State Action} {episodes n : Nat} (history : EpisodeBatchPrefix mdp episodes n) (stage : Fin mdp.horizon) (state : State) (action : Action) : history.cumulativeTransitionCountSummary.visitCount stage state action = ∑ i : Fin (n + 1), (history ⟨i, Finset.mem_Iic.mpr (Nat.le_of_lt_succ i.isLt)⟩).visitCount stage state action
def BanditRLProof.FiniteHorizonRL.cumulativeTransitionCountSummaryAt Compiled

Cumulative count summary through trajectory coordinate `round`.

def cumulativeTransitionCountSummaryAt {mdp : MDP State Action} {episodes : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (round : Nat) : TransitionCountSummary mdp
theorem BanditRLProof.FiniteHorizonRL.cumulativeTransitionCountSummaryAt_succ Compiled

Extending the trajectory prefix adds exactly the new batch coordinate.

theorem cumulativeTransitionCountSummaryAt_succ {mdp : MDP State Action} {episodes : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (round : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) (nextState : State) : cumulativeTransitionCountSummaryAt trajectory (round + 1) stage state action nextState = cumulativeTransitionCountSummaryAt trajectory round stage state action nextState + (trajectory (round + 1)).transitionCount stage state action nextState
theorem BanditRLProof.FiniteHorizonRL.cumulativeTransitionCountSummaryAt_visitCount_le_succ Compiled

Every cumulative state-action visit count is monotone across rounds.

theorem cumulativeTransitionCountSummaryAt_visitCount_le_succ {mdp : MDP State Action} {episodes : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (round : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) : (cumulativeTransitionCountSummaryAt trajectory round).visitCount stage state action <= (cumulativeTransitionCountSummaryAt trajectory (round + 1)).visitCount stage state action
theorem BanditRLProof.FiniteHorizonRL.TransitionCountRadius.radius_cumulativeVisitCount_succ_le Compiled

Count-antitone radii shrink along every accumulated state-action row.

theorem TransitionCountRadius.radius_cumulativeVisitCount_succ_le {mdp : MDP State Action} {episodes : Nat} (countRadius : TransitionCountRadius) (trajectory : EpisodeBatchTrajectory mdp episodes) (round : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) : countRadius.radius ((cumulativeTransitionCountSummaryAt trajectory (round + 1)).visitCount stage state action) <= countRadius.radius ((cumulativeTransitionCountSummaryAt trajectory round).visitCount stage state action)
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.countRadiusOptimisticPlan Compiled

Known-reward empirical plan with a radius selected from cumulative visits.

noncomputable def countRadiusOptimisticPlan (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (countRadius : TransitionCountRadius) : mdp.EstimatedModelPlan where
theorem BanditRLProof.FiniteHorizonRL.TransitionCountSummary.countRadiusOptimisticPlan_upperValueRemaining_abs_le Compiled

Every count-radius optimistic value is controlled by the radius at zero visits.

theorem countRadiusOptimisticPlan_upperValueRemaining_abs_le (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (countRadius : TransitionCountRadius) (rewardBound : Real) (hrewardBound : forall state action, |mdp.reward state action| <= rewardBound) : forall (remaining : Nat) (hremaining : remaining <= mdp.horizon) (state : State), |(summary.countRadiusOptimisticPlan mdp defaultState countRadius).upperValueRemaining remaining hremaining state| <= empiricalFiniteBatchValueEnvelope rewardBound (countRadius.radius 0) remaining
theorem BanditRLProof.FiniteHorizonRL.TransitionCountSummary.countRadiusOptimisticPlan_selectedRadiusRemaining Compiled

The cumulative count-radius plan selects exactly its chosen row radius.

theorem countRadiusOptimisticPlan_selectedRadiusRemaining (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (countRadius : TransitionCountRadius) (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) : (summary.countRadiusOptimisticPlan mdp defaultState countRadius).selectedRadiusRemaining remaining hremaining state = countRadius.radius (summary.visitCount (mdp.decisionStageRemaining remaining hremaining) state ((summary.countRadiusOptimisticPlan mdp defaultState countRadius).optimisticAction (mdp.decisionStageRemaining remaining hremaining) ((summary.countRadiusOptimisticPlan mdp defaultState countRadius).upperValueRemaining remaining (by omega)) state))
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.countRadiusOptimisticPolicyTable Compiled

Deterministic optimistic table selected from a cumulative count summary.

noncomputable def countRadiusOptimisticPolicyTable (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (countRadius : TransitionCountRadius) : DeterministicMarkovPolicyTable mdp
theorem BanditRLProof.FiniteHorizonRL.TransitionCountSummary.countRadiusOptimisticPolicyTable_toMarkovPolicy Compiled

The table interpretation is the cumulative count-radius plan's policy.

theorem countRadiusOptimisticPolicyTable_toMarkovPolicy (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (countRadius : TransitionCountRadius) : (summary.countRadiusOptimisticPolicyTable mdp defaultState countRadius).toMarkovPolicy = (summary.countRadiusOptimisticPlan mdp defaultState countRadius).optimisticPolicy
def BanditRLProof.FiniteHorizonRL.adaptiveCumulativeEmpiricalOptimisticPlanAt Compiled

Cumulative known-reward optimistic plan recommended after one trajectory prefix.

noncomputable def adaptiveCumulativeEmpiricalOptimisticPlanAt {mdp : MDP State Action} {episodes : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (defaultState : State) (countRadius : TransitionCountRadius) (round : Nat) : mdp.EstimatedModelPlan
def BanditRLProof.FiniteHorizonRL.adaptiveCumulativeEmpiricalOptimisticRecommendedExpectedRegret Compiled

Sum of expected regrets of all cumulative empirical recommendations.

noncomputable def adaptiveCumulativeEmpiricalOptimisticRecommendedExpectedRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (defaultState : State) (countRadius : TransitionCountRadius) (rounds : Nat) : Real
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeEmpiricalOptimisticSource.successorTable Compiled

Cumulative optimistic table selected from every observed batch in a prefix.

noncomputable def successorTable {mdp : MDP State Action} {episodes : Nat} (defaultState : State) (countRadius : TransitionCountRadius) (n : Nat) (history : EpisodeBatchPrefix mdp episodes n) : DeterministicMarkovPolicyTable mdp
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeEmpiricalOptimisticSource.measurable_successorTable Compiled

The cumulative history-to-table selector is measurable.

theorem measurable_successorTable {mdp : MDP State Action} {episodes : Nat} (defaultState : State) (countRadius : TransitionCountRadius) (n : Nat) : Measurable (successorTable (mdp
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeEmpiricalOptimisticSource.exploratorySource Compiled

Exploratory behavior source centered on cumulative empirical recommendations.

noncomputable def exploratorySource (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (countRadius : TransitionCountRadius) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) : AdaptiveEpisodeBatchSource mdp initialState episodes where
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeEmpiricalOptimisticSource.exploratorySource_successorPolicy Compiled

The source's successor behavior is centered on the cumulative optimistic table.

theorem exploratorySource_successorPolicy {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (countRadius : TransitionCountRadius) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (n : Nat) (history : EpisodeBatchPrefix mdp episodes n) : (exploratorySource mdp initialState episodes initialTable defaultState countRadius explorationRate hexplorationRate).successorPolicy n history = (successorTable defaultState countRadius n history).exploratoryPolicy explorationRate hexplorationRate
structure BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeCoordinateConfidenceContract Compiled

One global event contract for cumulative empirical plans. The missing statistical producer must supply coordinate confidence for every cumulative prefix plan outside `badEvent`.

structure AdaptiveCumulativeCoordinateConfidenceContract {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveEpisodeBatchSource mdp initialState episodes) (defaultState : State) (countRadius : TransitionCountRadius) (rounds : Nat) (delta : Real) where
theorem BanditRLProof.FiniteHorizonRL.adaptiveCumulativeCoordinateConfidence_optimism_and_recommendedExpectedRegret Compiled

Roundwise cumulative confidence and a selected-radius envelope imply global optimism and the explicit finite recommendation-regret sum.

theorem adaptiveCumulativeCoordinateConfidence_optimism_and_recommendedExpectedRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes rounds : Nat} (trajectory : EpisodeBatchTrajectory mdp episodes) (defaultState : State) (countRadius : TransitionCountRadius) (radiusEnvelope : Fin rounds -> Real) (confidence : forall round : Fin rounds, (adaptiveCumulativeEmpiricalOptimisticPlanAt trajectory defaultState countRadius round).CoordinateConfidence) (hradius : forall (round : Fin rounds) (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State), (adaptiveCumulativeEmpiricalOptimisticPlanAt trajectory defaultState countRadius round).selectedRadiusRemaining remaining hremaining state <= radiusEnvelope round) : (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
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeCoordinateConfidenceContract.trajectoryMeasure_optimism_and_explicitRecommendedExpectedRegret Compiled

Route endpoint: one measurable global cumulative-confidence event yields global optimism and an explicit shrinking-radius recommendation-regret bound.

theorem AdaptiveCumulativeCoordinateConfidenceContract.trajectoryMeasure_optimism_and_explicitRecommendedExpectedRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes rounds : Nat} (source : AdaptiveEpisodeBatchSource mdp initialState episodes) (defaultState : State) (countRadius : TransitionCountRadius) (delta : Real) (contract : AdaptiveCumulativeCoordinateConfidenceContract source defaultState countRadius rounds delta) (radiusEnvelope : Fin rounds -> Real) (hradius : forall trajectory, trajectory ∉ contract.badEvent -> forall (round : Fin rounds) (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State), (adaptiveCumulativeEmpiricalOptimisticPlanAt trajectory defaultState countRadius round).selectedRadiusRemaining remaining hremaining state <= radiusEnvelope round) : MeasurableSet contract.badEvent /\ source.trajectoryMeasure contract.badEvent <= ENNReal.ofReal delta /\ forall trajectory, trajectory ∉ contract.badEvent -> (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