Lean module · Finite-horizon RL
BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalModelConfidence
# Empirical-model confidence on the heterogeneous causal source This module transports actual sampled count-and-reward empirical-model events to the dependent source whose coordinate `t` contains `episodes t` complete stochastic episodes. Unlike the constant-window route, local count and reward shares are functions of the coordinate. The fixed-prefix failure budget is therefore their genuine finite `ENNReal` sum. Coordinate zero is generated by the initial exploratory policy. Coordinate `n + 1` is generated by the policy selected from the prefix through `n`. Exact iid fibers and the prefix/next `compProd` law give each coordinate its own model-event bound without assuming independence between adaptive rounds. Regularity is finite measurable nonempty State/Action with measurable singletons, a probability initial law, Standard Borel State/Action for the iid model-confidence parent, positive batch sizes and reward proxy, and positive local shares at most one. Concrete event measurability additionally uses the compiled measurable heterogeneous optimistic-table selector. Failure policy: preserve actual sampled rewards, coordinate-specific batch sizes and shares, generating-policy indexing, and the finite failure-budget sum. No constant-window rate, independence across rounds, uniform-time, pathwise, almost-sure, anytime, minimax, reachability, or complete-UCB-VI claim is inferred.
Module map
Imports
BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalSource, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticConfidence, BanditRLProof.RL.FiniteHorizonStochasticRewardIIDSelfConsistentCalibration
Imported by
BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalRealizedSuccessorRegret
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.policyAt
Compiled
Policy whose exact iid law generated coordinate `t`.
def policyAt {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) : Nat -> MarkovPolicy mdp | 0 => source.initialPolicy | n + 1 => source.successorPolicy n (Preorder.frestrictLe n trajectory) /-- Pull an initial heterogeneous-batch event back to the causal trajectory. -/ def initialBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (bad : Set (StochasticEpisodeBatch mdp (episodes 0))) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.initialBadEvent
Compiled
Pull an initial heterogeneous-batch event back to the causal trajectory.
def initialBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (bad : Set (StochasticEpisodeBatch mdp (episodes 0))) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorBadEvent
Compiled
Pull a prefix-dependent successor event back to the causal trajectory.
def successorBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (n : Nat) (bad : Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.roundBadEvent
Compiled
Coordinate-indexed adapted heterogeneous-batch event.
def roundBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (initialBad : Set (StochasticEpisodeBatch mdp (episodes 0))) (successorBad : (n : Nat) -> Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))) : Nat -> Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) | 0 => initialBadEvent initialBad | n + 1 => successorBadEvent n (successorBad n) /-- Union of the first `rounds` heterogeneous adapted events. -/ def finiteHorizonBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (rounds : Nat) (initialBad : Set (StochasticEpisodeBatch mdp (episodes 0))) (successorBad : (n : Nat) -> Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.finiteHorizonBadEvent
Compiled
Union of the first `rounds` heterogeneous adapted events.
def finiteHorizonBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} (rounds : Nat) (initialBad : Set (StochasticEpisodeBatch mdp (episodes 0))) (successorBad : (n : Nat) -> Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.measurableSet_finiteHorizonBadEvent
Compiled
Measurability of the finite heterogeneous adapted union.
theorem measurableSet_finiteHorizonBadEvent {mdp : MDP State Action} {episodes : Nat -> Nat} {rounds : Nat} {initialBad : Set (StochasticEpisodeBatch mdp (episodes 0))} {successorBad : (n : Nat) -> Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))} (hinitial : MeasurableSet initialBad) (hsuccessor : forall n, n + 1 < rounds -> MeasurableSet (successorBad n)) : MeasurableSet (finiteHorizonBadEvent rounds initialBad successorBad)
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_initialBadEvent
Compiled
Exact mass of a pulled-back initial heterogeneous-batch event.
theorem trajectoryMeasure_initialBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) {bad : Set (StochasticEpisodeBatch mdp (episodes 0))} (hbad : MeasurableSet bad) : source.trajectoryMeasure (initialBadEvent bad) = source.rewardSource.iidStochasticTrajectoryFamilyMeasure source.initialPolicy initialState (episodes 0) bad
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_successorBadEvent_le
Compiled
A successor event inherits a uniform bound on every selected history fiber.
theorem trajectoryMeasure_successorBadEvent_le {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) {bad : Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))} (hbad : MeasurableSet bad) (budget : ENNReal) (hfiber : forall history, source.batchKernel n history (Prod.mk history ⁻¹' bad) <= budget) : source.trajectoryMeasure (successorBadEvent n bad) <= budget
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.initialAllCoordinateEmpiricalModelBadEvent
Compiled
Initial selected empirical-model event with coordinate-specific shares.
noncomputable def initialAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) : Set (StochasticEpisodeBatch mdp (episodes 0))
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorAllCoordinateEmpiricalModelBadEvent
Compiled
Prefix-selected successor empirical-model event with local shares.
noncomputable def successorAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) (n : Nat) : Set (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp (episodes (n + 1)))
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.adaptiveAllCoordinateEmpiricalModelBadEvent
Compiled
First-`rounds` selected count-and-reward empirical-model event.
noncomputable def adaptiveAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
def
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.cumulativeModelFailureBudget
Compiled
Exact finite sum of coordinate-specific count and reward failure shares.
noncomputable def cumulativeModelFailureBudget (rounds : Nat) (countDelta rewardDelta : Nat -> Real) : ENNReal
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.measurableSet_initialAllCoordinateEmpiricalModelBadEvent
Compiled
The initial coordinate event is measurable.
theorem measurableSet_initialAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) : MeasurableSet (source.initialAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta)
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.measurableSet_adaptiveAllCoordinateEmpiricalModelBadEvent
Compiled
Selected successor measurability closes the finite heterogeneous event.
theorem measurableSet_adaptiveAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) (hsuccessor : forall n, n + 1 < rounds -> MeasurableSet (source.successorAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta n)) : MeasurableSet (source.adaptiveAllCoordinateEmpiricalModelBadEvent rounds varianceProxy countDelta rewardDelta)
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.initialAllCoordinateEmpiricalModelBadEvent_le
Compiled
The initial selected iid fiber receives its coordinate shares.
theorem initialAllCoordinateEmpiricalModelBadEvent_le [StandardBorelSpace State] [StandardBorelSpace Action] {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (hepisodes : 0 < episodes 0) (varianceProxy : NNReal) (law : source.rewardSource.UniformSubgaussianRewardLaw varianceProxy) (htotal : 0 < ((((episodes 0 : NNReal) * varianceProxy : NNReal) : Real))) (countDelta rewardDelta : Nat -> Real) (hcountDelta : 0 < countDelta 0) (hcountDelta_le_one : countDelta 0 <= 1) (hrewardDelta : 0 < rewardDelta 0) (hrewardDelta_le_one : rewardDelta 0 <= 1) : (source.rewardSource.iidStochasticTrajectoryFamilyMeasure source.initialPolicy initialState (episodes 0)) (source.initialAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta) <= ENNReal.ofReal (countDelta 0) + ENNReal.ofReal (rewardDelta 0)
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorAllCoordinateEmpiricalModelBadEvent_fiber_le
Compiled
Every selected successor iid fiber receives its coordinate shares.
theorem successorAllCoordinateEmpiricalModelBadEvent_fiber_le [StandardBorelSpace State] [StandardBorelSpace Action] {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (varianceProxy : NNReal) (law : source.rewardSource.UniformSubgaussianRewardLaw varianceProxy) (countDelta rewardDelta : Nat -> Real) (n : Nat) (hepisodes : 0 < episodes (n + 1)) (htotal : 0 < ((((episodes (n + 1) : NNReal) * varianceProxy : NNReal) : Real))) (hcountDelta : 0 < countDelta (n + 1)) (hcountDelta_le_one : countDelta (n + 1) <= 1) (hrewardDelta : 0 < rewardDelta (n + 1)) (hrewardDelta_le_one : rewardDelta (n + 1) <= 1) (history : HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n) : source.batchKernel n history (Prod.mk history ⁻¹' source.successorAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta n) <= ENNReal.ofReal (countDelta (n + 1)) + ENNReal.ofReal (rewardDelta (n + 1))
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_adaptiveAllCoordinateEmpiricalModelBadEvent_le
Compiled
Every selected successor iid fiber receives its coordinate shares. -/ theorem successorAllCoordinateEmpiricalModelBadEvent_fiber_le [StandardBorelSpace State] [StandardBorelSpace Action] {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (varianceProxy : NNReal) (law : source.rewardSource.UniformSubgaussianRewardLaw varianceProxy) (countDelta rewardDelta : Nat -> Real) (n : Nat) (hepisodes : 0 < episodes (n + 1)) (htotal : 0 < ((((episodes (n + 1) : NNReal) * varianceProxy : NNReal) : Real))) (hcountDelta : 0 < countDelta (n + 1)) (hcountDelta_le_one : countDelta (n + 1) <= 1) (hrewardDelta : 0 < rewardDelta (n + 1)) (hrewardDelta_le_one : rewardDelta (n + 1) <= 1) (history : HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n) : source.batchKernel n history (Prod.mk history ⁻¹' source.successorAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta n) <= ENNReal.ofReal (countDelta (n + 1)) + ENNReal.ofReal (rewardDelta (n + 1)) := by rw [source.batchKernel_eq_iidStochasticTrajectoryFamilyMeasure] change (source.rewardSource.iidStochasticTrajectoryFamilyMeasure (source.successorPolicy n history) initialState (episodes (n + 1))) (source.rewardSource.stochasticAllCoordinateEmpiricalModelBadEvent (source.successorPolicy n history) initialState (episodes (n + 1)) varianceProxy (countDelta (n + 1)) (rewardDelta (n + 1))) <= _ exact source.rewardSource.iidStochasticTrajectoryFamilyMeasure_stochasticAllCoordinateEmpiricalModelBadEvent_le (source.successorPolicy n history) initialState (episodes (n + 1)) hepisodes varianceProxy law htotal (countDelta (n + 1)) hcountDelta hcountDelta_le_one (rewardDelta (n + 1)) hrewardDelta hrewardDelta_le_one /- Finite-prefix heterogeneous count-and-reward confidence. No independence between coordinates is used; every successor is integrated through its exact selected iid history fiber.
theorem trajectoryMeasure_adaptiveAllCoordinateEmpiricalModelBadEvent_le [StandardBorelSpace State] [StandardBorelSpace Action] {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (hepisodes : forall t, 0 < episodes t) (varianceProxy : NNReal) (law : source.rewardSource.UniformSubgaussianRewardLaw varianceProxy) (htotal : forall t, 0 < ((((episodes t : NNReal) * varianceProxy : NNReal) : Real))) (countDelta rewardDelta : Nat -> Real) (hcountDelta : forall t, t < rounds -> 0 < countDelta t) (hcountDelta_le_one : forall t, t < rounds -> countDelta t <= 1) (hrewardDelta : forall t, t < rounds -> 0 < rewardDelta t) (hrewardDelta_le_one : forall t, t < rounds -> rewardDelta t <= 1) (hsuccessor : forall n, n + 1 < rounds -> MeasurableSet (source.successorAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta n)) : source.trajectoryMeasure (source.adaptiveAllCoordinateEmpiricalModelBadEvent rounds varianceProxy countDelta rewardDelta) <= cumulativeModelFailureBudget rounds countDelta rewardDelta
theorem
BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.policyAt_batch_not_mem_allCoordinateEmpiricalModelBadEvent
Compiled
Outside the finite event, every batch avoids its generating-policy event.
theorem policyAt_batch_not_mem_allCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) (htrajectory : trajectory ∉ source.adaptiveAllCoordinateEmpiricalModelBadEvent rounds varianceProxy countDelta rewardDelta) (round : Fin rounds) : trajectory round ∉ source.rewardSource.stochasticAllCoordinateEmpiricalModelBadEvent (source.policyAt trajectory round) initialState (episodes round) varianceProxy (countDelta round) (rewardDelta round)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.heterogeneousExploratorySource_measurableSet_successorAllCoordinateEmpiricalModelBadEvent
Compiled
Concrete heterogeneous successor events are measurable.
theorem heterogeneousExploratorySource_measurableSet_successorAllCoordinateEmpiricalModelBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBudget transitionBudget : Nat -> Real) (explorationRate : Nat -> NNReal) (hexplorationRate : forall t, explorationRate t <= 1) (varianceProxy : NNReal) (countDelta rewardDelta : Nat -> Real) (n : Nat) : let source := heterogeneousExploratorySource mdp initialState episodes rewardSource initialTable defaultState rewardBudget transitionBudget explorationRate hexplorationRate MeasurableSet (source.successorAllCoordinateEmpiricalModelBadEvent varianceProxy countDelta rewardDelta n)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.heterogeneousExploratorySource_trajectoryMeasure_adaptiveAllCoordinateEmpiricalModelBadEvent_le
Compiled
Concrete heterogeneous source event and its finite failure-budget bound.
theorem heterogeneousExploratorySource_trajectoryMeasure_adaptiveAllCoordinateEmpiricalModelBadEvent_le [StandardBorelSpace State] [StandardBorelSpace Action] {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBudget transitionBudget : Nat -> Real) (explorationRate : Nat -> NNReal) (hexplorationRate : forall t, explorationRate t <= 1) (rounds : Nat) (hepisodes : forall t, 0 < episodes t) (varianceProxy : NNReal) (law : rewardSource.UniformSubgaussianRewardLaw varianceProxy) (htotal : forall t, 0 < ((((episodes t : NNReal) * varianceProxy : NNReal) : Real))) (countDelta rewardDelta : Nat -> Real) (hcountDelta : forall t, t < rounds -> 0 < countDelta t) (hcountDelta_le_one : forall t, t < rounds -> countDelta t <= 1) (hrewardDelta : forall t, t < rounds -> 0 < rewardDelta t) (hrewardDelta_le_one : forall t, t < rounds -> rewardDelta t <= 1) : let source := heterogeneousExploratorySource mdp initialState episodes rewardSource initialTable defaultState rewardBudget transitionBudget explorationRate hexplorationRate let event := source.adaptiveAllCoordinateEmpiricalModelBadEvent rounds varianceProxy countDelta rewardDelta MeasurableSet event ∧ source.trajectoryMeasure event <= HeterogeneousAdaptiveStochasticEpisodeBatchSource.cumulativeModelFailureBudget rounds countDelta rewardDelta
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalModelFailureBudget
Compiled
Model-confidence failure budget of the first causal schedule coordinates.
noncomputable def selfConsistentScheduledCausalModelFailureBudget (mdp : MDP State Action) (rounds : Nat) : ENNReal
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalModelBadEvent
Compiled
Named actual-sampled model event on the self-consistent causal source.
noncomputable def selfConsistentScheduledCausalModelBadEvent (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp (fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t))
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSource_trajectoryMeasure_allCoordinateConfidence_optimism_and_recommendedExpectedRegret
Compiled
Named actual-sampled model event on the self-consistent causal source. -/ noncomputable def selfConsistentScheduledCausalModelBadEvent (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp (fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t)) := let source := selfConsistentScheduledCausalSource mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor source.adaptiveAllCoordinateEmpiricalModelBadEvent rounds varianceProxy (AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledLocalDelta mdp) (AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledLocalDelta mdp) /- The genuine causal schedule receives coordinatewise sampled-model confidence. Every model is computed from the actual batch at that coordinate, with the same reward and transition budgets used by the next causal selector.
theorem selfConsistentScheduledCausalSource_trajectoryMeasure_allCoordinateConfidence_optimism_and_recommendedExpectedRegret (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] [StandardBorelSpace State] [StandardBorelSpace Action] (rewardSource : mdp.MeanCompatibleRewardKernel) (varianceProxy : NNReal) (hvarianceProxy : 0 < varianceProxy) (law : rewardSource.UniformSubgaussianRewardLaw varianceProxy) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (support : ExploratoryPathSupport mdp initialState) (baseVisitFloor : Real) (hbaseFloor : ExploratoryPathUniformVisitFloor support 1 baseVisitFloor) (hrewardBound : forall state action, |mdp.reward state action| <= 1) (hhorizon : 0 < mdp.horizon) (hbaseVisitFloor : 0 < baseVisitFloor) (rounds : Nat) : let episodes := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t let rewardBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledRewardBudget mdp varianceProxy baseVisitFloor t let transitionBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledTransitionBudget mdp varianceProxy baseVisitFloor t let source := selfConsistentScheduledCausalSource mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor let event := selfConsistentScheduledCausalModelBadEvent mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor rounds MeasurableSet event ∧ source.trajectoryMeasure event <= selfConsistentScheduledCausalModelFailureBudget mdp rounds ∧ forall trajectory, trajectory ∉ event -> forall round : Fin rounds, let t := (round : Nat) let model := mdp.stochasticAllCoordinateEmpiricalFiniteBatchModel (episodes t) (mdp.sampledEpisodeBatchOfStochasticTrajectories (episodes t) (trajectory t)) defaultState (rewardBudget t) (transitionBudget t) (forall state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= model.plan.upperValueRemaining mdp.horizon le_rfl state) ∧ model.plan.optimisticPolicy.expectedRegret initialState <= model.plan.optimisticPolicy.occupancySumRemaining (fun remaining hremaining state => 2 * model.plan.selectedRadiusRemaining remaining hremaining state) mdp.horizon le_rfl initialState