Reference · Finite types, distributions and Markov chains
rainbow.math.finite.policy-evaluation
AHoF D20: bounded finite-policy evaluation over exact rational data.
nat/recursor-successor-constant
nat/recursor-successor-constant.{u} :
(C : Type u) (initial : C) (step : ℕ → C → C) (count : ℕ)
→ data/Nat.rec (fun x₄ => C) initial step (data/succ count) = step count (data/Nat.rec (fun x₈ => C) initial step count)= = equality/Eqℕ = data/Nat
bellman/nnrat-value-iterate-successor
bellman/nnrat-value-iterate-successor.{u} :
(A : Type u) (source : Finset A) (transition : A → A → ℚ≥0) (reward : A → ℚ≥0)
(discount : ℚ≥0) (steps : ℕ) (initial : A → ℚ≥0)
→ data/Nat.rec (fun x₆ => A → ℚ≥0) initial (fun x₇ => fun previous-value => fun state => policy previous-value state) (data/succ steps) = (fun x₈ => fun previous-value => fun candidate => policy previous-value candidate) steps (data/Nat.rec (fun x₁₄ => A → ℚ≥0) initial (fun x₁₅ => fun previous-value => fun state => policy previous-value state) steps)
where policy := bellman/nnrat-fixed-policy A source transition reward discount= = equality/EqFinset = finset-data/Finsetℕ = data/Natℚ≥0 = nnrat/NonnegativeRational
bellman/nnrat-value-iterate-congruent
bellman/nnrat-value-iterate-congruent.{u} :
(A : Type u) (source : Finset A) (transition equivalent-transition : A → A → ℚ≥0)
(reward equivalent-reward : A → ℚ≥0) (discount equivalent-discount : ℚ≥0)
(initial equivalent-initial : A → ℚ≥0)
(same-transition : ∀ (state : A), ∀ (next : A), transition state next = equivalent-transition state next)
(same-reward : ∀ (state : A), reward state = equivalent-reward state)
(same-discount : discount = equivalent-discount)
(same-initial : ∀ (state : A), initial state = equivalent-initial state)
(steps : ℕ) (state : A)
→ data/Nat.rec (fun x₈ => A → ℚ≥0) initial (fun x₉ => fun previous-value => fun state₁ => policy₁ previous-value state₁) steps state = data/Nat.rec (fun x₁₇ => A → ℚ≥0) equivalent-initial (fun x₁₈ => fun previous-value => fun state₁ => policy previous-value state₁) steps state
where policy := bellman/nnrat-fixed-policy A source equivalent-transition equivalent-reward equivalent-discount
where policy₁ := bellman/nnrat-fixed-policy A source transition reward discount= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetℕ = data/Natℚ≥0 = nnrat/NonnegativeRational
bellman/nnrat-value-iterate-model-transfer
bellman/nnrat-value-iterate-model-transfer.{u} :
(A : Type u) (source : Finset A) (transition equivalent-transition : A → A → ℚ≥0)
(reward equivalent-reward : A → ℚ≥0) (discount equivalent-discount : ℚ≥0)
(initial : A → ℚ≥0)
(same-transition : ∀ (state : A), ∀ (next : A), transition state next = equivalent-transition state next)
(same-reward : ∀ (state : A), reward state = equivalent-reward state)
(same-discount : discount = equivalent-discount)
(steps : ℕ) (state : A)
→ data/Nat.rec (fun x₈ => A → ℚ≥0) initial (fun x₉ => fun previous-value => fun state₁ => policy₁ previous-value state₁) steps state = data/Nat.rec (fun x₁₇ => A → ℚ≥0) initial (fun x₁₈ => fun previous-value => fun state₁ => policy previous-value state₁) steps state
where policy := bellman/nnrat-fixed-policy A source equivalent-transition equivalent-reward equivalent-discount
where policy₁ := bellman/nnrat-fixed-policy A source transition reward discount= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetℕ = data/Natℚ≥0 = nnrat/NonnegativeRational
bellman/nnrat-value-iterate-initial-transfer
bellman/nnrat-value-iterate-initial-transfer.{u} :
(A : Type u) (source : Finset A) (transition : A → A → ℚ≥0) (reward : A → ℚ≥0)
(discount : ℚ≥0) (initial equivalent-initial : A → ℚ≥0)
(same-initial : ∀ (state : A), initial state = equivalent-initial state)
(steps : ℕ) (state : A)
→ data/Nat.rec (fun x₈ => A → ℚ≥0) initial (fun x₉ => fun previous-value => fun state₁ => policy previous-value state₁) steps state = data/Nat.rec (fun x₁₇ => A → ℚ≥0) equivalent-initial (fun x₁₈ => fun previous-value => fun state₁ => policy previous-value state₁) steps state
where policy := bellman/nnrat-fixed-policy A source transition reward discount= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetℕ = data/Natℚ≥0 = nnrat/NonnegativeRational