LeanMachineLearning exposition

Learning.instIsDeterministicAlgDetAlgorithm๐Ÿ”—

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.

Minimal Lean file

instIsDeterministicAlgDetAlgorithm๐Ÿ”—

InstanceLearning.instIsDeterministicAlgDetAlgorithm

No docstring.

๐Ÿ”—theorem
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โŸฉ

Dependency graph

Type dependencies (2)

IsDeterministicAlg๐Ÿ”—

Type ClassLearning.IsDeterministicAlg

An algorithm is deterministic if its initial action and subsequent actions are determined by measurable functions (and not possibly random kernels).

๐Ÿ”—type class
Learning.IsDeterministicAlg.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) : Prop
Learning.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_meas
Type uses (1)
Used by (14)

Actions: Source ยท Open Issue

detAlgorithm๐Ÿ”—

DefinitionLearning.detAlgorithm

A deterministic algorithm, which chooses the action given by the function nextAction.

๐Ÿ”—def
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 action0
Type uses (1)
Used by (15)

Actions: Source ยท Open Issue

All dependencies, transitively (1)

Algorithm๐Ÿ”—

StructureLearning.Algorithm

A stochastic, sequential algorithm.

๐Ÿ”—structure
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