Learning.feedbackCondAction_onlineEvalEnv
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.
feedbackCondAction_onlineEvalEnv🔗
Learning.feedbackCondAction_onlineEvalEnvNo docstring.
Learning.feedbackCondAction_onlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} {g : ℕ → 𝓐 → 𝓨} {hg : ∀ (n : ℕ), Measurable (g n)} (n : ℕ) : feedbackCondAction (onlineEvalEnv g hg) n = ProbabilityTheory.Kernel.deterministic (g n) ⋯Learning.feedbackCondAction_onlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} {g : ℕ → 𝓐 → 𝓨} {hg : ∀ (n : ℕ), Measurable (g n)} (n : ℕ) : feedbackCondAction (onlineEvalEnv g hg) n = ProbabilityTheory.Kernel.deterministic (g n) ⋯
Code
lemma feedbackCondAction_onlineEvalEnv (n : ℕ) :
feedbackCondAction (onlineEvalEnv g hg) n = Kernel.deterministic (g n) (hg n)Type uses (3)
Body uses (1)
Actions: Source · Open Issue
Proof
by simp [onlineEvalEnv]
Dependency graph
Type dependencies (3)
feedbackCondAction🔗
Learning.feedbackCondAction
The kernel representing the conditional distribution of the feedback given the action
at time n in an oblivious environment.
Learning.feedbackCondAction.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (env : Environment 𝓐 𝓨) [h_obl : IsObliviousEnv env] (n : ℕ) : ProbabilityTheory.Kernel 𝓐 𝓨Learning.feedbackCondAction.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (env : Environment 𝓐 𝓨) [h_obl : IsObliviousEnv env] (n : ℕ) : ProbabilityTheory.Kernel 𝓐 𝓨
Code
noncomputable def feedbackCondAction (env : Environment 𝓐 𝓨) [h_obl : IsObliviousEnv env] (n : ℕ) : Kernel 𝓐 𝓨 := h_obl.exists_eq_prodMkLeft.choose n
Type uses (2)
Used by (12)
Actions: Source · Open Issue
onlineEvalEnv🔗
Learning.onlineEvalEnv
The evaluation environment where the feedback is given by evaluating a fixed measurable function
f at the chosen action.
Learning.onlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (g : ℕ → 𝓐 → 𝓨) (hg : ∀ (n : ℕ), Measurable (g n)) : Environment 𝓐 𝓨Learning.onlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (g : ℕ → 𝓐 → 𝓨) (hg : ∀ (n : ℕ), Measurable (g n)) : Environment 𝓐 𝓨
Code
noncomputable def onlineEvalEnv (g : ℕ → 𝓐 → 𝓨) (hg : ∀ n, Measurable (g n)) := obliviousEnv (fun n ↦ Kernel.deterministic (g n) (hg n))
Type uses (1)
Body uses (1)
Used by (11)
Actions: Source · Open Issue
instIsObliviousEnvOnlineEvalEnv🔗
Learning.instIsObliviousEnvOnlineEvalEnvNo docstring.
Learning.instIsObliviousEnvOnlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} {g : ℕ → 𝓐 → 𝓨} {hg : ∀ (n : ℕ), Measurable (g n)} : IsObliviousEnv (onlineEvalEnv g hg)Learning.instIsObliviousEnvOnlineEvalEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} {g : ℕ → 𝓐 → 𝓨} {hg : ∀ (n : ℕ), Measurable (g n)} : IsObliviousEnv (onlineEvalEnv g hg)
Code
instance : IsObliviousEnv (onlineEvalEnv g hg)
Type uses (2)
Body uses (1)
Used by (3)
Actions: Source · Open Issue
Proof
⟨⟨fun n ↦ Kernel.deterministic (g n) (hg n), fun _ ↦ inferInstance, rfl, fun _ ↦ rfl⟩⟩
All dependencies, transitively (3)
Environment🔗
Learning.EnvironmentA stochastic environment.
Learning.Environment.{u_4, u_5} (𝓐 : Type u_4) (𝓨 : Type u_5) [MeasurableSpace 𝓐] [MeasurableSpace 𝓨] : Type (max u_4 u_5)Learning.Environment.{u_4, u_5} (𝓐 : Type u_4) (𝓨 : Type u_5) [MeasurableSpace 𝓐] [MeasurableSpace 𝓨] : Type (max u_4 u_5)
Code
structure Environment (𝓐 𝓨 : Type*) [MeasurableSpace 𝓐] [MeasurableSpace 𝓨] where /-- Distribution of the next observation as function of the past history. -/ feedback : (n : ℕ) → Kernel ((Iic n → 𝓐 × 𝓨) × 𝓐) 𝓨 /-- The feedback kernels are Markov kernels. -/ [h_feedback : ∀ n, IsMarkovKernel (feedback n)] /-- Distribution of the first observation given the first action. -/ ν0 : Kernel 𝓐 𝓨 /-- The initial observation kernel is a Markov kernel. -/ [hp0 : IsMarkovKernel ν0]
Actions: Source · Open Issue
IsObliviousEnv🔗
Learning.IsObliviousEnvAn environment is oblivious if the distribution of the next feedback depends only on the last action and not on the past history.
Learning.IsObliviousEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (env : Environment 𝓐 𝓨) : PropLearning.IsObliviousEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (env : Environment 𝓐 𝓨) : Prop
Code
class IsObliviousEnv (env : Environment 𝓐 𝓨) : Prop where
exists_eq_prodMkLeft : ∃ ν : ℕ → Kernel 𝓐 𝓨, (∀ n, IsMarkovKernel (ν n)) ∧
(env.ν0 = ν 0) ∧ (∀ n, env.feedback n = (ν (n + 1)).prodMkLeft _)Type uses (1)
Used by (13)
Actions: Source · Open Issue
obliviousEnv🔗
Learning.obliviousEnvAn oblivious environment, in which the distribution of the next feedback depends only on the last action, but in a possibly time-dependent manner.
Learning.obliviousEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (ν : ℕ → ProbabilityTheory.Kernel 𝓐 𝓨) [∀ (n : ℕ), ProbabilityTheory.IsMarkovKernel (ν n)] : Environment 𝓐 𝓨Learning.obliviousEnv.{u_1, u_2} {𝓐 : Type u_1} {𝓨 : Type u_2} {m𝓐 : MeasurableSpace 𝓐} {m𝓨 : MeasurableSpace 𝓨} (ν : ℕ → ProbabilityTheory.Kernel 𝓐 𝓨) [∀ (n : ℕ), ProbabilityTheory.IsMarkovKernel (ν n)] : Environment 𝓐 𝓨
Code
def obliviousEnv (ν : ℕ → Kernel 𝓐 𝓨) [∀ n, IsMarkovKernel (ν n)] : Environment 𝓐 𝓨 where feedback n := (ν (n + 1)).prodMkLeft _ ν0 := ν 0
Type uses (1)
Used by (10)
Actions: Source · Open Issue