IE437 · Data-Driven Decision Making and Control — Lecture 7

Markov Decision Processes & Dynamic Programming

A good plan stays good from wherever you land
Jinkyoo Park · KAIST
The deepest crossing — from choosing once, to choosing at every state your choices create
Markov Decision Processes & Dynamic ProgrammingLecture 7

Where we are — the deepest crossing

Previous step This chapter's question
Lecture 1 defined objectives and constraints; Lecture 3 added beliefs and utilities. Now each action changes the next state and later opportunities.

A Markov state summarizes the information needed for future prediction. Begin with a known transition model and calculate an expected return.

Calculate a temperature-control backup, then repeat after changing a transition.
Lecture 7 · Markov Decision Processes & Dynamic Programming2 / 55
Markov Decision Processes & Dynamic ProgrammingLecture 7

Learning route — one backup before a whole algorithm

Bring: Expectation, a discounted sum and finite tables.

First pass What to do
Follow the idea State/action/return → Bellman backup → evaluate and improve → PI/VI
Work without the solution Calculate a temperature-control backup, then repeat after changing a transition.
Return later The contraction proof and detailed convergence assumptions are second-pass reading.
For the temperature thread: predict → calculate → reveal and check → change one condition. Complete the core calculation before reading the research extensions.
Lecture 7 · Markov Decision Processes & Dynamic Programming3 / 55
Act 1

The arena, and the value of a state

Q1. A greedy rule scores an action by its own reward. Build the object that scores a situation instead.
ACT 1The arena, and the value of a stateLecture 7

Why a sequence is not many single choicesfrom the deck's opening example

The choice, with numbers

Standing in your final undergraduate year, three actions:

action reward now
get a job $4,000 / month
go to graduate school $500 / month
start a company $0 / month

A one-step-greedy rule takes the job and never looks up.

Why that is the wrong reading

Graduate school pays 500500 — and buys a state. From it a further action (publish XX papers) opens a distribution over researcher, professor, private company, officer, no job.

The 500500 was never the point. The state it bought was.

Actions are coupled through the state: what you do now changes the options and rewards you will have later. So an action cannot be scored by its own reward — only by the whole future it unlocks.

Which forces a new object. Instead of a number f(x)f(x) attached to a decision, we need a number attached to a situation — the total future reward a good plan can extract from it — plus an equation tying each situation's number to its successors'. That equation is Bellman's, and it is the lecture.

Lecture 7 · Markov Decision Processes & Dynamic Programming5 / 55
ACT 1The arena, and the value of a stateLecture 7

The arena — a Markov decision process

Q1 Why not greedy?Q2 What must value satisfy?Q3 How do we solve it?Q4 Why does it converge?

A finite MDP is the tuple ⟨S,A,T,R,γ⟩\langle \mathcal S, \mathcal A, T, R, \gamma\rangle:

  • states s∈Ss\in\mathcal S and actions a∈Aa\in\mathcal A, both finite;
  • a transition function T(s,a,s′)=P(St+1=s′∣St=s,At=a)=P(s′∣s,a)T(s,a,s') = P(S_{t+1}=s'\mid S_t=s, A_t=a) = P(s'\mid s,a) — the source deck's own gloss: also called the model, or the dynamics;
  • a reward function R(s,a,s′)R(s,a,s'), or its expectation E[rt+1∣St=s,At=a,St+1=s′]\E[r_{t+1}\mid S_t=s,A_t=a,S_{t+1}=s'] if the reward is itself random;
  • a discount γ∈[0,1)\gamma\in[0,1), and a start state s0s_0 (plus terminals sTs_T for episodic tasks).

Stationary means TT and RR do not depend on tt. That is what lets a chain of time slices collapse into a single recursive equation rather than one equation per step — and the two spellings T(s,a,s′)T(s,a,s') and P(s′∣s,a)P(s'\mid s,a) name the same object. Lecture 8 will use the second, and delete it.

The goal is not a trajectory. It is a policy π:S→A\pi:\mathcal S\to\mathcal A that names the best action at every state.
Lecture 7 · Markov Decision Processes & Dynamic Programming6 / 55
ACT 1The arena, and the value of a stateLecture 7

The Markov property — and the licence it grants

P(St+1=s′∣St,At,St−1,At−1,…,S0,A0)  =  P(St+1=s′∣St,At)P(S_{t+1}=s' \mid S_t, A_t, S_{t-1}, A_{t-1}, \dots, S_0, A_0) \;=\; P(S_{t+1}=s'\mid S_t, A_t)

Given the present state, the future and the past are independent. A state signal that retains all the relevant information is called Markov — the position and velocity of a projectile under known dynamics. A game state must also include the player to move and any history required by its rules.

The consequence is the one that matters, and it is not obvious:

π∗(st,st−1,…,s0)  =  π∗(st)\hl{\pi^*(s_t, s_{t-1},\dots,s_0) \;=\; \pi^*(s_t)}

For our finite discounted MDP, an optimal stationary policy can use only the present state. For a finite horizon, the best action can also depend on how much time remains: use πt(s)\pi_t(s) or include tt in the state.

Without it, "the value of a state" would be meaningless — value would have to be indexed by every path that could have led there, and there are exponentially many. The Markov property is what makes a table with one row per state a sufficient answer. Lecture 3 arrived at the same condition from the other side: it is a missing-edge pattern in a Bayesian network over S1,…,STS_1,\dots,S_T.

Lecture 7 · Markov Decision Processes & Dynamic Programming7 / 55
ACT 1The arena, and the value of a stateLecture 7

The goal — return, and the discount

The agent maximises accumulated reward, not immediate reward. Two settings:

Episodic — there is a last step

Ut=rt+1+⋯+rT=∑k=0T−t−1rt+k+1U_t = r_{t+1} + \cdots + r_T = \sum_{k=0}^{T-t-1} r_{t+k+1}

A maze, a game of Go, a game of chess. The sum is finite because the episode is.

Continuing — there is not

Ut=rt+1+γrt+2+⋯=∑k=0∞γkrt+k+1U_t = r_{t+1} + \gamma r_{t+2}+\cdots = \sum_{k=0}^{\infty}\gamma^k r_{t+k+1}

With bounded rewards, γ<1\gamma<1 makes the sum finite. Our convention throughout: take ata_t at sts_t, then receive rt+1r_{t+1} and st+1s_{t+1}.

  • γ=0\gamma=0 — myopic: only the immediate reward counts, and we are back to the greedy rule that failed;
  • γ→1\gamma\to1 — far-sighted: distant reward counts almost as much as near reward.

A warning from the source deck worth repeating: the reward signal communicates what you want achieved, never how. Reward a chess engine for taking pieces and it will take pieces; it will not win. Every reward specification is a modelling decision of the kind Lecture 1 taught, made under the extra hazard that the optimiser has many steps in which to find the loophole.

Lecture 7 · Markov Decision Processes & Dynamic Programming8 / 55
ACT 1The arena, and the value of a stateLecture 7

A policy is a rule, not a point

π:S→A,π∗=arg max⁡π E[Uπ(s)]for all s\pi:\mathcal S\to\mathcal A, \qquad \pi^* = \argmax_\pi\ \E\big[U^\pi(s)\big] \quad \hl{\text{for all } s}

Those three words are the whole distance from Lecture 1. We do not want a policy that is best on average over some start distribution; we want one that is simultaneously best from every state at once. It is not obvious that such a policy exists. That it does is the first gift of the Bellman equation.

A policy may be deterministic, a∗=π∗(s)a^*=\pi^*(s), or stochastic, p(a∣s)=π∗(s,a)p(a\mid s)=\pi^*(s,a). For our finite, discounted, stationary MDP with bounded rewards, a deterministic stationary optimal policy exists, so we take π\pi deterministic throughout. Stochastic policies return in Lecture 8, where randomness buys exploration, and again in IE579, where against an opponent it buys unpredictability.

Lecture 7 · Markov Decision Processes & Dynamic Programming9 / 55
ACT 1The arena, and the value of a stateLecture 7

The value of a state, and the value of an action

VπV^\pi — how good is it to be here

Vπ(s)=Eπ[Ut∣St=s]=Eπ[∑k≥0γkrt+k+1 ∣ St=s]V^\pi(s) = \E_\pi\big[U_t \mid S_t=s\big] = \E_\pi\Big[\textstyle\sum_{k\ge0}\gamma^k r_{t+k+1}\,\Big|\,S_t=s\Big]

The expected return from following π\pi starting at ss.

QπQ^\pi — how good is it to do this here

Qπ(s,a)=Eπ[Ut∣St=s,At=a]Q^\pi(s,a) = \E_\pi\big[U_t\mid S_t=s, A_t=a\big]

Take aa now — whatever π\pi would have said — then follow π\pi forever after.

Eπ\E_\pi is not an expectation over the policy; with π\pi deterministic it is an expectation over every stochastic transition the policy leads you through. And both are defined with respect to a policy: there is no such thing as the value of a state, only the value of a state under a way of behaving.

This is exactly what the greedy rule lacked. A value scores a state by the entire future a policy can extract from it, not by one step's reward.
Lecture 7 · Markov Decision Processes & Dynamic Programming10 / 55
ACT 1The arena, and the value of a stateLecture 7

The discount is a decision, not bookkeeping

A corridor with a small prize one step to the left of START and a large prize six steps to the right. Turn γ\gamma and watch the arrows flip one cell at a time, from the far end inwards. The frontier is not a matter of taste — each cell has its own threshold, and they are exact: START switches at γ=10−1/5≈0.631\gamma=10^{-1/5}\approx0.631, where γ5⋅10\gamma^5\cdot10 overtakes 11; its neighbour at 10−1/3≈0.46410^{-1/3}\approx0.464; and the three cells nearest the large prize never point left at all. Same MDP, same optimality principle, opposite answer.
Lecture 7 · Markov Decision Processes & Dynamic Programming11 / 55
ACT 1The arena, and the value of a stateLecture 7

Check — why the state has to be Markov

The Markov property says the future depends on the past only through the current state. Why does the whole apparatus need it?

Without a sufficient state, the value of "here" can depend on earlier observations; one may need to include history or a belief state. The Markov property is what collapses an exponential tree of histories into a graph of states, and everything after it — the Bellman equation, dynamic programming, every algorithm in Lectures 8 to 12 — is built on that collapse. Choosing the state representation is choosing whether the assumption holds.

Lecture 7 · Markov Decision Processes & Dynamic Programming12 / 55
Act 2

The Bellman equation

Q2. The value of a state sums an infinite future. Turn that sum into a relation between neighbours.
ACT 2The Bellman equationLecture 7

Collapse the tree

Q1 Why not greedy?Q2 What must value satisfy?Q3 How do we solve it?Q4 Why does it converge?

Write out what Vπ(s)V^\pi(s) actually averages over. From ss, every action; from each action, every successor; from each successor, every action again — a tree that never stops branching.

all trajectoriesevery action, every outcome, forever
fix π\pithe decision branches close; only chance branches remain
one step, then a valueR+γVπ(s′)R + \gamma V^\pi(s')

Fixing the policy prunes every decision branch. What remains is one layer of chance — and beyond it, a subtree that is itself a value function, because the Markov property says the future from s′s' depends on nothing but s′s'.

The infinite tree closes on itself. That is the entire trick.
Lecture 7 · Markov Decision Processes & Dynamic Programming14 / 55
ACT 2The Bellman equationLecture 7

The Bellman expectation equation

Peel one step off the return and let the Markov property close the loop:

Vπ(s)=Eπ[rt+1⏟now+γ∑k≥0γkrt+2+k⏟the rest ∣ St=s]=∑s′T(s,π(s),s′)[R(s,π(s),s′)+γ Vπ(s′)]V^\pi(s) = \E_\pi\Big[\underbrace{r_{t+1}}_{\text{now}} + \gamma\underbrace{\textstyle\sum_{k\ge0}\gamma^k r_{t+2+k}}_{\text{the rest}}\,\Big|\,S_t=s\Big] = \sum_{s'} T(s,\pi(s),s')\Big[R(s,\pi(s),s') + \gamma\, V^\pi(s')\Big]

The value of a state == the expected immediate reward ++ the discounted value of where you land.

Read as a picture: a state node ss leads to a chance node (s,π(s))(s,\pi(s)), whose branches carry the weights T(s,π(s),s′)T(s,\pi(s),s') and end at successors holding Vπ(s′)V^\pi(s'). Every equation in this lecture is that diagram with one thing changed.

For a finite S\mathcal S this is a system of ∣S∣|\mathcal S| linear equations in ∣S∣|\mathcal S| unknowns — solvable in principle by matrix inversion, in O(∣S∣3)O(|\mathcal S|^3). It has turned "sum an infinite future" into "relate each state to its neighbours". That is the trade dynamic programming lives on.

Lecture 7 · Markov Decision Processes & Dynamic Programming15 / 55
ACT 2The Bellman equationLecture 7

Calculate one backup — reward now plus value later

Take one action. Let γ=0.9\gamma=0.9 and suppose our current successor values are:

possible outcome probability reward next value reward + discounted value
reach A 0.75 1 4 1+0.9(4)=4.61+0.9(4)=4.6
reach B 0.25 −1 2 −1+0.9(2)=0.8-1+0.9(2)=0.8
Q(s,a)=0.75(4.6)+0.25(0.8)=3.65.Q(s,a)=0.75(4.6)+0.25(0.8)=\boxed{3.65}.

Compare this with another action that pays 3 and terminates: its value is 3. Choose the first action using these successor values.

A backup is a weighted average of reward now + estimated future. It is not an average of rewards alone.
Lecture 7 · Markov Decision Processes & Dynamic Programming16 / 55
ACT 2The Bellman equationLecture 7

QQ and VV — one lookahead apart

Qπ(s,a)=∑s′T(s,a,s′)[R(s,a,s′)+γVπ(s′)],Vπ(s)=Qπ(s,π(s))Q^\pi(s,a) = \sum_{s'} T(s,a,s')\big[R(s,a,s') + \gamma V^\pi(s')\big], \qquad \hl{V^\pi(s) = Q^\pi(s,\pi(s))}

QQ is the more general object: it keeps the first action free, then defers to π\pi. Force a=π(s)a=\pi(s) and it collapses back to VV.

Why we will end up storing QQ, not VVthe source deck's sentence, kept whole

"The QQ function effectively caches the results of all one-step-ahead search."

That cache is worthless while the model is free — with TT in hand you can recompute the lookahead whenever you like. It becomes the whole ballgame the moment TT is gone, because the lookahead is precisely the thing you can no longer perform. Lecture 8's first structural decision follows from this line and nothing else.

Lecture 7 · Markov Decision Processes & Dynamic Programming17 / 55
ACT 2The Bellman equationLecture 7

Bellman optimality — choose now, then choose again later

At the current state, choose an action before the random transition:

V∗(s)=max⁡a∑s′T(s,a,s′)[R(s,a,s′)+γV∗(s′)].V^*(s)=\max_a\sum_{s'}T(s,a,s')\big[R(s,a,s')+\gamma V^*(s')\big].

If the first action is already fixed, only the next decision remains:

Q∗(s,a)=∑s′T(s,a,s′)[R(s,a,s′)+γmax⁡a′Q∗(s′,a′)].Q^*(s,a)=\sum_{s'}T(s,a,s')\big[R(s,a,s')+\gamma\max_{a'}Q^*(s',a')\big].
The two maxima choose actions at different times. We observe s′s' before choosing a′a'. This is not permission to swap a maximum and an expectation arbitrarily.

A single optimal continuation policy works from every successor in our finite discounted MDP. That is why the remaining value can be written as V∗(s′)V^*(s').

Lecture 7 · Markov Decision Processes & Dynamic Programming18 / 55
ACT 2The Bellman equationLecture 7

Temperature thread — calculate a temperature-control backupshared teaching example · predict before revealing the calculation

At x=−2x=-2, choose off (u=0u=0) or heat (u=1u=1). For now, x′=x+ux'=x+u is known. Reward is r=−[(x′)2+u2]r=-[(x')^2+u^2], discount is 0.9, and the current continuation estimates are V(−2)=−3V(-2)=-3, V(−1)=−1V(-1)=-1.

Predict: Compare the immediate cost and the continuation value before choosing the action.

Calculate and check.

Action Reward One Bellman target
Off −4 −4+0.9(−3)=−6.7-4+0.9(-3)=\mathbf{-6.7}
Heat −2 −2+0.9(−1)=−2.9-2+0.9(-1)=\mathbf{-2.9}

This backup selects heat. The supplied V values are inputs to this sweep, not a claim that convergence has occurred.

An action is evaluated by what happens now and the value of the state it reaches.
Lecture 7 · Markov Decision Processes & Dynamic Programming19 / 55
ACT 2The Bellman equationLecture 7

Try it — heating succeeds only 20 percent of the timework independently · reveal only after writing an answer

Off behaves as before. Heat reaches x′=−1x'=-1 with probability 0.2 and remains at x′=−2x'=-2 with probability 0.8, while still paying effort u2=1u^2=1. Keep the same continuation estimates. Does the backup still choose heat?

Check your answer. A failed heating step has reward −5 and target −5+0.9(−3)=−7.7-5+0.9(-3)=-7.7. The heat target is 0.2(−2.9)+0.8(−7.7)=−6.740.2(-2.9)+0.8(-7.7)=\mathbf{-6.74}. Off gives −6.7, so this backup chooses off.

Changing a transition changes both next-state cost and continuation value. Take the expectation over complete outcomes.
Lecture 7 · Markov Decision Processes & Dynamic Programming20 / 55
ACT 2The Bellman equationLecture 7

The principle of optimality, and the policy read off

Bellman's principle of optimality

An optimal policy has the property that, whatever the first action and the state it leads to, the remaining decisions must themselves be optimal from that state.

Which is this lecture's thesis in formal dress: a good plan stays good from wherever you land. And it is what makes a daunting search over plans tractable — because it licenses solving the problem one state at a time. The optimal policy then falls straight out:

π∗(s)=arg max⁡a Q∗(s,a)=arg max⁡a∑s′T(s,a,s′)[R(s,a,s′)+γV∗(s′)]\pi^*(s) = \argmax_a\, Q^*(s,a) = \argmax_a \sum_{s'} T(s,a,s')\big[R(s,a,s') + \gamma V^*(s')\big]

The source deck's gloss: any greedy policy with respect to V∗V^* is optimal, because V∗V^* already accounts for the reward consequences of all possible future behaviour. Greed was never the enemy. Greed applied to the immediate reward fails; greed applied to the right quantity is exactly optimal. Act 1's question is now answered: we were not too greedy, we were greedy about the wrong number.

Lecture 7 · Markov Decision Processes & Dynamic Programming21 / 55
ACT 2The Bellman equationLecture 7

Check the timing — guessing a coin before or after the toss

A fair coin will be tossed. Choose heads or tails; a correct guess pays 1.

Decide before observing

Either guess has expected reward 0.50.5.

max⁡aE[R(a,C)]=0.5.\max_a\E[R(a,C)]=0.5.

Decide after observing

You can match every outcome and collect 1.

E[max⁡aR(a,C)]=1.\E[\max_a R(a,C)]=1.
Putting the current action's maximum inside the expectation grants extra information. In Bellman's equation, only the next action is chosen after the next state is observed.
Lecture 7 · Markov Decision Processes & Dynamic Programming22 / 55
ACT 2The Bellman equationLecture 7

Check — expectation and maximum, in that order

The Bellman optimality equation contains both a max⁡\max over actions and an expectation over next states. Why can the two not be swapped?

Moving the max⁡\max inside the expectation gives E[max⁡…]\mathbb{E}[\max\ldots], which values the ability to pick an action after the dice are thrown. That quantity is an upper bound and it describes a clairvoyant, not an agent. The gap between the two is the value of information, and keeping them in the right order is what makes the equation describe a decision made under genuine uncertainty.

Lecture 7 · Markov Decision Processes & Dynamic Programming23 / 55
Act 3

Solving it with the model

Q3. The Bellman equations are conditions, not procedures. Turn them into iteration.
ACT 3Solving it with the modelLecture 7

Two halves of one machine

Q1 Why not greedy?Q2 What must value satisfy?Q3 How do we solve it?Q4 Why does it converge?

Dynamic programming is, in the source deck's words, "a collection of algorithms that compute optimal policies given a perfect model of the environment as a Markov decision process". Its key idea is to use value functions to organise the search over policies. It has exactly two moves:

Policy evaluation — make VV agree with π\pi

Vk+1(s)←∑s′T(s,π(s),s′)[R+γVk(s′)]V_{k+1}(s) \leftarrow \sum_{s'} T(s,\pi(s),s')\big[R + \gamma V_k(s')\big]

Sweep the expectation backup until it stops changing.

Policy improvement — make π\pi greedy on VV

π′(s)=arg max⁡a∑s′T(s,a,s′)[R+γVπ(s′)]\pi'(s) = \argmax_a \sum_{s'} T(s,a,s')\big[R + \gamma V^\pi(s')\big]

One arg max⁡\argmax over a finite set, per state.

Set the right-hand box beside Lecture 1's x∗=arg max⁡xf(x)x^*=\argmax_x f(x) — the source deck does exactly that, on one slide. Policy improvement is Lecture 1's arg max⁡\argmax, executed once per state over ∣A∣|\mathcal A| candidates instead of over a continuum. What is new is not the optimisation. It is the quantity being optimised.

Lecture 7 · Markov Decision Processes & Dynamic Programming25 / 55
ACT 3Solving it with the modelLecture 7

Policy evaluation — sweeping the backup

Initialise V₀(s) ← 0 for every s ∈ S
Repeat for k = 0, 1, 2, …
    for each state s:
        V_{k+1}(s) ← Σ_{s'} T(s, π(s), s') [ R(s, π(s), s') + γ V_k(s') ]
until  max_s | V_{k+1}(s) − V_k(s) | ≤ ε

This is a full backup: each sweep backs up the value of every state, from every successor, once. Nothing is sampled, nothing is skipped. Hold that phrase — Lecture 8's central move is to replace it with a sample backup from one successor.

Two-array update

Read from VkV_k, write into Vk+1V_{k+1}. The mathematically clean version: the sweep order cannot matter.

In-place update

One array. A state updated early in the sweep is read by states updated later, so fresh information travels within a single sweep. Usually faster, and half the memory.

The in-place variant is the first crack in the idea that DP must proceed in lockstep. Act 4 widens it into a hole.

Lecture 7 · Markov Decision Processes & Dynamic Programming26 / 55
ACT 3Solving it with the modelLecture 7

Two sweeps — how a delayed reward changes the action

Let γ=0.9\gamma=0.9. At A, stop for 2 or continue for 0 to B. At B, the only action pays 4 and terminates. Terminal value is 0.

synchronous sweep value at A value at B greedy action at A using these values
initial 0 0 stop: 2>02>0
first max⁡(2,0+0.9⋅0)=2\max(2,0+0.9\cdot0)=2 4 continue: 3.6>23.6>2
second max⁡(2,0+0.9⋅4)=3.6\max(2,0+0.9\cdot4)=3.6 4 continue
The first sweep discovers B's reward. The next sweep carries it back to A. Each new value uses the previous sweep's values.

Try the same calculation at γ=0.4\gamma=0.4: continuing is worth only 1.6, so stopping is optimal.

Lecture 7 · Markov Decision Processes & Dynamic Programming27 / 55
ACT 3Solving it with the modelLecture 7

The gridworld — the source deck's worked example4×4, undiscounted, reward −1 on every move

The MDP

  • S={1,…,14}\mathcal S = \{1,\dots,14\} plus two shaded terminal corners;
  • A={↑,↓,←,→}\mathcal A = \{\uparrow,\downarrow,\leftarrow,\rightarrow\}, deterministic;
  • a move off the grid leaves the state unchanged — so T(7,→,7)=1T(7,\rightarrow,7)=1;
  • R=−1R = -1 on every transition, and γ=1\gamma = 1.

The question

Under the equiprobable random policy — all four actions equally likely — what is VπV^\pi?

Reward −1-1 everywhere means −Vπ(s)-V^\pi(s) is simply the expected number of steps a random walker takes to fall into a corner.

γ=1\gamma=1 is admissible here only because the random policy being evaluated reaches a terminal corner with finite expected hitting time; with a policy that never terminates, undiscounted evaluation simply runs to −∞-\infty. Both corners are terminal, so value propagates inward from two sources at once. Watch the next slide's k=1k=1 frame: after one sweep every non-terminal state reads exactly −1-1, because a step costs 11 and everything it can reach is still worth 00. The information has not moved yet; after that it moves one ring per sweep.

Lecture 7 · Markov Decision Processes & Dynamic Programming28 / 55
ACT 3Solving it with the modelLecture 7

Watching the value propagate

The deck's own figure, stepped. Expectation backup reproduces its printed table — −1.0-1.0, then −1.75-1.75 (which the printed figure truncates to −1.7-1.7), then −2.4-2.4, and at last −14-14, −20-20, −22-22. Switch to the max backup and the same sweep becomes value iteration: it settles in three sweeps at V∗=V^*= minus the distance to the nearest corner. The arrows are the greedy policy with respect to the numbers beside them, recomputed every sweep.
Lecture 7 · Markov Decision Processes & Dynamic Programming29 / 55
ACT 3Solving it with the modelLecture 7

The policy is optimal long before the value is

The source deck draws a blue cross through the last two rows of its own figure. It is the most useful thing on the slide.

What the numbers do

At k=3k=3 the values read −2.4,−2.9,−3.0-2.4, -2.9, -3.0. They are heading for −14,−20,−22-14, -20, -22 and will take dozens more sweeps to get there.

What the policy does

At k=3k=3 the greedy policy is already optimal, at every state, and never changes again. At k=2k=2 it is not.

Evaluating to convergence was wasted work. The arg max⁡\argmax only needs the values ordered correctly, not converged.

This is the whole licence for truncating the inner loop, and everything in the rest of this act follows from it. It is also a warning: "the policy stopped changing" is a weaker certificate than "the value converged", and only the second one bounds how suboptimal you might still be.

Lecture 7 · Markov Decision Processes & Dynamic Programming30 / 55
ACT 3Solving it with the modelLecture 7

Policy improvement — greedy on your own value

Given VπV^\pi, ask at each state whether a single-step deviation would pay:

π′(s)=arg max⁡a  Qπ(s,a)⟹Qπ(s,π′(s))≥Qπ(s,π(s))=Vπ(s)\pi'(s) = \argmax_{a}\; Q^\pi(s,a) \quad\Longrightarrow\quad Q^\pi(s,\pi'(s)) \ge Q^\pi(s,\pi(s)) = V^\pi(s)

That inequality is cheap — it says one deviation, then back to π\pi, is no worse. The theorem is the leap from there to always:

Policy improvement theorem

If π′(s)=arg max⁡aQπ(s,a)\pi'(s)=\argmax_a Q^\pi(s,a) then Vπ′(s)≥Vπ(s)V^{\pi'}(s)\ge V^\pi(s) for every ss, with equality at all states only when π\pi is already greedy with respect to its own value — which is exactly the Bellman optimality condition.

The proof (Appendix, Backup 3) is a telescope: substitute the inequality, expand one step, substitute again. Each pass converts one more step from π\pi to π′\pi' and the inequality never turns round. Two consequences. Improvement can never hurt; and since a finite MDP has finitely many deterministic policies and each nonterminal round strictly improves at least one state (keep the old action when it ties for best), policy iteration terminates exactly.

Lecture 7 · Markov Decision Processes & Dynamic Programming31 / 55
ACT 3Solving it with the modelLecture 7

Policy iteration, and its bottleneck

π0→  PE  Vπ0→  PI  π1→  PE  Vπ1→  PI  π2⟶⋯⟶π∗\pi_0 \xrightarrow{\;\text{PE}\;} V^{\pi_0} \xrightarrow{\;\text{PI}\;} \pi_1 \xrightarrow{\;\text{PE}\;} V^{\pi_1} \xrightarrow{\;\text{PI}\;} \pi_2 \longrightarrow \cdots \longrightarrow \pi^*

Alternate the two moves until the policy stops changing. Each round gives an exact value for an exact policy, and finite termination follows with consistent tie handling; the number of rounds need not be small.

The bottleneck

Every arrow marked PE hides a whole iterative solve — many sweeps over the entire state set. The source deck flags it bluntly: policy evaluation is slow to converge.

The mitigation

Each evaluation warm-starts from the previous policy's value, and consecutive policies are similar, so later solves are far cheaper than the first.

And the previous slide has already told us the deeper answer: since the greedy step only needs the values ranked, running the inner loop to convergence is buying precision we throw away.

Lecture 7 · Markov Decision Processes & Dynamic Programming32 / 55
ACT 3Solving it with the modelLecture 7

Value iteration — one optimality backup per sweep

Policy iteration evaluates a fixed policy before improving it. Value iteration directly applies the optimality backup:

Vk+1(s)←max⁡a∑s′T(s,a,s′)[R(s,a,s′)+γVk(s′)].V_{k+1}(s)\leftarrow\max_a\sum_{s'}T(s,a,s')\big[R(s,a,s')+\gamma V_k(s')\big].
  1. Use VkV_k to score every action with a one-step lookahead.
  2. Store the largest score as Vk+1(s)V_{k+1}(s).
  3. Repeat; then read off a greedy policy from the final values.
This is the Bellman optimality equation used as an update rule. The two-state example just performed it twice.

Lecture 8 replaces the model-weighted expectation with sampled transitions and incremental updates. A neural network is a later extension; tabular Q-learning comes first.

Lecture 7 · Markov Decision Processes & Dynamic Programming33 / 55
ACT 3Solving it with the modelLecture 7

Two schedules, counted

One MDP, one stopping rule, both algorithms — and a dial for the number of evaluation sweeps per improvement. At m=∞m=\infty the schedule is policy iteration; drive mm down and it slides continuously toward value iteration. Policy iteration reaches π∗\pi^* in 9 improvements but spends 16,124 backups getting there; value iteration needs 17 sweeps and only 1,972. Same V∗V^*, same π∗\pi^*, an eightfold difference in work — and the cheapest schedule, at m=2m=2, is neither endpoint.
Lecture 7 · Markov Decision Processes & Dynamic Programming34 / 55
Act 4

Why it works

Q4. Two processes that keep undoing each other, and an answer they nevertheless agree on.
ACT 4Why it worksLecture 7

Generalised policy iteration — the dance behind both

Q1 Why not greedy?Q2 What must value satisfy?Q3 How do we solve it?Q4 Why does it converge?
evaluationmake VV consistent with π\pi
improvementmake π\pi greedy with respect to VV
stabilisedV∗, π∗V^*,\ \pi^* — the solution of the Bellman optimality equation

Each move breaks the other. Making π\pi greedy makes VV wrong for the new π\pi; re-evaluating makes π\pi no longer greedy. The source deck draws this as two lines in the plane of (V,π)(V,\pi) — the locus V=VπV=V^\pi and the locus π=greedy(V)\pi=\text{greedy}(V) — with the algorithm zigzagging between them in ever shorter hops.

The optimal value function is unique. Several optimal policies can share it when actions tie. Policy iteration and value iteration are different algorithms organised by the same evaluation–improvement idea.
Lecture 7 · Markov Decision Processes & Dynamic Programming36 / 55
ACT 4Why it worksLecture 7

Why the meeting point is unique — the contraction

The Bellman optimality operator T\mathcal T:

(TV)(s)=max⁡a∑s′T(s,a,s′)[R(s,a,s′)+γV(s′)](\mathcal T V)(s) = \max_a \sum_{s'} T(s,a,s')\big[R(s,a,s') + \gamma V(s')\big]

Value iteration is nothing but Vk+1=TVkV_{k+1} = \mathcal T V_k. And T\mathcal T is a γ\gamma-contraction in the sup-norm:

∥TV−TV′∥∞  ≤  γ ∥V−V′∥∞\lVert \mathcal T V - \mathcal T V'\rVert_\infty \;\le\; \gamma\,\lVert V - V'\rVert_\infty

Two value functions disagreeing by δ\delta are pushed to within γδ\gamma\delta. By Banach's fixed-point theorem, γ<1\gamma<1 buys three things at once:

  • a unique fixed point V∗V^* — one answer, not a family;
  • convergence from any V0V_0, with no condition on the initialisation;
  • a rate: ∥Vk−V∗∥∞≤γk∥V0−V∗∥∞\lVert V_k - V^*\rVert_\infty \le \gamma^k \lVert V_0 - V^*\rVert_\infty.
γ\gamma is not a modelling afterthought bolted on to keep a sum finite. It is the number that makes the whole machine well-posed, and it is also its convergence rate.
Lecture 7 · Markov Decision Processes & Dynamic Programming37 / 55
ACT 4Why it worksLecture 7

What the contraction bound actually says

Suppose γ=0.8\gamma=0.8 and the initial maximum value error is at most 10.

∥Vk−V∗∥∞≤10(0.8)k.\lVert V_k-V^*\rVert_\infty\le 10(0.8)^k.
sweeps guaranteed error at most
1 8
5 3.277
10 1.074
21 0.0923

This is an upper bound, not a prediction that every observed error follows the same curve. With γ=1\gamma=1, this contraction argument no longer applies.

A practical certificate uses the Bellman residual: ∥V−V∗∥∞≤∥TV−V∥∞/(1−γ)\lVert V-V^*\rVert_\infty\le\lVert\mathcal TV-V\rVert_\infty/(1-\gamma). A small update matters relative to 1−γ1-\gamma.
Lecture 7 · Markov Decision Processes & Dynamic Programming38 / 55
ACT 4Why it worksLecture 7

Check — what value iteration is really doing

For a finite MDP with bounded rewards and 0≤γ<10\le\gamma<1, value iteration converges from any finite V0V_0. What guarantees that?

The Banach fixed-point theorem does the whole job. Each application of the operator brings any two value functions closer by a factor no greater than γ\gamma, which forces both a unique fixed point and convergence to it from anywhere. The error after kk sweeps decays like γk\gamma^k — which is also why a γ\gamma near 1 is not free, and why Lecture 8 has to worry when the operator is no longer a contraction.

Lecture 7 · Markov Decision Processes & Dynamic Programming39 / 55
ACT 4Why it worksLecture 7

The rate is the discount

∥Vk−V∗∥∞\lVert V_k - V^*\rVert_\infty against sweep number, on a log axis. In this demonstration, the measured decay is close to a straight line of slope log⁡10γ\log_{10}\gamma. The theorem guarantees only that the curve remains below the dashed a priori bound γk∥V0−V∗∥\gamma^k\lVert V_0-V^*\rVert. Move the dial and watch it tilt. Reaching an error of 10−310^{-3} takes 10 sweeps at γ=0.5\gamma=0.5 and more than 60 at γ=0.9\gamma=0.9: far-sightedness is not free, and γ\gamma is the invoice.
Lecture 7 · Markov Decision Processes & Dynamic Programming40 / 55
ACT 4Why it worksLecture 7

Order does not matter either — asynchronous DP

Every sweep so far updated all states in lockstep. Nothing required that.

  • In-place: overwrite V(s)V(s) immediately, and reuse it within the same sweep.
  • Asynchronous: back states up in any order whatsoever, using the latest available values (or delayed values whose information does not remain permanently stale) — repeating some, skipping others. Provided every state is updated infinitely often, V→V∗V\to V^* still holds.

The motivation is brute size. Backgammon has about 102010^{20} states and Go has 319×193^{19\times19}; a single full sweep over either will not finish, and even one complete sweep is prohibitively expensive. Partial backups can still provide useful information.

The source deck's own arrow forward, exclamation marks included

"Make it easier to intermix computation with real-time interaction: to solve a given MDP, we can run the iterative DP algorithm at the same time that an agent is actually experiencing the MDP (Reinforcement Learning !!!!)"

Sampled RL is asynchronous DP driven by whichever states the trajectory happens to visit. That is not an analogy — the "visit every state infinitely often" condition in Lecture 8's convergence theorem builds on this slide's condition, and also needs suitable learning rates and coverage of every state–action pair.

Lecture 7 · Markov Decision Processes & Dynamic Programming41 / 55
ACT 4Why it worksLecture 7

Three things we have not paid for

The machine is complete and provably correct. Every part of it borrows something.

what value iteration does what it needs what happens without it
∑s′T(s,a,s′)[⋯ ]\sum_{s'} T(s,a,s')[\cdots] the transition model TT the expectation cannot be evaluated
arg max⁡a∑s′T[R+γV(s′)]\argmax_a \sum_{s'} T[R+\gamma V(s')] TT again, for the lookahead VV alone cannot name an action
one entry V(s)V(s) per state a table the size of S\mathcal S no storage, and no generalisation to unseen states

Three debts, and the next lecture defaults on all three. Notice they are not independent: the first two are the same debt — the model — appearing once in evaluation and once in improvement. The third is why the last act of Lecture 8 exists at all.

Lecture 7 · Markov Decision Processes & Dynamic Programming42 / 55
ACT 4Why it worksLecture 7

Check — what is still being assumed

Value iteration and policy iteration both solve the MDP exactly. What do they need that the next lecture will not have?

Every backup in this lecture evaluates ∑s′P(s′∣s,a)[…]\sum_{s'} P(s' \mid s,a)[\ldots], which you can only write down if you own PP and RR. Lecture 8 assumes the full model is unavailable and uses observed transitions, so the question becomes: how do you take an expectation you cannot compute? Sampling the backup is the starting point for the value-based methods in Lecture 8.

Lecture 7 · Markov Decision Processes & Dynamic Programming43 / 55
CLOSING

Closing

The equation is proved, the solvers are exact, and everything rested on owning the world.
CLOSINGLecture 7

Where we are — one parent established

Lineage A · OR / Dynamic Programming
Lineage B · Control Theory
Model-based
(origin)
MDP & Dynamic ProgrammingLecture 7
Optimal Control / PlanningLecture 9
Data-driven
(extension)
Value-Based RLLecture 8
Policy-Based RLLecture 10

We hold the Bellman equation, two exact solvers, and a convergence guarantee — and every line of it leaned on knowing TT and RR. Two roads lead out, and the course takes both.

Down — Lecture 8

Keep the equation, delete the model. Replace the expectation with a sample, VV with QQ, the table with a network. Value-based reinforcement learning: this lecture with (T,R)(T,R) removed.

Right — Lecture 9

The other parent. Control theory solves the same dynamic problem through continuous-control examples with dynamics ff, instead of today’s finite tables — and Lecture 10 will delete ff exactly as Lecture 8 deletes (T,R)(T,R).

Lecture 7 · Markov Decision Processes & Dynamic Programming45 / 55
CLOSINGLecture 7

What Lecture 8 receives

This lecture hands on the Bellman equation, which still needs the model. In the form the next lecture opens with:

Q∗(s,a)  =  ∑s′P(s′∣s,a)[ R(s,a,s′)+γmax⁡a′Q∗(s′,a′) ]Q^*(s,a) \;=\; \sum_{s'} \hl{P(s'\mid s,a)}\Big[\,\hl{R(s,a,s')} + \gamma \max_{a'} Q^*(s',a')\,\Big]

And the objects that solve it, each with a sampled successor waiting:

what we hand over built in what Lecture 8 does to it
the expectation ∑s′P(s′∣s,a)[⋯ ]\sum_{s'} P(s'\mid s,a)[\cdots] Act 2 one sampled transition (s,a,r,s′)(s,a,r,s')
policy evaluation, solved with T,RT,R Act 3 MC returns, or a TD bootstrap
greedy on VV: arg max⁡a∑s′P[⋯ ]\argmax_a\sum_{s'}P[\cdots] Acts 2–3 greedy on QQ — the cache, now essential
value iteration Act 3 Q-learning: the same max⁡\max, sampled
the full backup, all successors Act 3 a sample backup, one successor
a table, exact, one entry per state Acts 3–4 a function Q^(s,a;w)\hat Q(s,a;w)

Column three is the whole of Lecture 8. Not one row changes the principle — only what we may look up.

Lecture 7 · Markov Decision Processes & Dynamic Programming46 / 55
A sequence of decisions seemed to need a plan for every possible future.
Bellman showed it needs only a value for every state — because an optimal plan, by its nature, stays optimal from wherever you happen to land.
Questions?
Value, defined recursively, turns an intractable search over plans into local backups over states. It is the founding move of operations-research decision making, the equation Lecture 8 keeps after throwing the model away, and — read one column to the right — the problem Lecture 9 will solve all over again in a different language.
APPENDIX

Backup slides

The derivations, kept out of the narrative.
APPENDIXBackup slidesLecture 7

Reading guide — understand the backup before the algorithmone main idea to explain, one comparison, one application

Role Read or revisit Question to answer
Core Sutton & Barto, Reinforcement Learning: An Introduction, 2nd ed. (2018), Chapters 3–4 How does one expected return become a Bellman backup?
Compare Policy iteration versus value iteration on the same MDP Which operation evaluates a policy, and which improves it?
Apply The original gridworld, with the same transition and reward conventions How many backups are needed before the preferred action changes?
Calculate one backup and two sweeps before reading the convergence proof. The figures and widgets use the same mathematical objects; a newer research paper is not needed to replace this foundation.
Lecture 7 · Markov Decision Processes & Dynamic Programming50 / 55
APPENDIXBackup slidesLecture 7

Backup 1 — the Bellman equation, derived

Start from the definition and peel off one step, using linearity of expectation and the Markov property:

Vπ(s)=Eπ[∑k≥0γkrt+k+1 ∣ St=s]=Eπ[rt+1+γ∑k≥0γkrt+2+k ∣ St=s]=∑s′T(s,π(s),s′)[R(s,π(s),s′)+γ Eπ[∑k≥0γkrt+2+k∣St+1=s′]]=∑s′T(s,π(s),s′)[R(s,π(s),s′)+γ Vπ(s′)]■\begin{aligned} V^\pi(s) &= \E_\pi\Big[\textstyle\sum_{k\ge0}\gamma^k r_{t+k+1}\,\Big|\,S_t=s\Big] = \E_\pi\Big[r_{t+1} + \gamma\textstyle\sum_{k\ge0}\gamma^k r_{t+2+k}\,\Big|\,S_t=s\Big]\\[2pt] &= \sum_{s'} T(s,\pi(s),s')\Big[R(s,\pi(s),s') + \gamma\,\E_\pi\big[\textstyle\sum_{k\ge0}\gamma^k r_{t+2+k}\mid S_{t+1}=s'\big]\Big]\\[2pt] &= \sum_{s'} T(s,\pi(s),s')\Big[R(s,\pi(s),s') + \gamma\, V^\pi(s')\Big] \qquad\blacksquare \end{aligned}

The third line is where the Markov property is spent: the inner expectation depends on the whole history only through s′s', so it is Vπ(s′)V^\pi(s').

Optimality form. Maximise over the first action and use the principle of optimality for the remainder: π(s)\pi(s) becomes max⁡a\max_a and VπV^\pi becomes V∗V^*. QQ form. Condition on (s,a)(s,a) before the transition instead of after it; the max⁡\max then lands at the successor, max⁡a′Q∗(s′,a′)\max_{a'}Q^*(s',a'), which is why V∗V^* maxes before the expectation and Q∗Q^* after.

Lecture 7 · Markov Decision Processes & Dynamic Programming51 / 55
APPENDIXBackup slidesLecture 7

Backup 2 — the contraction proof

Claim. ∥TV−TV′∥∞≤γ∥V−V′∥∞\lVert \mathcal T V - \mathcal T V'\rVert_\infty \le \gamma\lVert V - V'\rVert_\infty, where (TV)(s)=max⁡a∑s′T(s,a,s′)[R+γV(s′)](\mathcal T V)(s)=\max_a\sum_{s'}T(s,a,s')[R+\gamma V(s')].

For any state ss, using ∣max⁡af(a)−max⁡ag(a)∣≤max⁡a∣f(a)−g(a)∣\big|\max_a f(a) - \max_a g(a)\big| \le \max_a |f(a)-g(a)|:

∣(TV)(s)−(TV′)(s)∣≤max⁡a∣∑s′T(s,a,s′) γ [V(s′)−V′(s′)]∣≤γmax⁡a∑s′T(s,a,s′) ∣V(s′)−V′(s′)∣  ≤  γ∥V−V′∥∞\begin{aligned} \big|(\mathcal T V)(s) - (\mathcal T V')(s)\big| &\le \max_a \Big|\sum_{s'} T(s,a,s')\,\gamma\,\big[V(s') - V'(s')\big]\Big|\\ &\le \gamma \max_a \sum_{s'} T(s,a,s')\,\big|V(s')-V'(s')\big| \;\le\; \gamma \lVert V - V'\rVert_\infty \end{aligned}

since ∑s′T(s,a,s′)=1\sum_{s'}T(s,a,s')=1. Taking the maximum over ss gives the claim. ■\blacksquare

Consequence (Banach). For γ<1\gamma<1, T\mathcal T has a unique fixed point V∗V^*, and Vk+1=TVkV_{k+1}=\mathcal T V_k converges to it from any V0V_0 with ∥Vk−V∗∥∞≤γk∥V0−V∗∥∞\lVert V_k - V^*\rVert_\infty \le \gamma^k\lVert V_0-V^*\rVert_\infty. The max⁡\max inequality is the only step that needs care. Finiteness ensures maxima are attained; analogous suprema also work under suitable continuous-space assumptions — Lecture 9 works in a setting where that maximum is over a continuum. Q-learning combines this contraction with stochastic-approximation, coverage and step-size conditions (Lecture 8, Backup 2).

Lecture 7 · Markov Decision Processes & Dynamic Programming52 / 55
APPENDIXBackup slidesLecture 7

Backup 3 — policy improvement never hurts

Theorem. Let π′(s)=arg max⁡aQπ(s,a)\pi'(s)=\argmax_a Q^\pi(s,a). Then Vπ′(s)≥Vπ(s)V^{\pi'}(s)\ge V^\pi(s) for all ss.

By construction Qπ(s,π′(s))=max⁡aQπ(s,a)≥Qπ(s,π(s))=Vπ(s)Q^\pi(s,\pi'(s)) = \max_a Q^\pi(s,a) \ge Q^\pi(s,\pi(s)) = V^\pi(s). Now telescope, substituting that same inequality at each successor:

Vπ(s)≤Qπ(s,π′(s))=Eπ′[rt+1+γVπ(st+1)∣st=s]≤Eπ′[rt+1+γ Qπ(st+1,π′(st+1))∣st=s]=Eπ′[rt+1+γrt+2+γ2Vπ(st+2)∣st=s]≤⋯  ≤  Eπ′[rt+1+γrt+2+γ2rt+3+⋯∣st=s]  =  Vπ′(s)■\begin{aligned} V^\pi(s) &\le Q^\pi(s,\pi'(s)) = \E_{\pi'}\big[r_{t+1} + \gamma V^\pi(s_{t+1})\mid s_t=s\big]\\ &\le \E_{\pi'}\big[r_{t+1} + \gamma\, Q^\pi(s_{t+1},\pi'(s_{t+1}))\mid s_t=s\big] = \E_{\pi'}\big[r_{t+1}+\gamma r_{t+2}+\gamma^2 V^\pi(s_{t+2})\mid s_t=s\big]\\ &\le \cdots \;\le\; \E_{\pi'}\big[r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\cdots \mid s_t=s\big] \;=\; V^{\pi'}(s) \qquad\blacksquare \end{aligned}

Each pass converts one more step of the trajectory from π\pi to π′\pi', and the inequality never turns round. Why policy iteration terminates. A finite MDP has finitely many deterministic policies, and each improvement is strict unless π\pi is already greedy with respect to its own value — which is precisely the Bellman optimality condition. So π∗\pi^* is reached in finitely many rounds, not merely in the limit.

Lecture 7 · Markov Decision Processes & Dynamic Programming53 / 55
APPENDIXBackup slidesLecture 7

Backup 4 — asynchronous and in-place DP

In-place value iteration. Keep one array; overwrite V(s)V(s) immediately and let later states in the same sweep read the new number. It converges, and usually faster, because fresh information propagates within a sweep instead of waiting for the next one. The sweep order now matters for speed — never for the answer.

Asynchronous DP. Back states up in any order, repeating some and skipping others. As long as every state is updated infinitely often, V→V∗V\to V^*. This decouples the computation from any rigid sweep and is what lets DP be prioritised — order the backups by how large their Bellman residual was last time (prioritised sweeping), and effort follows the states where the value is still wrong.

Why it matters downstream. Sampled RL is asynchronous DP whose update order is chosen for it by the environment: Q-learning backs up whatever (s,a)(s,a) the trajectory delivers, in whatever order experience delivers them. The "every state infinitely often" condition here is the model-based ancestor of the exploration requirement in Lecture 8 — and the reason ε\varepsilon must not be allowed to reach zero too soon.

Lecture 7 · Markov Decision Processes & Dynamic Programming54 / 55
APPENDIXBackup slidesLecture 7

Where the two lineages splitthe source deck's own taxonomy, pp. 4–5

Model based — TT and RR given

finite actions infinite actions
discrete time MDP (Lec 7) dynamic system (Lec 9)
continuous time continuous-time MDP continuous-time system

P(st+1∣st,at)P(s_{t+1}\mid s_t,a_t)  ·  xt+1=f(xt,ut)x_{t+1}=f(x_t,u_t), x˙t=f(xt,ut)\dot x_t=f(x_t,u_t)

Model free — learned from experience

finite actions infinite actions
discrete time value-based RL (Lec 8) policy-based RL (Lec 10)
continuous time — —

The empty cells are outside this course’s scope. Continuous-time reinforcement learning also exists.

These columns describe the examples chosen for this course: finite-action MDPs in Lecture 7 and continuous-control systems in Lecture 9. MDPs can also have continuous spaces; policy methods can also handle discrete actions. The common question is how to choose actions over time.

Lecture 9 is the mirror of this lecture, not its sequel. Lecture 8 sits directly below it; Lecture 10 directly below Lecture 9.

Lecture 7 · Markov Decision Processes & Dynamic Programming55 / 55

Keys

→ / space
next reveal, then next slide
←
back
↑ ↓
skip a whole slide
R
reset this slide's widgets and quizzes
M
slide index
P
print → save as PDF (1280×720)
F
fullscreen