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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonAdaptiveEmpiricalOptimisticSource

# Adaptive empirical-transition optimistic batch source This module constructs the measurable source left abstract by `FiniteHorizonAdaptiveEpisodeBatchLaw`. Every observed batch is compressed to its finite family of transition counts. Those counts define a normalized empirical transition kernel, which is combined with the known deterministic MDP reward and a fixed transition bonus. The resulting optimistic action table is a measurable function of the batch because the count-summary space is countable with measurable singletons. The table-indexed iid batch laws form a Markov kernel by `Kernel.ofFunOfCountable`. Comapping that kernel along the measurable history-to-table selector gives an `AdaptiveEpisodeBatchSource` with the exact selected-policy law by construction. The final theorem therefore exposes the adaptive simultaneous count-confidence conclusion without a caller-supplied kernel law or selected-event measurability proof. This route uses only the most recently observed batch, known rewards, and a fixed transition bonus. It does not yet prove that the empirical plan is confident, sum bonuses across rounds, or identify cumulative online regret.

Module map

Declarations
26
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonAdaptiveEpisodeBatchLaw

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveEmpiricalOptimisticConfidence

Declarations

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

abbrev BanditRLProof.FiniteHorizonRL.TransitionCountSummary Compiled

All stage/state/action/next-state transition counts from one batch.

abbrev TransitionCountSummary (mdp : MDP State Action)
def BanditRLProof.FiniteHorizonRL.EpisodeBatch.transitionCountSummary Compiled

Compress an episode batch to the transition counts used by the planner.

def transitionCountSummary {mdp : MDP State Action} {episodes : Nat} (batch : EpisodeBatch mdp episodes) : TransitionCountSummary mdp
theorem BanditRLProof.FiniteHorizonRL.EpisodeBatch.measurable_transitionCountSummary Compiled

The complete transition-count summary is measurable.

theorem measurable_transitionCountSummary {mdp : MDP State Action} {episodes : Nat} : Measurable (transitionCountSummary : EpisodeBatch mdp episodes -> TransitionCountSummary mdp)
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.visitCount Compiled

Total visits represented by one state-action transition-count row.

def visitCount {mdp : MDP State Action} (summary : TransitionCountSummary mdp) (stage : Fin mdp.horizon) (state : State) (action : Action) : Nat
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.empiricalTransitionPMF Compiled

Normalized empirical transition PMF, with an explicit zero-count fallback.

noncomputable def empiricalTransitionPMF {mdp : MDP State Action} (summary : TransitionCountSummary mdp) (defaultState : State) (stage : Fin mdp.horizon) (state : State) (action : Action) : PMF State
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.empiricalTransitionKernel Compiled

The summary-indexed empirical transition kernel.

noncomputable def empiricalTransitionKernel {mdp : MDP State Action} (summary : TransitionCountSummary mdp) (defaultState : State) (stage : Fin mdp.horizon) : ProbabilityTheory.Kernel (State × Action) State
theorem BanditRLProof.FiniteHorizonRL.TransitionCountSummary.empiricalTransitionKernel_isMarkov Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem empiricalTransitionKernel_isMarkov {mdp : MDP State Action} (summary : TransitionCountSummary mdp) (defaultState : State) (stage : Fin mdp.horizon) : ProbabilityTheory.IsMarkovKernel (summary.empiricalTransitionKernel defaultState stage) where
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.optimisticPlan Compiled

Known-reward empirical-transition plan with zero reward radius and one fixed transition bonus at every coordinate.

noncomputable def optimisticPlan (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (transitionBonus : Real) : mdp.EstimatedModelPlan where
abbrev BanditRLProof.FiniteHorizonRL.DeterministicMarkovPolicyTable Compiled

A deterministic action choice at every stage and state.

abbrev DeterministicMarkovPolicyTable (mdp : MDP State Action)
def BanditRLProof.FiniteHorizonRL.DeterministicMarkovPolicyTable.toMarkovPolicy Compiled

Interpret a deterministic action table as a Markov policy.

noncomputable def toMarkovPolicy {mdp : MDP State Action} (table : DeterministicMarkovPolicyTable mdp) : MarkovPolicy mdp where
def BanditRLProof.FiniteHorizonRL.TransitionCountSummary.optimisticPolicyTable Compiled

The deterministic optimistic action table computed from a count summary.

noncomputable def optimisticPolicyTable (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (transitionBonus : Real) : DeterministicMarkovPolicyTable mdp
theorem BanditRLProof.FiniteHorizonRL.TransitionCountSummary.optimisticPolicyTable_toMarkovPolicy Compiled

The action-table interpretation is exactly the plan's optimistic policy.

theorem optimisticPolicyTable_toMarkovPolicy (mdp : MDP State Action) (summary : TransitionCountSummary mdp) (defaultState : State) (transitionBonus : Real) : (summary.optimisticPolicyTable mdp defaultState transitionBonus).toMarkovPolicy = (summary.optimisticPlan mdp defaultState transitionBonus).optimisticPolicy
def BanditRLProof.FiniteHorizonRL.EpisodeBatch.empiricalOptimisticPolicyTable Compiled

The empirical optimistic action table computed from one observed batch.

noncomputable def empiricalOptimisticPolicyTable {mdp : MDP State Action} {episodes : Nat} (batch : EpisodeBatch mdp episodes) (defaultState : State) (transitionBonus : Real) : DeterministicMarkovPolicyTable mdp
theorem BanditRLProof.FiniteHorizonRL.EpisodeBatch.measurable_empiricalOptimisticPolicyTable Compiled

The empirical optimistic table is measurable in the raw batch.

theorem measurable_empiricalOptimisticPolicyTable {mdp : MDP State Action} {episodes : Nat} (defaultState : State) (transitionBonus : Real) : Measurable fun batch : EpisodeBatch mdp episodes => batch.empiricalOptimisticPolicyTable defaultState transitionBonus
def BanditRLProof.FiniteHorizonRL.DeterministicMarkovPolicyTable.iidEpisodeBatchKernel Compiled

Iid generated episode-batch law indexed by a deterministic policy table.

noncomputable def iidEpisodeBatchKernel {mdp : MDP State Action} (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) : ProbabilityTheory.Kernel (DeterministicMarkovPolicyTable mdp) (EpisodeBatch mdp episodes)
theorem BanditRLProof.FiniteHorizonRL.DeterministicMarkovPolicyTable.iidEpisodeBatchKernel_apply Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem iidEpisodeBatchKernel_apply {mdp : MDP State Action} (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (table : DeterministicMarkovPolicyTable mdp) : iidEpisodeBatchKernel initialState episodes table = table.toMarkovPolicy.iidEpisodeBatchMeasure initialState episodes
def BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.latestBatch Compiled

The latest observed batch in a finite nonempty prefix.

def latestBatch {mdp : MDP State Action} {episodes n : Nat} (history : EpisodeBatchPrefix mdp episodes n) : EpisodeBatch mdp episodes
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.measurable_latestBatch Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem measurable_latestBatch {mdp : MDP State Action} {episodes n : Nat} : Measurable (latestBatch : EpisodeBatchPrefix mdp episodes n -> EpisodeBatch mdp episodes)
def BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.successorTable Compiled

Optimistic table selected from the latest batch in a finite prefix.

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

No declaration docstring is present; use the chapter context and exact statement below.

theorem measurable_successorTable {mdp : MDP State Action} {episodes : Nat} (defaultState : State) (transitionBonus : Real) (n : Nat) : Measurable (successorTable (mdp
def BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.source Compiled

Concrete adaptive source: after every batch, recompute the known-reward empirical-transition optimistic table from that batch and sample the next iid batch under the selected deterministic policy.

noncomputable def source (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) : AdaptiveEpisodeBatchSource mdp initialState episodes where
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.source_successorPolicy_eq_optimisticPolicy Compiled

The selected policy is exactly the latest batch's optimistic plan policy.

theorem source_successorPolicy_eq_optimisticPolicy {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) (n : Nat) (history : EpisodeBatchPrefix mdp episodes n) : (source mdp initialState episodes initialTable defaultState transitionBonus).successorPolicy n history = ((latestBatch history).transitionCountSummary.optimisticPlan mdp defaultState transitionBonus).optimisticPolicy
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.measurableSet_selectedSimultaneousCountBadEvent Compiled

Measurability of a selected count event for any measurable finite policy-table selector. This discharges the regularity premise of the adaptive union route.

theorem measurableSet_selectedSimultaneousCountBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} {History : Type*} [MeasurableSpace History] (selector : History -> DeterministicMarkovPolicyTable mdp) (hselector : Measurable selector) (delta : Real) : MeasurableSet {pair : History × EpisodeBatch mdp episodes | pair.2 ∈ (selector pair.1).toMarkovPolicy.simultaneousCountBadEvent initialState episodes delta}
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.source_measurableSet_successorSimultaneousCountBadEvent Compiled

Every selected successor count event of the concrete source is measurable.

theorem source_measurableSet_successorSimultaneousCountBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) (rounds : Nat) (delta : Real) (n : Nat) : MeasurableSet (AdaptiveEpisodeBatchSource.successorSimultaneousCountBadEvent (source mdp initialState episodes initialTable defaultState transitionBonus) rounds delta n)
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.source_trajectoryMeasure_condDistrib_eq_empiricalOptimisticPolicyBatchLaw Compiled

The concrete source's next-batch conditional law is its latest empirical optimistic policy law.

theorem source_trajectoryMeasure_condDistrib_eq_empiricalOptimisticPolicyBatchLaw {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace (EpisodeBatch mdp episodes)] (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) (n : Nat) : let concreteSource := source mdp initialState episodes initialTable defaultState transitionBonus Filter.EventuallyEq (ae (concreteSource.trajectoryMeasure.map (Preorder.frestrictLe n))) (ProbabilityTheory.condDistrib (fun trajectory : EpisodeBatchTrajectory mdp episodes => trajectory (n + 1)) (Preorder.frestrictLe n) concreteSource.trajectoryMeasure) (fun history => MarkovPolicy.iidEpisodeBatchMeasure ((latestBatch history).transitionCountSummary.optimisticPlan mdp defaultState transitionBonus).optimisticPolicy initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.source_trajectoryMeasure_adaptiveSimultaneousCountConfidence Compiled

Concrete adaptive count-confidence terminal for the empirical optimistic source. No selected-law or successor-event measurability premise remains.

theorem source_trajectoryMeasure_adaptiveSimultaneousCountConfidence {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) (rounds : Nat) (hrounds : 0 < rounds) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) : let concreteSource := source mdp initialState episodes initialTable defaultState transitionBonus MeasurableSet (concreteSource.adaptiveSimultaneousCountBadEvent rounds delta) ∧ concreteSource.trajectoryMeasure (concreteSource.adaptiveSimultaneousCountBadEvent rounds delta) <= ENNReal.ofReal delta ∧ forall trajectory, trajectory ∉ concreteSource.adaptiveSimultaneousCountBadEvent rounds delta -> forall round : Fin rounds, forall coordinate : CountCoordinate mdp, |coordinate.deviation (concreteSource.policyAt trajectory round) initialState (trajectory round)| < simultaneousCountConfidenceRadius mdp episodes (multiBatchLocalDelta rounds delta)