Learning.nextAction_detAlgorithm
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.
nextAction_detAlgorithm๐
Learning.nextAction_detAlgorithmNo docstring.
Learning.nextAction_detAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐} {h_next : โ (n : โ), Measurable (nextA n)} {action0 : ๐} [MeasurableSpace.SeparatesPoints ๐] (n : โ) : nextAction (detAlgorithm nextA h_next action0) n = nextA nLearning.nextAction_detAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐} {h_next : โ (n : โ), Measurable (nextA n)} {action0 : ๐} [MeasurableSpace.SeparatesPoints ๐] (n : โ) : nextAction (detAlgorithm nextA h_next action0) n = nextA n
Code
lemma nextAction_detAlgorithm [MeasurableSpace.SeparatesPoints ๐] (n : โ) :
nextAction (detAlgorithm nextA h_next action0) n = nextA nType uses (3)
Actions: Source ยท Open Issue
Proof
by have h_eq := policy_eq_deterministic (detAlgorithm nextA h_next action0) n simpa [detAlgorithm] using h_eq.symm
Dependency graph
Type dependencies (3)
nextAction๐
Learning.nextAction
The next action of a deterministic algorithm after step n.
Learning.nextAction.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (alg : Algorithm ๐ ๐จ) [h_det : IsDeterministicAlg alg] (n : โ) : (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐Learning.nextAction.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (alg : Algorithm ๐ ๐จ) [h_det : IsDeterministicAlg alg] (n : โ) : (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐
Code
noncomputable
def nextAction (alg : Algorithm ๐ ๐จ) [h_det : IsDeterministicAlg alg] (n : โ) :
(Iic n โ ๐ ร ๐จ) โ ๐ :=
(h_det.exists_nextAction n).chooseType uses (2)
Used by (9)
Actions: Source ยท Open Issue
detAlgorithm๐
Learning.detAlgorithm
A deterministic algorithm, which chooses the action given by the function nextAction.
Learning.detAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐) (h_next : โ (n : โ), Measurable (nextA n)) (action0 : ๐) : Algorithm ๐ ๐จLearning.detAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐) (h_next : โ (n : โ), Measurable (nextA n)) (action0 : ๐) : Algorithm ๐ ๐จ
Code
noncomputable
def detAlgorithm (nextA : (n : โ) โ (Iic n โ ๐ ร ๐จ) โ ๐)
(h_next : โ n, Measurable (nextA n)) (action0 : ๐) :
Algorithm ๐ ๐จ where
policy n := Kernel.deterministic (nextA n) (h_next n)
p0 := Measure.dirac action0Type uses (1)
Used by (15)
Actions: Source ยท Open Issue
instIsDeterministicAlgDetAlgorithm๐
Learning.instIsDeterministicAlgDetAlgorithmNo docstring.
Learning.instIsDeterministicAlgDetAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐} {h_next : โ (n : โ), Measurable (nextA n)} {action0 : ๐} : IsDeterministicAlg (detAlgorithm nextA h_next action0)Learning.instIsDeterministicAlgDetAlgorithm.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {nextA : (n : โ) โ (โฅ(Finset.Iic n) โ ๐ ร ๐จ) โ ๐} {h_next : โ (n : โ), Measurable (nextA n)} {action0 : ๐} : IsDeterministicAlg (detAlgorithm nextA h_next action0)
Code
instance : IsDeterministicAlg (detAlgorithm nextA h_next action0) where exists_action0
Type uses (2)
Body uses (1)
Used by (9)
Actions: Source ยท Open Issue
Proof
โจaction0, rflโฉ exists_nextAction n := โจnextA n, h_next n, rflโฉ
All dependencies, transitively (2)
Algorithm๐
Learning.AlgorithmA stochastic, sequential algorithm.
Learning.Algorithm.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)Learning.Algorithm.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)
Code
structure Algorithm (๐ ๐จ : Type*) [MeasurableSpace ๐] [MeasurableSpace ๐จ] where /-- Policy or sampling rule: distribution of the next action. -/ policy : (n : โ) โ Kernel (Iic n โ ๐ ร ๐จ) ๐ /-- The policy is a Markov kernel. -/ [h_policy : โ n, IsMarkovKernel (policy n)] /-- Distribution of the first action. -/ p0 : Measure ๐ /-- The first action distribution is a probability measure. -/ [hp0 : IsProbabilityMeasure p0]
Used by (216)
Actions: Source ยท Open Issue
IsDeterministicAlg๐
Learning.IsDeterministicAlgAn algorithm is deterministic if its initial action and subsequent actions are determined by measurable functions (and not possibly random kernels).
Learning.IsDeterministicAlg.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (alg : Algorithm ๐ ๐จ) : PropLearning.IsDeterministicAlg.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} (alg : Algorithm ๐ ๐จ) : Prop
Code
class IsDeterministicAlg (alg : Algorithm ๐ ๐จ) : Prop where
exists_action0 : โ action0, alg.p0 = Measure.dirac action0
exists_nextAction n : โ (nextAction : (Iic n โ ๐ ร ๐จ) โ ๐) (h_meas : Measurable nextAction),
alg.policy n = Kernel.deterministic nextAction h_measType uses (1)
Used by (14)
Actions: Source ยท Open Issue