Bandits.ClippedUCB.ucb_succ_eq_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.
ucb_succ_eq_ucb'๐
Bandits.ClippedUCB.ucb_succ_eq_ucb'No docstring.
Bandits.ClippedUCB.ucb_succ_eq_ucb'.{u_1} {K : โ} {l u ฯ2 ฮด : โ} {ฮฉ : Type u_1} {A : โ โ ฮฉ โ Fin K} {R : โ โ ฮฉ โ โ} {a : Fin K} {n : โ} {ฯ : ฮฉ} : ucb A R l u ฯ2 ฮด a (n + 1) ฯ = ucb' n (Learning.history A R n ฯ) l u ฯ2 ฮด aBandits.ClippedUCB.ucb_succ_eq_ucb'.{u_1} {K : โ} {l u ฯ2 ฮด : โ} {ฮฉ : Type u_1} {A : โ โ ฮฉ โ Fin K} {R : โ โ ฮฉ โ โ} {a : Fin K} {n : โ} {ฯ : ฮฉ} : ucb A R l u ฯ2 ฮด a (n + 1) ฯ = ucb' n (Learning.history A R n ฯ) l u ฯ2 ฮด a
Code
lemma ucb_succ_eq_ucb' {a : Fin K} {n : โ} {ฯ : ฮฉ} :
ucb A R l u ฯ2 ฮด a (n + 1) ฯ = ucb' n (history A R n ฯ) l u ฯ2 ฮด aBody uses (6)
Used by (1)
Actions: Source ยท Open Issue
Proof
by
have hp : pullCount A a (n + 1) ฯ = pullCount' n (history A R n ฯ) a :=
pullCount_add_one_eq_pullCount'
have he : empMean A R a (n + 1) ฯ = empMean' n (history A R n ฯ) a :=
empMean_add_one_eq_empMean'
rw [ucb, ucb', hp, he]Dependency graph
Type dependencies (3)
ucb๐
Bandits.ClippedUCB.ucbClipped upper confidence bound used in the regret analysis of Thompson sampling.
Bandits.ClippedUCB.ucb.{u_1} {K : โ} {ฮฉ : Type u_1} (A : โ โ ฮฉ โ Fin K) (R : โ โ ฮฉ โ โ) (l u ฯ2 ฮด : โ) (a : Fin K) (n : โ) (ฯ : ฮฉ) : โBandits.ClippedUCB.ucb.{u_1} {K : โ} {ฮฉ : Type u_1} (A : โ โ ฮฉ โ Fin K) (R : โ โ ฮฉ โ โ) (l u ฯ2 ฮด : โ) (a : Fin K) (n : โ) (ฯ : ฮฉ) : โ
Code
noncomputable def ucb (A : โ โ ฮฉ โ Fin K) (R : โ โ ฮฉ โ โ) (l u ฯ2 ฮด : โ) (a : Fin K) (n : โ) (ฯ : ฮฉ) : โ := if pullCount A a n ฯ = 0 then u else max l (min u (empMean A R a n ฯ + โ(2 * ฯ2 * Real.log (1 / ฮด) / (pullCount A a n ฯ))))
Actions: Source ยท Open Issue
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
history๐
Learning.history
History of the algorithm-environment sequence up to time n.
Learning.history.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : โฅ(Finset.Iic n) โ ๐ ร ๐จLearning.history.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : โฅ(Finset.Iic n) โ ๐ ร ๐จ
Code
def history (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : Iic n โ ๐ ร ๐จ := fun i โฆ (A i ฯ, Y i ฯ)
Actions: Source ยท Open Issue
All dependencies, transitively (6)
pullCount๐
Learning.pullCount
Number of times action a was chosen up to time t (excluding t).
Learning.pullCount.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โLearning.pullCount.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ
Code
noncomputable def pullCount (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ := #(filter (fun s โฆ A s ฯ = a) (range t))
Actions: Source ยท Open Issue
sumRewards๐
Learning.sumRewards
Sum of rewards obtained when pulling action a up to time t (exclusive).
Learning.sumRewards.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โLearning.sumRewards.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ
Code
def sumRewards (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ := โ s โ range t, if A s ฯ = a then R' s ฯ else 0
Used by (44)
Actions: Source ยท Open Issue
empMean๐
Learning.empMean
Empirical mean reward obtained when pulling action a up to time t (exclusive).
Learning.empMean.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โLearning.empMean.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ
Code
noncomputable def empMean (A : โ โ ฮฉ โ ๐) (R' : โ โ ฮฉ โ โ) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ := sumRewards A R' a t ฯ / pullCount A a t ฯ
Body uses (2)
Actions: Source ยท Open Issue
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