Skip to content
Rainbow docs menu

Reference · Finite types, distributions and Markov chains

rainbow.math.finite.policy-iteration

Finite types, distributions and Markov chainssrc/rainbow/math/finite/policy_iteration.clj2 definitions, 7 theorems

Finite exact-rational policy improvement and one composed iteration step.

policy/nnrat-improve

DefinitionSource, line 108

policy/nnrat-improve.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A) (score : S → A → ℚ≥0)
  (x₁ : S)
  → A

Finset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational

policy/nnrat-iteration-step

DefinitionSource, line 128

policy/nnrat-iteration-step.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A)
  (evaluate : (S → A) → S → ℚ≥0) (action-score : (S → ℚ≥0) → S → A → ℚ≥0) (x₁ : S)
  → A

Finset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational

nnrat/equivalent-to-at-most

TheoremFor all inputsNo axiomsSource, line 41

nnrat/equivalent-to-at-most :
  (left right : ℚ≥0)
  (same : left = right)
  → left ≤ right

= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/at-most-respects-equivalence

TheoremFor all inputsNo axiomsSource, line 76

nnrat/at-most-respects-equivalence :
  (left equivalent-left right equivalent-right : ℚ≥0)
  (same-left : left = equivalent-left)
  (same-right : right = equivalent-right)
  (ordered : equivalent-left ≤ equivalent-right)
  → left ≤ right

= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

policy/nnrat-improve-is-admissible

TheoremFor all inputsNo axiomsSource, line 155

policy/nnrat-improve-is-admissible.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A) (score : S → A → ℚ≥0)
  (current-admissible : ∀ (state : S), current state ∈ actions)
  (state : S)
  → policy/nnrat-improve S A actions current score state ∈ actions

Finset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set

policy/nnrat-improve-dominates

TheoremFor all inputsNo axiomsSource, line 187

policy/nnrat-improve-dominates.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A) (score : S → A → ℚ≥0)
  (state : S) (candidate : A)
  (member : candidate ∈ actions)
  → score state candidate ≤ score state (policy/nnrat-improve S A actions current score state)

Finset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set≤ = nnrat/at-most

policy/nnrat-iteration-step-unfold

TheoremHolds by unfolding a definitionNo axiomsSource, line 221

policy/nnrat-iteration-step-unfold.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A)
  (evaluate : (S → A) → S → ℚ≥0) (action-score : (S → ℚ≥0) → S → A → ℚ≥0) (state : S)
  → policy/nnrat-iteration-step S A actions current evaluate action-score state = policy/nnrat-improve S A actions current (action-score (evaluate current)) state

= = equality/EqFinset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational

policy/nnrat-improvement-model-transfer

TheoremFor all inputsNo axiomsSource, line 254

policy/nnrat-improvement-model-transfer.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A)
  (left-score right-score : S → A → ℚ≥0)
  (same-score : ∀ (state : S), ∀ (action : A), left-score state action = right-score state action)
  (state : S) (candidate : A)
  (member : candidate ∈ actions)
  → right-score state candidate ≤ right-score state (policy/nnrat-improve S A actions current left-score state)

= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set≤ = nnrat/at-most

policy/nnrat-improvement-state-transfer

TheoremFor all inputsNo axiomsSource, line 303

policy/nnrat-improvement-state-transfer.{u, v} :
  (S : Type u) (A : Type v) (actions : Finset A) (current : S → A) (score : S → A → ℚ≥0)
  (current-admissible : ∀ (state : S), current state ∈ actions)
  (state : S)
  → proposition/conjunction (improve ∈ actions) (∀ (candidate : A), ∀ (member : candidate ∈ actions), score state candidate ≤ score state (improve))
  where improve := policy/nnrat-improve S A actions current score state

Finset = finset-data/Finsetℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set≤ = nnrat/at-most