Lean module · UCB
BanditRLProof.Algorithms.UCBConditionalRewardPairTrajectorySampledAsymptotics
# Asymptotic sampled-successor UCB pseudo-regret This module runs the canonical pair-trajectory sampled-successor UCB theorem with confidence budget `1 / (T + 1)`, proves logarithmic expected pseudo-regret for fixed model data, and derives vanishing expected average pseudo-regret for the resulting horizon-indexed policy family.
Module map
Imports
BanditRLProof.Algorithms.UCBConditionalRewardPairTrajectorySampledReal
Imported by
BanditRLProof, BanditRLProof.Algorithms.UCBArmStreamAsymptotics, BanditRLProof.Algorithms.UCBFiniteArmSubGaussianSampledAsymptotics
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
BanditRLProof.UCB.selectedPolicySuccessorAsymptoticDelta
Compiled
Confidence schedule used by the fixed-model asymptotic UCB family.
noncomputable def selectedPolicySuccessorAsymptoticDelta (T : Nat) : Real
theorem
BanditRLProof.UCB.selectedPolicySuccessorAsymptoticDelta_pos
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem selectedPolicySuccessorAsymptoticDelta_pos (T : Nat) : 0 < selectedPolicySuccessorAsymptoticDelta T
theorem
BanditRLProof.UCB.horizon_mul_selectedPolicySuccessorAsymptoticDelta_le_one
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem horizon_mul_selectedPolicySuccessorAsymptoticDelta_le_one (T : Nat) : (T : Real) * selectedPolicySuccessorAsymptoticDelta T <= 1
theorem
BanditRLProof.UCB.selectedPolicySuccessorFiniteArmTimeLogBudget_asymptoticDelta_eq
Compiled
Under the asymptotic schedule, the full-horizon peeling argument is a polynomial.
theorem selectedPolicySuccessorFiniteArmTimeLogBudget_asymptoticDelta_eq (K T : Nat) (hK : 0 < K) (hT : 0 < T) : selectedPolicySuccessorFiniteArmTimeLogBudget K T T (selectedPolicySuccessorAsymptoticDelta T) = max (Real.log (2 * (K : Real) * (T : Real) * (T : Real) * (((T + 1 : Nat) : Real)))) 0
theorem
BanditRLProof.UCB.selectedPolicySuccessorFiniteArmTimeLogBudget_asymptoticDelta_le
Compiled
Eventually, the scheduled finite-arm/time peeling budget is at most `4 log(T+1)`.
theorem selectedPolicySuccessorFiniteArmTimeLogBudget_asymptoticDelta_le (K T : Nat) (hK : 0 < K) (hT : 0 < T) (hlarge : 2 * K <= T + 1) : selectedPolicySuccessorFiniteArmTimeLogBudget K T T (selectedPolicySuccessorAsymptoticDelta T) <= 4 * Real.log (((T + 1 : Nat) : Real))
def
BanditRLProof.UCB.selectedPolicySuccessorAsymptoticGapCoefficient
Compiled
Fixed coefficient that absorbs one positive-gap arm's scheduled textbook budget.
noncomputable def selectedPolicySuccessorAsymptoticGapCoefficient (sigma2 : NNReal) (gap : Real) : Real
theorem
BanditRLProof.UCB.selectedPolicySuccessorTextbookGapBudget_add_failure_asymptoticDelta_le
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem selectedPolicySuccessorTextbookGapBudget_add_failure_asymptoticDelta_le (K : Nat) (sigma2 : NNReal) (T : Nat) (gap : Real) (hK : 0 < K) (hT : 0 < T) (hlarge : 2 * K <= T + 1) (hgap : 0 < gap) : selectedPolicySuccessorTextbookGapBudget K sigma2 T (selectedPolicySuccessorAsymptoticDelta T) gap + gap * ((T : Real) * selectedPolicySuccessorAsymptoticDelta T) <= selectedPolicySuccessorAsymptoticGapCoefficient sigma2 gap * (1 + Real.log (((T + 1 : Nat) : Real)))
def
BanditRLProof.UCB.selectedPolicySuccessorAsymptoticModelCoefficient
Compiled
Fixed finite-arm coefficient for the asymptotic textbook UCB envelope.
noncomputable def selectedPolicySuccessorAsymptoticModelCoefficient {K : Nat} (model : FiniteBanditModel K) (sigma2 : NNReal) : Real
theorem
BanditRLProof.UCB.selectedPolicySuccessorTextbookGapSum_asymptoticDelta_le
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem selectedPolicySuccessorTextbookGapSum_asymptoticDelta_le {K : Nat} (model : FiniteBanditModel K) (sigma2 : NNReal) (T : Nat) (hT : 0 < T) (hlarge : 2 * K <= T + 1) : ((Finset.univ : Finset (Fin K)).filter (fun arm => 0 < (((model.gap arm : Rat) : Real)))).sum (fun arm => selectedPolicySuccessorTextbookGapBudget K sigma2 T (selectedPolicySuccessorAsymptoticDelta T) (((model.gap arm : Rat) : Real)) + (((model.gap arm : Rat) : Real)) * ((T : Real) * selectedPolicySuccessorAsymptoticDelta T)) <= selectedPolicySuccessorAsymptoticModelCoefficient model sigma2 * (1 + Real.log (((T + 1 : Nat) : Real)))
def
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret
Compiled
Exact sampled-successor expected pseudo-regret for the canonical pair process at confidence budget `1 / (T + 1)`.
noncomputable def selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (T : Nat) : Real
theorem
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_nonneg_and_le
Compiled
Pointwise fixed-horizon envelope used by the asymptotic route.
theorem selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_nonneg_and_le {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (mean : Context -> Fin K -> Rat) (varianceProxy : Context -> Fin K -> NNReal) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (hmean : Measurable (fun pair : Prod Context (Fin K) => mean pair.1 pair.2)) (law : RewardKernel.CenteredRewardKernelLaw rewardKernel mean varianceProxy) (hvariance : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, varianceProxy (context i history) arm <= sigma2) (harmMean : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, mean (context i history) arm = model.mean arm) (hsigma2 : 0 < (((sigma2 : NNReal) : Real))) (T : Nat) (hT : 0 < T) (hlarge : 2 * K <= T + 1) : 0 <= selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret model mu0 rewardKernel context defaultAction sigma2 hcontext T /\ selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret model mu0 rewardKernel context defaultAction sigma2 hcontext T <= selectedPolicySuccessorAsymptoticModelCoefficient model sigma2 * (1 + Real.log (((T + 1 : Nat) : Real)))
theorem
BanditRLProof.UCB.selectedPolicySuccessorAsymptoticModelCoefficient_nonneg
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem selectedPolicySuccessorAsymptoticModelCoefficient_nonneg {K : Nat} (model : FiniteBanditModel K) (sigma2 : NNReal) : 0 <= selectedPolicySuccessorAsymptoticModelCoefficient model sigma2
theorem
BanditRLProof.UCB.one_add_log_natCast_succ_isBigO_log_natCast_succ
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem one_add_log_natCast_succ_isBigO_log_natCast_succ : (fun T : Nat => 1 + Real.log (((T + 1 : Nat) : Real))) =O[atTop] (fun T : Nat => Real.log (((T + 1 : Nat) : Real)))
theorem
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_isBigO_log
Compiled
For fixed model and reward-law data, the exact canonical sampled-successor expected pseudo-regret is logarithmic for the horizon-indexed confidence schedule `1 / (T + 1)`.
theorem selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_isBigO_log {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (mean : Context -> Fin K -> Rat) (varianceProxy : Context -> Fin K -> NNReal) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (hmean : Measurable (fun pair : Prod Context (Fin K) => mean pair.1 pair.2)) (law : RewardKernel.CenteredRewardKernelLaw rewardKernel mean varianceProxy) (hvariance : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, varianceProxy (context i history) arm <= sigma2) (harmMean : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, mean (context i history) arm = model.mean arm) (hsigma2 : 0 < (((sigma2 : NNReal) : Real))) : (selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret model mu0 rewardKernel context defaultAction sigma2 hcontext) =O[atTop] (fun T : Nat => Real.log (((T + 1 : Nat) : Real)))
theorem
BanditRLProof.UCB.log_natCast_succ_isLittleO_natCast_succ
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem log_natCast_succ_isLittleO_natCast_succ : (fun T : Nat => Real.log (((T + 1 : Nat) : Real))) =o[atTop] (fun T : Nat => (((T + 1 : Nat) : Real)))
theorem
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_isLittleO_natCast_succ
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret_isLittleO_natCast_succ {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (mean : Context -> Fin K -> Rat) (varianceProxy : Context -> Fin K -> NNReal) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (hmean : Measurable (fun pair : Prod Context (Fin K) => mean pair.1 pair.2)) (law : RewardKernel.CenteredRewardKernelLaw rewardKernel mean varianceProxy) (hvariance : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, varianceProxy (context i history) arm <= sigma2) (harmMean : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, mean (context i history) arm = model.mean arm) (hsigma2 : 0 < (((sigma2 : NNReal) : Real))) : (selectedPolicySuccessorActionRewardTrajMeasureExpectedPseudoRegret model mu0 rewardKernel context defaultAction sigma2 hcontext) =o[atTop] (fun T : Nat => (((T + 1 : Nat) : Real)))
def
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedAveragePseudoRegret
Compiled
Expected sampled-successor pseudo-regret normalized by `T + 1`.
noncomputable def selectedPolicySuccessorActionRewardTrajMeasureExpectedAveragePseudoRegret {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (T : Nat) : Real
theorem
BanditRLProof.UCB.selectedPolicySuccessorActionRewardTrajMeasureExpectedAveragePseudoRegret_tendsto_zero
Compiled
For the fixed-model horizon-indexed canonical UCB family, expected sampled-successor pseudo-regret normalized by `T + 1` tends to zero.
theorem selectedPolicySuccessorActionRewardTrajMeasureExpectedAveragePseudoRegret_tendsto_zero {Context : Type u} {K : Nat} [MeasurableSpace Context] (model : FiniteBanditModel K) (mu0 : Measure (Prod (Fin K) Rat)) [IsProbabilityMeasure mu0] (rewardKernel : RewardKernel.MarkovRewardKernel (Prod Context (Fin K)) Rat) (context : (n : Nat) -> ((j : Finset.Iic n) -> Rat) -> Context) (mean : Context -> Fin K -> Rat) (varianceProxy : Context -> Fin K -> NNReal) (defaultAction : Fin K) (sigma2 : NNReal) (hcontext : forall n : Nat, Measurable (context n)) (hmean : Measurable (fun pair : Prod Context (Fin K) => mean pair.1 pair.2)) (law : RewardKernel.CenteredRewardKernelLaw rewardKernel mean varianceProxy) (hvariance : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, varianceProxy (context i history) arm <= sigma2) (harmMean : forall i : Nat, forall history : ((j : Finset.Iic i) -> Rat), forall arm : Fin K, mean (context i history) arm = model.mean arm) (hsigma2 : 0 < (((sigma2 : NNReal) : Real))) : Tendsto (selectedPolicySuccessorActionRewardTrajMeasureExpectedAveragePseudoRegret model mu0 rewardKernel context defaultAction sigma2 hcontext) atTop (nhds 0)