Skip to content

Series · 3 parts

Inside RL

Reinforcement learning for working engineers — what it is, how to design environments for it, and how the algorithms actually run at runtime

Most reinforcement learning writing is for academic researchers. It starts with Markov Decision Processes, the Bellman equation, and a small army of Greek letters, and never quite answers the engineer's question: how would I actually use this on my system?

This series is for the other audience — working software engineers and technical leads who think in graphs, caches, and fixed points. The series covers, in order:

  • What RL is, the vocabulary, and when to reach for it.
  • How to design an environment — state, action, reward — for your problem.
  • How value iteration actually runs at runtime (and why it isn't recursive tree search).
  • How Q-learning extends value iteration to action selection.
  • What changes in deep RL when the value table becomes a neural network.

The first two posts are the ones most RL introductions skip. They're also the ones that determine whether your RL project ships.

Algorithms are commodities. Well-formed environments aren't.

The series assumes you can read pseudocode and have at least passing familiarity with one machine learning framework. No prior RL knowledge is required.

The Series

  1. 1

    An introduction to reinforcement learning

    The orientation for working engineers before the rest of the series goes into algorithm internals. What RL is, the vocabulary, the Bellman idea, when to reach for it, and a map of the five posts.

  2. 2

    Designing environments for RL

    Most RL writing is about algorithms. In practice, environment design — the state, action, and reward decisions that sit between your system and the algorithm — is where projects succeed or fail. This is the part that almost never gets covered.

  3. 3

    Inside the Bellman loop: how value actually propagates

    Bellman equations are usually introduced recursively, and the recursion misleads programmers. The runtime is closer to iterative graph relaxation — value sweeping backward through a state graph until it stops moving.