Skip to content
Rainbow docs menu

Reference · Foundations

rainbow.math.temporal-difference

Foundationssrc/rainbow/math/temporal_difference.clj4 definitions, 3 theorems

Bounded temporal-difference (Q-learning) updates over signed rationals. The temporal-difference error `reward + discount * next - current` is a signed quantity that can be negative when the current estimate is too high, and the update nudges the estimate by the rate-scaled error: `current + rate * error`. Signed rationals make the negative correction representable without any kernel primitive subtraction. The update rule is the shared ITERATE skeleton of AHoF D61 Q-learning, D62 Sarsa, and Expected Sarsa (only the target differs).

signed/scale

DefinitionSource, line 64

signed/scale :
  (x₁ : ℚ≥0) (x₂ : ℚ)
  → ℚ

ℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-td-error

DefinitionSource, line 72

learning/signed-td-error :
  (x₁ : ℚ) (x₂ : ℚ≥0) (x₃ x₄ : ℚ)
  → ℚ

ℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-q-update

DefinitionSource, line 82

learning/signed-q-update :
  (x₁ : ℚ≥0) (x₂ : ℚ) (x₃ : ℚ≥0) (x₄ x₅ : ℚ)
  → ℚ

ℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-q-iterate

DefinitionSource, line 92

learning/signed-q-iterate :
  (x₁ : ℚ≥0) (x₂ : ℚ) (x₃ : ℚ≥0) (x₄ : ℚ) (x₅ : ℕ) (x₆ : ℚ)
  → ℚ

ℕ = data/Natℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-td-error-unfold

TheoremHolds by unfolding a definitionNo axiomsSource, line 113

learning/signed-td-error-unfold :
  (reward : ℚ) (discount : ℚ≥0) (next current : ℚ)
  → learning/signed-td-error reward discount next current = reward + signed/scale discount next - current

+ = signed/add- = signed/subtract= = equality/Eqℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-q-update-unfold

TheoremHolds by unfolding a definitionNo axiomsSource, line 129

learning/signed-q-update-unfold :
  (rate : ℚ≥0) (reward : ℚ) (discount : ℚ≥0) (next current : ℚ)
  → learning/signed-q-update rate reward discount next current = current + signed/scale rate (error)
  where error := learning/signed-td-error reward discount next current

+ = signed/add= = equality/Eqℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

learning/signed-q-iterate-zero

TheoremHolds by unfolding a definitionNo axiomsSource, line 146

learning/signed-q-iterate-zero :
  (rate : ℚ≥0) (reward : ℚ) (discount : ℚ≥0) (next initial : ℚ)
  → learning/signed-q-iterate rate reward discount next 0 initial = initial

= = equality/Eqℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational