Bandits.ClippedUCB.measurable_uncurry_ucb'
This page has the declaration's own card below, then its dependency graph, then a card for each dependency (type dependencies first, then the rest of the transitive closure). For a theorem, the graph and the dependency cards only follow its statement's dependencies (its proof is replaced by sorry, so what it proves doesn't depend on how); for everything else, both the type and the body/value are followed, since their content is part of what later declarations build on.
measurable_uncurry_ucb'🔗
Bandits.ClippedUCB.measurable_uncurry_ucb'No docstring.
Bandits.ClippedUCB.measurable_uncurry_ucb' {K : ℕ} {l u σ2 δ : ℝ} {n : ℕ} : Measurable fun p => ucb' n (Prod.fst p) l u σ2 δ (Prod.snd p)Bandits.ClippedUCB.measurable_uncurry_ucb' {K : ℕ} {l u σ2 δ : ℝ} {n : ℕ} : Measurable fun p => ucb' n (Prod.fst p) l u σ2 δ (Prod.snd p)
Code
lemma measurable_uncurry_ucb' {n : ℕ} :
Measurable (fun p : (Iic n → Fin K × ℝ) × Fin K ↦ ucb' n p.1 l u σ2 δ p.2)Type uses (1)
Body uses (5)
Used by (1)
Actions: Source · Open Issue
Proof
Measurable.ite (by measurability) (by fun_prop) (by fun_prop)
Dependency graph
Type dependencies (1)
ucb'🔗
Bandits.ClippedUCB.ucb'Clipped upper confidence bound (history-based version).
Bandits.ClippedUCB.ucb' {K : ℕ} (n : ℕ) (h : ↥(Finset.Iic n) → Fin K × ℝ) (l u σ2 δ : ℝ) (a : Fin K) : ℝBandits.ClippedUCB.ucb' {K : ℕ} (n : ℕ) (h : ↥(Finset.Iic n) → Fin K × ℝ) (l u σ2 δ : ℝ) (a : Fin K) : ℝ
Code
noncomputable def ucb' (n : ℕ) (h : Iic n → Fin K × ℝ) (l u σ2 δ : ℝ) (a : Fin K) : ℝ := if pullCount' n h a = 0 then u else max l (min u (empMean' n h a + √(2 * σ2 * Real.log (1 / δ) / (pullCount' n h a))))
Body uses (2)
Actions: Source · Open Issue
All dependencies, transitively (3)
pullCount'🔗
Learning.pullCount'
Number of pulls of arm a up to (and including) time n.
This is the number of entries in h in which the arm is a.
Learning.pullCount'.{u_1, u_2} {𝓐 : Type u_1} {R : Type u_2} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × R) (a : 𝓐) : ℕLearning.pullCount'.{u_1, u_2} {𝓐 : Type u_1} {R : Type u_2} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × R) (a : 𝓐) : ℕ
Code
noncomputable
def pullCount' (n : ℕ) (h : Iic n → 𝓐 × R) (a : 𝓐) := #{s | (h s).1 = a}Used by (29)
Actions: Source · Open Issue
sumRewards'🔗
Learning.sumRewards'
Sum of rewards of arm a up to (and including) time n.
Learning.sumRewards'.{u_1} {𝓐 : Type u_1} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × ℝ) (a : 𝓐) : ℝLearning.sumRewards'.{u_1} {𝓐 : Type u_1} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × ℝ) (a : 𝓐) : ℝ
Code
noncomputable def sumRewards' (n : ℕ) (h : Iic n → 𝓐 × ℝ) (a : 𝓐) := ∑ s, if (h s).1 = a then (h s).2 else 0
Used by (9)
Actions: Source · Open Issue
empMean'🔗
Learning.empMean'
Empirical mean of arm a at time n.
Learning.empMean'.{u_1} {𝓐 : Type u_1} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × ℝ) (a : 𝓐) : ℝLearning.empMean'.{u_1} {𝓐 : Type u_1} [DecidableEq 𝓐] (n : ℕ) (h : ↥(Finset.Iic n) → 𝓐 × ℝ) (a : 𝓐) : ℝ
Code
noncomputable def empMean' (n : ℕ) (h : Iic n → 𝓐 × ℝ) (a : 𝓐) := (sumRewards' n h a) / (pullCount' n h a)
Body uses (2)
Used by (18)
Actions: Source · Open Issue