KEMBAR78
Dynamic Programing and Optimal Control PDF | PDF | Dynamic Programming | Loss Function
0% found this document useful (0 votes)
947 views276 pages

Dynamic Programing and Optimal Control PDF

This document contains lecture slides for the course 6.231 Dynamic Programming and Stochastic Control at MIT. The slides introduce dynamic programming as an optimization methodology for solving stochastic control problems that evolve over discrete time periods. Examples covered include inventory control and scheduling problems. Key concepts discussed are formulation of stochastic dynamic programming problems, optimal policies, significance of feedback, and variants like continuous-time and infinite horizon problems.

Uploaded by

p_p9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
947 views276 pages

Dynamic Programing and Optimal Control PDF

This document contains lecture slides for the course 6.231 Dynamic Programming and Stochastic Control at MIT. The slides introduce dynamic programming as an optimization methodology for solving stochastic control problems that evolve over discrete time periods. Examples covered include inventory control and scheduling problems. Key concepts discussed are formulation of stochastic dynamic programming problems, optimal policies, significance of feedback, and variants like continuous-time and infinite horizon problems.

Uploaded by

p_p9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 276

MIT OpenCourseWare

http://ocw.mit.edu

6.231 Dynamic Programming and Stochastic Control


Fall 2008

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
LECTURE SLIDES ON DYNAMIC PROGRAMMING

BASED ON LECTURES GIVEN AT THE

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

CAMBRIDGE, MASS

FALL 2008

DIMITRI P. BERTSEKAS

These lecture slides are based on the book:

Dynamic Programming and Optimal Con

trol: 3rd edition, Vols. 1 and 2, Athena

Scientic, 2007, by Dimitri P. Bertsekas;

see

http://www.athenasc.com/dpbook.html

Last Updated: December 2008

The slides may be freely reproduced and


distributed.
6.231 DYNAMIC PROGRAMMING

LECTURE 1

LECTURE OUTLINE

Problem Formulation
Examples
The Basic Problem
Signicance of Feedback
DP AS AN OPTIMIZATION METHODOLOGY

Generic optimization problem:

min g(u)

uU

where u is the optimization/decision variable, g(u)

is the cost function, and U is the constraint set


Categories of problems:
Discrete (U is nite) or continuous
Linear (g is linear and U is polyhedral) or
nonlinear
Stochastic or deterministic: In stochastic prob
lems the cost involves a stochastic parameter
w, which is averaged, i.e., it has the form
 
g(u) = Ew G(u, w)

where w is a random parameter.


DP can deal with complex stochastic problems
where information about w becomes available in
stages, and the decisions are also made in stages
and make use of this information.
BASIC STRUCTURE OF STOCHASTIC DP

Discrete-time system

xk+1 = fk (xk , uk , wk ), k = 0, 1, . . . , N 1

k: Discrete time
xk : State; summarizes past information that
is relevant for future optimization
uk : Control; decision to be selected at time
k from a given set
wk : Random parameter (also called distur

bance or noise depending on the context)

N : Horizon or number of times control is

applied
Cost function that is additive over time
 1

N

E gN (xN ) + gk (xk , uk , wk )
k=0
INVENTORY CONTROL EXAMPLE

wk Demand at Period k

Stock at Period k Inventory Stock at Period k + 1


xk System xk + 1 = xk + uk - wk

Stock Ordered at
Period k
Cos t of P e riod k uk
c uk + r (xk + uk - wk)

Discrete-time system

xk+1 = fk (xk , uk , wk ) = xk + uk wk
Cost function that is additive over time
 1


N
E gN (xN ) + gk (xk , uk , wk )

k=0

N 1 
 
=E cuk + r(xk + uk wk )
k=0

Optimization over policies: Rules/functions uk =


k (xk ) that map states to controls
ADDITIONAL ASSUMPTIONS

The set of values that the control uk can take


depend at most on xk and not on prior x or u
Probability distribution of wk does not depend
on past values wk1 , . . . , w0 , but may depend on
xk and uk
Otherwise past values of w or x would be
useful for future optimization
Sequence of events envisioned in period k:
xk occurs according to
 
xk = fk1 xk1 , uk1 , wk1

uk is selected with knowledge of xk , i.e.,

uk Uk (xk )

wk is random and generated according to a


distribution

Pwk (xk , uk )
DETERMINISTIC FINITE-STATE PROBLEMS

Scheduling example: Find optimal sequence of


operations A, B, C, D
A must precede B, and C must precede D
Given startup cost SA and SC , and setup tran
sition cost Cmn from operation m to operation n

ABC CC D

C BC
AB
ACB C BD
C AB
A C CB
C AC AC
CC D ACD C DB
SA
Initial
State
CAB C BD
CA C AB
SC
C C CA
C AD CAD C DB

CC D CD

C DA
CDA C AB
STOCHASTIC FINITE-STATE PROBLEMS

Example: Find two-game chess match strategy

Timid play draws with prob. pd > 0 and loses


with prob. 1 pd . Bold play wins with prob. pw <
1/2 and loses with prob. 1 pw

0.5-0.5 1- 0
pd pw

0-0 0-0
1 - pd 1 - pw

0-1 0-1

1st Game / Timid Play 1st Game / Bold Play

2-0
2-0
pw

pd 1-0
1 - pw
1-0 1.5-0.5
1.5-0.5
1 - pd
pw
pd 0.5-0.5 1-1
0.5-0.5 1-1 1 - pw
1 - pd
pw
pd 0.5-1.5
0.5-1.5
0-1
0-1 1 - pw
1 - pd
0-2
0-2

2nd Game / Timid Play 2nd Game / Bold Play


BASIC PROBLEM

System xk+1 = fk (xk , uk , wk ), k = 0, . . . , N 1


Control contraints uk Uk (xk )
Probability distribution Pk ( | xk , uk ) of wk
Policies = {0 , . . . , N 1 }, where k maps
states xk into controls uk = k (xk ) and is such
that k (xk ) Uk (xk ) for all xk
Expected cost of starting at x0 is
 1


N
J (x0 ) = E gN (xN ) + gk (xk , k (xk ), wk )

k=0

Optimal cost function

J (x0 ) = min J (x0 )


Optimal policy satises

J (x0 ) = J (x0 )

When produced by DP, is independent of x0 .


SIGNIFICANCE OF FEEDBACK

Open-loop versus closed-loop policies

wk

u k=km
uk = k(x
(xk )k) System xk
xk + 1 = fk( xk,u k,wk)

m
kk

In deterministic problems open loop is as good


as closed loop
Chess match example; value of information

pd 1.5-0.5

1- 0
1 - pd
pw
Timid Play
1-1
0-0
1 - pw
Bold Play
pw 1- 1

0-1
1 - pw
Bold Play
0-2
VARIANTS OF DP PROBLEMS

Continuous-time problems
Imperfect state information problems

Innite horizon problems


Suboptimal control
LECTURE BREAKDOWN

Finite Horizon Problems (Vol. 1, Ch. 1-6)


Ch. 1: The DP algorithm (2 lectures)
Ch. 2: Deterministic nite-state problems (2
lectures)
Ch. 3: Deterministic continuous-time prob
lems (1 lecture)
Ch. 4: Stochastic DP problems (2 lectures)
Ch. 5: Imperfect state information problems
(2 lectures)

Ch. 6: Suboptimal control (3 lectures)

Innite Horizon Problems - Simple (Vol. 1, Ch.


7, 3 lectures)
Innite Horizon Problems - Advanced (Vol. 2)
Ch. 1: Discounted problems - Computational
methods (2 lectures)
Ch. 2: Stochastic shortest path problems (1
lecture)

Ch. 6: Approximate DP (6 lectures)

A NOTE ON THESE SLIDES

These slides are a teaching aid, not a text


Dont expect a rigorous mathematical develop
ment or precise mathematical statements
Figures are meant to convey and enhance ideas,
not to express them precisely
Omitted proofs and a much fuller discussion

can be found in the text, which these slides follow

6.231 DYNAMIC PROGRAMMING

LECTURE 2

LECTURE OUTLINE

The basic problem


Principle of optimality
DP example: Deterministic problem
DP example: Stochastic problem
The general DP algorithm
State augmentation
BASIC PROBLEM

System xk+1 = fk (xk , uk , wk ), k = 0, . . . , N 1


Control constraints uk Uk (xk )
Probability distribution Pk ( | xk , uk ) of wk
Policies = {0 , . . . , N 1 }, where k maps
states xk into controls uk = k (xk ) and is such
that k (xk ) Uk (xk ) for all xk
Expected cost of starting at x0 is
 1


N
J (x0 ) = E gN (xN ) + gk (xk , k (xk ), wk )

k=0

Optimal cost function

J (x0 ) = min J (x0 )


Optimal policy is one that satises

J (x0 ) = J (x0 )
PRINCIPLE OF OPTIMALITY

Let = {0 , 1 , . . . , N 1 } be optimal policy


Consider the tail subproblem whereby we are
at xi at time i and wish to minimize the cost-to
go from time i to time N
 1


N
 
E gN (xN ) + gk xk , k (xk ), wk
k=i

and the tail policy {i , i+1 , . . . , N 1 }


xi Tail Subproblem

0 i N

Principle of optimality: The tail policy is opti

mal for the tail subproblem (optimization of the

future does not depend on what we did in the past)

DP rst solves ALL tail subroblems of nal


stage
At the generic step, it solves ALL tail subprob
lems of a given time length, using the solution of
the tail subproblems of shorter time length
DETERMINISTIC SCHEDULING EXAMPLE

Find optimal sequence of operations A, B, C,


D (A must precede B and C must precede D)

ABC 6

3
AB
ACB 1
2 9
A 4
3 AC
8 ACD 3
5 6
5
Initial
1 0 State
CAB 1
CA 2
3
4
C 3 4
CAD 3
7 6
CD

5 3
CDA 2

Start from the last tail subproblem and go back


wards
At each state-time pair, we record the optimal
cost-to-go and the optimal decision
STOCHASTIC INVENTORY EXAMPLE

wk Demand at Period k

Stock at Period k Inventory Stock at Period k + 1


xk System xk + 1 = xk + uk - wk

Stock Ordered at
Period k
Co s t o f P e rio d k uk
c uk + r (xk + uk - wk)

Tail Subproblems of Length 1:



JN 1 (xN 1 ) = min E cuN 1
uN 1 0 wN 1

+ r(xN 1 + uN 1 wN 1 )

Tail Subproblems of Length N k:



Jk (xk ) = min E cuk + r(xk + uk wk )
uk 0 wk

+ Jk+1 (xk + uk wk )

J0 (x0 ) is opt. cost of initial state x0

DP ALGORITHM

Start with

JN (xN ) = gN (xN ),

and go backwards using



Jk (xk ) = min E gk (xk , uk , wk )
uk Uk (xk ) wk
 
+ Jk+1 fk (xk , uk , wk ) , k = 0, 1, . . . , N 1.

Then J0 (x0 ), generated at the last step, is equal


to the optimal cost J (x0 ). Also, the policy
= {0 , . . . , N 1 }
where k (xk ) minimizes in the right side above for
each xk and k, is optimal
Justication: Proof by induction that Jk (xk ) is
equal to Jk (xk ), dened as the optimal cost of the
tail subproblem that starts at time k at state xk
Note:
ALL the tail subproblems are solved (in ad
dition to the original problem)

Intensive computational requirements

PROOF OF THE INDUCTION STEP


 
Let k = k , k+1 , . . . , N 1 denote a tail
policy from time k onward
Assume that Jk+1 (xk+1 ) = Jk+1 (xk+1 ). Then

 
Jk (xk ) = min E gk xk , k (xk ), wk
(k ,k+1 ) wk ,...,wN 1


N 1
 
+ gN (xN ) + gi xi , i (xi ), wi
i=k+1


 

= min E gk xk , k (xk ), wk

k wk

   

N 1
 
+ min E gN (xN ) + gi xi , i (xi ), wi

k+1 wk+1 ,...,wN 1

i=k+1

  
  
= min E gk xk , k (xk ), wk + Jk+1 fk xk , k (xk ), wk

k wk

     
= min E gk xk , k (xk ), wk + Jk+1 fk xk , k (xk ), wk

k wk

  
= min E gk (xk , uk , wk ) + Jk+1 fk (xk , uk , wk )

uk Uk (xk ) wk

= Jk (xk )

LINEAR-QUADRATIC ANALYTICAL EXAMPLE

Initial Final
Temperature x0 Oven 1 x1 Oven 2 Temperature x2
Temperature Temperature
u0 u1

System

xk+1 = (1 a)xk + auk , k = 0, 1,

where a is given scalar from the interval (0, 1)

Cost
r(x2 T )2 + u20 + u21
where r is given positive scalar
DP Algorithm:

J2 (x2 ) = r(x2 T )2

 
2
J1 (x1 ) = min u21 + r (1 a)x1 + au1 T
u1
2  
J0 (x0 ) = min u0 + J1 (1 a)x0 + au0
u0
STATE AUGMENTATION

When assumptions of the basic problem are

violated (e.g., disturbances are correlated, cost is

nonadditive, etc) reformulate/augment the state

Example: Time lags

xk+1 = fk (xk , xk1 , uk , wk )

Introduce additional state variable yk = xk1 .


New system takes the form
   

xk+1 fk (xk , yk , uk , wk )
=
yk+1 xk

View xk = (xk , yk ) as the new state.


DP algorithm for the reformulated problem:

Jk (xk , xk1 ) = min E gk (xk , uk , wk )
uk Uk (xk ) wk
 
+ Jk+1 fk (xk , xk1 , uk , wk ), xk
6.231 DYNAMIC PROGRAMMING

LECTURE 3

LECTURE OUTLINE

Deterministic nite-state DP problems


Backward shortest path algorithm
Forward shortest path algorithm
Shortest path examples
Alternative shortest path algorithms
DETERMINISTIC FINITE-STATE PROBLEM

Terminal Arcs
with Cost Equal
to Terminal Cost

...
t
Artificial Terminal
Initial State
... Node
s

...

Stage 0 Stage 1 Stage 2 ... Stage N - 1 Stage N

States <==> Nodes


Controls <==> Arcs
Control sequences (open-loop) <==> paths
from initial state to terminal states
akij : Cost of transition from state i Sk to state
j Sk+1 at time k (view it as length of the arc)
aN
it : Terminal cost of state i SN

Cost of control sequence <==> Cost of the cor

responding path (view it as length of the path)

BACKWARD AND FORWARD DP ALGORITHMS

DP algorithm:

it , i SN ,
JN (i) = aN
k
Jk (i) = min aij +Jk+1 (j) , i Sk , k = 0, . . . , N 1
jSk+1

The optimal cost is J0 (s) and is equal to the


length of the shortest path from s to t
Observation: An optimal path s t is also an
optimal path t s in a reverse shortest path
problem where the direction of each arc is reversed
and its length is left unchanged
Forward DP algorithm (= backward DP algo
rithm for the reverse problem):
JN (j) = a0sj , j S1 ,
N k

Jk (j) = min aij + Jk+1 (i) , j SN k+1



iSN k
N

The optimal cost is J0 (t) = miniSN ait + J1 (i)
View Jk (j) as optimal cost-to-arrive to state j
from initial state s
A NOTE ON FORWARD DP ALGORITHMS

There is no forward DP algorithm for stochastic


problems
Mathematically, for stochastic problems, we
cannot restrict ourselves to open-loop sequences,
so the shortest path viewpoint fails
Conceptually, in the presence of uncertainty,
the concept of optimal-cost-to-arrive at a state
xk does not make sense. For example, it may be
impossible to guarantee (with prob. 1) that any
given state can be reached
By contrast, even in stochastic problems, the
concept of optimal cost-to-go from any state xk
makes clear sense
GENERIC SHORTEST PATH PROBLEMS

{1, 2, . . . , N, t}: nodes of a graph (t: the desti

nation)

aij : cost of moving from node i to node j


Find a shortest (minimum cost) path from each

node i to node t

Assumption: All cycles have nonnegative length.

Then an optimal path need not take more than N

moves

We formulate the problem as one where we re

quire exactly N moves but allow degenerate moves

from a node i to itself with cost aii = 0

Jk (i) = optimal cost of getting from i to t in N k moves

J0 (i): Cost of the optimal path from i to t.

DP algorithm:

Jk (i) = min aij +Jk+1 (j) , k = 0, 1, . . . , N 2,
j=1,...,N

with JN 1 (i) = ait , i = 1, 2, . . . , N

EXAMPLE

State i

Destination

5
5 3 3 3 3
2 3
4
7 5 4 4 4 5
1 4 3
2 4.5 4.5 5.5 7
5 5
2
6 1 2 2 2 2
1

2 3
0.5
0 1 2 3 4 Stage k

(a) (b)

JN 1 (i) = ait , i = 1, 2, . . . , N,

Jk (i) = min aij +Jk+1 (j) , k = 0, 1, . . . , N 2.
j=1,...,N
ESTIMATION / HIDDEN MARKOV MODELS

Markov chain with transition probabilities pij


State transitions are hidden from view
For each transition, we get an (independent)
observation
r(z; i, j): Prob. the observation takes value z
when the state transition is from i to j
Trajectory estimation problem: Given the ob
servation sequence ZN = {z1 , z2 , . . . , zN }, what is
the most likely state transition sequence XN =
{x0 , x1 , . . . , xN } [one that maximizes p(XN | ZN )
over all XN = {x0 , x1 , . . . , xN }].

s x0 x1 x2 xN - 1 xN t

...

...

...
VITERBI ALGORITHM

We have
p(XN , ZN )
p(XN | ZN ) =
p(ZN )
where p(XN , ZN ) and p(ZN ) are the unconditional
probabilities of occurrence of (XN , ZN ) and ZN
Maximizing p(XN | ZN ) is equivalent with max
imizing ln(p(XN , ZN ))
We have


N
p(XN , ZN ) = x0 pxk1 xk r(zk ; xk1 , xk )
k=1

so the problem is equivalent to


N
 
minimize ln(x0 ) ln pxk1 xk r(zk ; xk1 , xk )
k=1
over all possible sequences {x0 , x1 , . . . , xN }.

This is a shortest path problem.


GENERAL SHORTEST PATH ALGORITHMS

There are many nonDP shortest path algo


rithms. They can all be used to solve deterministic
nite-state problems
They may be preferable than DP if they avoid

calculating the optimal cost-to-go of EVERY state

This is essential for problems with HUGE state


spaces. Such problems arise for example in com
binatorial optimization
A Origin Node s

5 1 15

AB AC AD

20 4 20 3 4 3

ABC ABD ACB ACD ADB ADC

3 3 4 4 20 20

ABCD ABDC ACBD ACDB ADBC ADCB

1 15 5 1
15 5

Artificial Terminal Node t

5 1 15
5 20 4
1 20 3
15 4 3
LABEL CORRECTING METHODS

Given: Origin s, destination t, lengths aij 0.


Idea is to progressively discover shorter paths
from the origin s to every other node i
Notation:
di (label of i): Length of the shortest path

found (initially ds = 0, di = for i 


= s)

UPPER: The label dt of the destination

OPEN list: Contains nodes that are cur

rently active in the sense that they are candi

dates for further examination (initially OPEN={s})


Label Correcting Algorithm
Step 1 (Node Removal): Remove a node i from
OPEN and for each child j of i, do step 2
Step 2 (Node Insertion Test): If di + aij <
min{dj , UPPER}, set dj = di + aij and set i to
 t, place j in
be the parent of j. In addition, if j =
OPEN if it is not already in OPEN, while if j = t,
set UPPER to the new value di + ait of dt
Step 3 (Termination Test): If OPEN is empty,
terminate; else go to step 1
VISUALIZATION/EXPLANATION

Given: Origin s, destination t, lengths aij 0


di (label of i): Length of the shortest path found
thus far (initially ds = 0, di = for i = s). The
label di is implicitly associated with an s i path
UPPER: The label dt of the destination
OPEN list: Contains active nodes (initially
OPEN={s})

Is di + aij < UPPER ?


YES
(Does the path s --> i --> j
have a chance to be part
of a shorter s --> t path ?)
Set dj = di + aij
INSERT YES

Is di + aij < dj ?
(Is the path s --> i --> j
i j
better than the
OPEN current path s --> j ?)

REMOVE
EXAMPLE

1 A Origin Node s

5 1 15

2 AB 7 AC 10 AD

20 4 20 3 4 3

3 ABC 5 ABD ACB 8 ACD ADB ADC

3 3 4 4 20 20

4 ABCD 6 ABDC ACBD 9 ACDB ADBC ADCB

1 15 5 1
15 5

Artificial Terminal Node t

Iter. No. Node Exiting OPEN OPEN after Iteration UPPER

0
1
1 1
2, 7,10
2 2
3, 5, 7, 10
3 3
4, 5, 7, 10
4 4
5, 7, 10 43
5 5
6, 7, 10 43
6 6
7, 10 13
7 7
8, 10 13
8 8
9, 10 13
9 9
10 13
10 10
Empty 13

Note that some nodes never entered OPEN

6.231 DYNAMIC PROGRAMMING

LECTURE 4

LECTURE OUTLINE

Label correcting methods for shortest paths


Variants of label correcting methods
Branch-and-bound as a shortest path algorithm

LABEL CORRECTING METHODS

Origin s, destination t, lengths aij that are 0


di (label of i): Length of the shortest path
found thus far (initially di = except ds = 0).
The label di is implicitly associated with an s i
path
UPPER: Label dt of the destination
OPEN list: Contains active nodes (initially
OPEN={s})

Is di + aij < UPPER ?


YES
(Does the path s --> i --> j
have a chance to be part
of a shorter s --> t path ?)
Set dj = di + aij
INSERT YES

Is di + aij < dj ?
(Is the path s --> i --> j
i j
better than the
OPEN current path s --> j ?)

REMOVE
VALIDITY OF LABEL CORRECTING METHODS

Proposition: If there exists at least one path


from the origin to the destination, the label cor
recting algorithm terminates with UPPER equal
to the shortest distance from the origin to the des
tination
Proof: (1) Each time a node j enters OPEN, its
label is decreased and becomes equal to the length
of some path from s to j
(2) The number of possible distinct path lengths
is nite, so the number of times a node can enter
OPEN is nite, and the algorithm terminates
(3) Let (s, j1 , j2 , . . . , jk , t) be a shortest path and
let d be the shortest distance. If UPPER > d
at termination, UPPER will also be larger than
the length of all the paths (s, j1 , . . . , jm ), m =
1, . . . , k, throughout the algorithm. Hence, node
jk will never enter the OPEN list with djk equal
to the shortest distance from s to jk . Similarly
node jk1 will never enter the OPEN list with
djk1 equal to the shortest distance from s to jk1 .
Continue to j1 to get a contradiction
MAKING THE METHOD EFFICIENT

Reduce the value of UPPER as quickly as pos


sible
Try to discover good s t paths early in
the course of the algorithm
Keep the number of reentries into OPEN low
Try to remove from OPEN nodes with small
label rst.
Heuristic rationale: if di is small, then dj
when set to di +aij will be accordingly small,
so reentrance of j in the OPEN list is less
likely
Reduce the overhead for selecting the node to
be removed from OPEN
These objectives are often in conict. They give

rise to a large variety of distinct implementations

Good practical strategies try to strike a compro


mise between low overhead and small label node
selection
NODE SELECTION METHODS

Depth-rst search: Remove from the top of


OPEN and insert at the top of OPEN.
Has low memory storage properties (OPEN

is not too long). Reduces UPPER quickly.

Origin Node s
1

2 10

3
6 11 12

4 5 7 8 9 13 14

Destination Node t

Best-rst search (Djikstra): Remove from


OPEN a node with minimum value of label.
Interesting property: Each node will be in
serted in OPEN at most once.
Nodes enter OPEN at minimum distance

Many implementations/approximations

ADVANCED INITIALIZATION

Instead of starting from di = for all i = s,


start with

di = length of some path from s to i (or di = )

OPEN = {i = t | di < }

Motivation: Get a small starting value of UP


PER.
No node with shortest distance initial value
of UPPER will enter OPEN
Good practical idea:
Run a heuristic (or use common sense) to
get a good starting path P from s to t
Use as UPPER the length of P , and as di
the path distances of all nodes i along P
Very useful also in reoptimization, where we

solve the same problem with slightly dierent data

VARIANTS OF LABEL CORRECTING METHODS

If a lower bound hj of the true shortest dis


tance from j to t is known, use the test

di + aij + hj < UPPER

for entry into OPEN, instead of

di + aij < UPPER

The label correcting method with lower bounds as


above is often referred to as the A method.

If an upper bound mj of the true shortest


distance from j to t is known, then if dj + mj <
UPPER, reduce UPPER to dj + mj .
Important use: Branch-and-bound algorithm
for discrete optimization can be viewed as an im
plementation of this last variant.
BRANCH-AND-BOUND METHOD

Problem: Minimize f (x) over a nite set of


feasible solutions X.
Idea of branch-and-bound: Partition the fea
sible set into smaller subsets, and then calculate
certain bounds on the attainable cost within some
of the subsets to eliminate from further consider
ation other subsets.
Bounding Principle
Given two subsets Y1 X and Y2 X, suppose
that we have bounds

f 1 min f (x), f 2 min f (x).


xY1 xY2

Then, if f 2 f 1 , the solutions in Y1 may be dis


regarded since their cost cannot be smaller than
the cost of the best solution in Y2 .

The B+B algorithm can be viewed as a la


bel correcting algorithm, where lower bounds de
ne the arc costs, and upper bounds are used to
strengthen the test for admission to OPEN.
SHORTEST PATH IMPLEMENTATION

Acyclic graph/partition of X into subsets (typ

ically a tree). The leafs consist of single solutions.

Upper/Lower bounds f Y and f Y for the mini-


mum cost over each subset Y can be calculated.

The lower bound of a leaf {x} is f (x)


Each arc (Y, Z) has length f Z f Y
Shortest distance from X to Y = f Y f X
Distance from origin X to a leaf {x} is f (x)f X
Shortest path from X to the set of leafs gives
the optimal cost and optimal solution
UPPER is the smallest f (x) f X out of leaf

nodes {x} examined so far


{1,2,3,4,5}

{1,2,3} {4,5}

{1,2,} {3} {4} {5}

{1} {2}
BRANCH-AND-BOUND ALGORITHM

Step 1: Remove a node Y from OPEN. For each


child Yj of Y , do the following:
Entry Test: If f Y j < UPPER, place Yj in
OPEN.
Update UPPER: If f Y j < UPPER, set UP
PER = f Y j , and if Yj consists of a single
solution, mark that as being the best solu
tion found so far
Step 2: (Termination Test) If OPEN: empty,
terminate; the best solution found so far is opti
mal. Else go to Step 1
It is neither practical nor necessary to generate

a priori the acyclic graph (generate it as you go)

Keys to branch-and-bound:
Generate as sharp as possible upper and lower
bounds at each node
Have a good partitioning and node selection
strategy
Method involves a lot of art, may be prohibitively
time-consuming ... but guaranteed to nd an op
timal solution
6.231 DYNAMIC PROGRAMMING

LECTURE 5

LECTURE OUTLINE

Deterministic continuous-time optimal control

Examples
Connection with the calculus of variations
The Hamilton-Jacobi-Bellman equation as a
continuous-time limit of the DP algorithm
The Hamilton-Jacobi-Bellman equation as a
sucient condition
Examples
PROBLEM FORMULATION

Continuous-time dynamic system:


 
x(t) = f x(t), u(t) , 0 t T, x(0) : given,

where
x(t) n : state vector at time t
u(t) U m : control vector at time t
U : control constraint set
T : terminal time
 
Admissible control trajectories u(t) | t [0, T ] :

piecewise continuous functions u(t) | t [0, T ]

with
 u(t) U for all t [0, T ]; uniquely determine

x(t) | t [0, T ]
Problem: Find an admissible control trajectory


u(t)| t [0, T ] and corresponding state trajec

tory x(t) | t [0, T ] , that minimizes the cost



  T  
h x(T ) + g x(t), u(t) dt

f, h, g are assumed continuously dierentiable

EXAMPLE I

Motion control: A unit mass moves on a line


under the inuence of a force u
 
x(t) = x1 (t), x2 (t) : position and velocity of
the mass at time t
 
Problem: From a given x1 (0), x2 (0) , bring the
mass near a given nal position-velocity pair
(x1 , x2 ) at time T in the sense:
 2  2
minimize x1 (T ) x1  + x2 (T ) x2 

subject to the control constraint

|u(t)| 1, for all t [0, T ]

The problem ts the framework with

x1 (t) = x2 (t), x2 (t) = u(t),


   2  2
 
h x(T ) = x1 (T ) x1 + x2 (T ) x2  ,

 
g x(t), u(t) = 0, for all t [0, T ]

EXAMPLE II

A producer with production rate x(t) at time t


may allocate a portion u(t) of his/her production
rate to reinvestment and 1 u(t) to production of
a storable good. Thus x(t) evolves according to

x(t) = u(t)x(t),

where > 0 is a given constant


The producer wants to maximize the total amount
of product stored
 T 
1 u(t) x(t)dt
0

subject to

0 u(t) 1, for all t [0, T ]

The initial production rate x(0) is a given pos


itive number
EXAMPLE III (CALCULUS OF VARIATIONS)

 T 
T

.
Le ngth = 1 + (u (t)) d t
00
 2
1 + u(t) 2 dt

x(t) = u(t)

a x(t)
Given
Point Given
Line

0 T t

Find a curve from a given point to a given line


that has minimum length
The problem is
 

T 2
minimize 1 + x(t) dt
0
subject to x(0) =

Reformulation as an optimal control problem:

 
T  2
minimize 1 + u(t) dt
0

subject to x(t) = u(t), x(0) =

HAMILTON-JACOBI-BELLMAN EQUATION I

We discretize [0, T ] at times 0, , 2, . . . , N ,


where = T /N , and we let

xk = x(k), uk = u(k), k = 0, 1, . . . , N

We also discretize the system and cost:


N 1
xk+1 = xk +f (xk , uk ), h(xN )+ g(xk , uk )
k=0

We write the DP algorithm for the discretized

problem

J (N , x) = h(x),

 

J (k, x) = min g(x, u)+J (k+1), x+f (x, u) .
uU

Assume J is dierentiable and Taylor-expand:


J (k, x) = min g(x, u) + J (k, x) + t J (k, x)

uU


+ x J (k, x) f (x, u) + o()

Cancel J (k, x), divide by , and take limit


HAMILTON-JACOBI-BELLMAN EQUATION II

Let J (t, x) be the optimal cost-to-go of the


continuous problem. Assuming the limit is valid
lim J (k, x) = J (t, x), for all t, x,
k, 0, k=t

we obtain for all t, x,



0 = min g(x, u) + t J (t, x) + x J (t, x) f (x, u)

uU

with the boundary condition J (T, x) = h(x)


This is the Hamilton-Jacobi-Bellman (HJB)
equation a partial dierential equation, which is
satised for all time-state pairs (t, x) by the cost-
to-go function J (t, x) (assuming J is dieren
tiable and the preceding informal limiting proce
dure is valid)
Hard to tell a priori if J (t, x) is dierentiable
So we use the HJB Eq. as a verication tool; if
we can solve it for a dierentiable J (t, x), then:
J is the optimal-cost-to-go function
The control (t, x) that minimizes in the
RHS for each (t, x) denes an optimal con
trol
VERIFICATION/SUFFICIENCY THEOREM

Suppose V (t, x) is a solution to the HJB equa


tion; that is, V is continuously dierentiable in t
and x, and is such that for all t, x,

0 = min g(x, u) + t V (t, x) + x V (t, x) f (x, u) ,

uU

V (T, x) = h(x), for all x

Suppose also that (t, x) attains the minimum


above for all t and x
   
Let x (t) | t [0, T ] and u (t) = t, x (t) ,

t [0, T ], be the corresponding state and control


trajectories
Then

V (t, x) = J (t, x), for all t, x,


 
and u (t) | t [0, T ] is optimal
PROOF

Let {(u(t), x(t)) | t [0, T ]} be any admissible

control-state trajectory. We have for all t [0, T ]

       
0 g x(t), u(t) +t V t, x(t) +x V t, x(t) f x(t), u(t) .

 

Using the system equation x(t) = f x(t), u(t) ,
the RHS of the above is equal to
  d 

g x(t), u(t) + V (t, x(t))


dt

Integrating this expression over t [0, T ],


 T      
0 g x(t), u(t) dt + V T, x(T ) V 0, x(0) .

Using V (T, x) = h(x) and x(0) = x(0), we have


 T
     
V 0, x(0) h x(T ) + g x(t), u(t) dt.

If we use u (t) and x (t) in place of u(t) and x(t),


the inequalities becomes equalities, and
 T
     

V 0, x(0) = h x (T ) +
g x (t), u (t) dt
0
EXAMPLE OF THE HJB EQUATION

Consider the scalar system x(t) = u(t), with |u(t)|


 2
1 and cost (1/2) x(T ) . The HJB equation is

0 = min t V (t, x)+x V (t, x)u , for all t, x,
|u|1

with the terminal condition V (T, x) = (1/2)x2


Evident candidate for optimality: (t, x) =
sgn(x). Corresponding cost-to-go
1  2
J (t, x) = max 0, |x| (T t) .

2

We verify that J solves the HJB Eq., and that


u = sgn(x) attains the min in the RHS. Indeed,
 
t J (t, x) = max 0, |x| (T t) ,

 
x J (t, x) = sgn(x) max 0, |x| (T t) .

Substituting, the HJB Eq. becomes


 
0 = min 1 + sgn(x) u max 0, |x| (T t)

|u|1
LINEAR QUADRATIC PROBLEM

Consider the n-dimensional linear system


x(t) = Ax(t) + Bu(t),
and the quadratic cost
 T 
x(T ) QT x(T ) + x(t) Qx(t) + u(t) Ru(t) dt
0

The HJB equation is


  

0 = minm x Qx+u Ru+t V (t, x)+x V (t, x) (Ax+Bu) ,
u

with the terminal condition V (T, x) = x QT x. We


try a solution of the form

V (t, x) = x K(t)x, K(t) : n n symmetric,

and show that V (t, x) solves the HJB equation if

K(t) = K(t)AA K(t)+K(t)BR1 B  K(t)Q

with the terminal condition K(T ) = QT


6.231 DYNAMIC PROGRAMMING

LECTURE 6

LECTURE OUTLINE

Examples of stochastic DP problems


Linear-quadratic problems
Inventory control
LINEAR-QUADRATIC PROBLEMS

System: xk+1 = Ak xk + Bk uk + wk
Quadratic cost
 1



N
E xN


QN xN +
(xk

Qk xk + u
k

Rk uk )

w k

k=0,1,...,N 1 k=0

where Qk 0 and Rk > 0 (in the positive (semi)denite


sense).
wk are independent and zero mean
DP algorithm:
JN (xN ) = xN


Q x ,

N N





xk

Qk xk + u
k

Rk uk

Jk (xk ) = min E
uk

+ Jk+1 (Ak xk + Bk uk + wk )
Key facts:
Jk (xk ) is quadratic
Optimal policy {
0 , . . . , N 1
} is linear:

(xk ) = Lk xk

Similar treatment of a number of variants

DERIVATION

By induction verify that

k (xk ) = Lk xk , Jk (xk ) = xk Kk xk + constant,

where Lk are matrices given by

Lk = (Bk Kk+1 Bk + Rk )1 Bk Kk+1 Ak ,

and where Kk are symmetric positive semidenite


matrices given by

KN = QN ,

Kk = Ak Kk+1 Kk+1 Bk (Bk Kk+1 Bk


1
+ Rk ) Bk Kk+1 Ak + Qk .
This is called the discrete-time Riccati equation.

Just like DP, it starts at the terminal time N


and proceeds backwards.
Certainty equivalence holds (optimal policy is
the same as when wk is replaced by its expected
value E{wk } = 0).
ASYMPTOTIC BEHAVIOR OF RICCATI EQUATION

Assume time-independent system and cost per


stage, and some technical assumptions: controla
bility of (A, B) and observability of (A, C) where
Q = C C
The Riccati equation converges limk Kk =
K, where K is pos. denite, and is the unique
(within the class of pos. semidenite matrices) so
lution of the algebraic Riccati equation
 

K= A K KB(B  KB + R)1 B  K A+Q

The corresponding steady-state controller (x) =


Lx, where

L = (B  KB + R)1 B  KA,

is stable in the sense that the matrix (A + BL) of


the closed-loop system

xk+1 = (A + BL)xk + wk

satises limk (A + BL)k = 0.


GRAPHICAL PROOF FOR SCALAR SYSTEMS

2
AR
2 +Q
B F(P )

R
- 2
B P 0 4 50
Pk Pk + 1 P* P

Riccati equation (with Pk = KN k ):

 
B 2 Pk2
Pk+1 = A2 Pk + Q,
B 2 Pk + R

or Pk+1 = F (Pk ), where

A2 RP
F (P ) = 2 + Q.
B P +R

Note the two steady-state solutions, satisfying


P = F (P ), of which only one is positive.
RANDOM SYSTEM MATRICES

Suppose that {A0 , B0 }, . . . , {AN 1 , BN 1 } are


not known but rather are independent random
matrices that are also independent of the wk
DP algorithm is

JN (xN ) = xN QN xN ,

Jk (xk ) = min E xk Qk xk
uk wk ,Ak ,Bk

+ u k Rk uk + Jk+1 (Ak xk + Bk uk + wk )

Optimal policy k (xk ) = Lk xk , where


 
1
Lk = Rk + E{Bk Kk+1 Bk } E{Bk Kk+1 Ak },

and where the matrices Kk are given by


KN = QN ,
Kk = E{Ak Kk+1 Ak } E{Ak Kk+1 Bk }
 
1
Rk + E{Bk Kk+1 Bk } E{Bk Kk+1 Ak } + Qk
PROPERTIES

Certainty equivalence may not hold


Riccati equation may not converge to a steady-
state
F (P )

4 50
R
- 2 0 P
E {B }

We have Pk+1 = F (Pk ), where

E{A2 }RP TP2


F (P ) = +Q+ ,
E{B 2 }P + R E{B 2 }P + R
 2  2
T = E{A2 }E{B 2 } E{A} E{B}
INVENTORY CONTROL

xk : stock, uk : inventory purchased, wk : de


mand

xk+1 = xk + uk wk , k = 0, 1, . . . , N 1

Minimize
 N 1 

  

E cuk + r(xk + uk wk )
k=0

where, for some p > 0 and h > 0,

r(x) = p max(0, x) + h max(0, x)

DP algorithm:

JN (xN ) = 0,
 
Jk (xk ) = min cuk +H(xk +uk )+E Jk+1 (xk +uk wk ) ,
uk 0

{r(x + u w)}.
where H(x + u) = E
OPTIMAL POLICY

DP algorithm can be written as

JN (xN ) = 0,

Jk (xk ) = min Gk (xk + uk ) cxk ,


uk 0

where
 
Gk (y) = cy + H(y) + E Jk+1 (y w) .

If Gk is convex and lim|x| Gk (x) , we


have

S xk if xk < Sk ,
k (xk ) = k
0 if xk Sk ,

where Sk minimizes Gk (y).


This is shown, assuming that c < p, by showing
that Jk is convex for all k, and

lim Jk (x)
|x|
JUSTIFICATION

Graphical inductive proof that Jk is convex.

cy + H(y)

H(y)
c SN - 1

SN - 1 y
- cy

J N - 1(xN - 1)

SN - 1 xN - 1
- cy
6.231 DYNAMIC PROGRAMMING

LECTURE 7

LECTURE OUTLINE

Stopping problems
Scheduling problems
Other applications
PURE STOPPING PROBLEMS

Two possible controls:


Stop (incur a one-time stopping cost, and
move to cost-free and absorbing stop state)
Continue [using xk+1 = fk (xk , wk ) and in
curring the cost-per-stage]
Each policy consists of a partition of the set of
states xk into two regions:
Stop region, where we stop

Continue region, where we continue

CONTINUE STOP
REGION REGION

Stop State
EXAMPLE: ASSET SELLING

A person has an asset, and at k = 0, 1, . . . , N 1


receives a random oer wk
May accept wk and invest the money at xed
rate of interest r, or reject wk and wait for wk+1 .
Must accept the last oer wN 1
DP algorithm (xk : current oer, T : stop state):

xN  T,
if xN =
JN (xN ) =
0 if xN = T ,
  
Jk (xk ) = max (1 + r)N k xk , E Jk+1 (wk ) if xk = T ,
0 if xk = T .

Optimal policy;

accept the oer xk if xk > k ,

reject the oer xk if xk < k ,


where  
E Jk+1 (wk )
k = .
(1 + r)N k
FURTHER ANALYSIS

a1
a2
ACCEPT

REJECT

aN - 1

0 1 2 N-1 N k

Can show that k k+1 for all k


Proof: Let Vk (xk ) = Jk (xk )/(1 + r)N k for
xk = T. Then the DP algorithm is VN (xN ) = xN
and
 
 
Vk (xk ) = max xk , (1 + r)1 E Vk+1 (w) .
w

 
We have k = Ew Vk+1 (w) /(1 + r), so it is enough
to show that Vk (x) Vk+1 (x) for all x and k.
Start with VN 1 (x) VN (x) and use the mono
tonicity property of DP.
We can also show that k a as k .
Suggests that for an innite horizon the optimal
policy is stationary.
GENERAL STOPPING PROBLEMS

At time k, we may stop at cost t(xk ) or choose


a control uk U (xk ) and continue
JN (xN ) = t(xN ),

Jk (xk ) = min t(xk ), min E g(xk , uk , wk )

uk U (xk )

 
+ Jk+1 f (xk , uk , wk )

Optimal to stop at time k for states x in the


set
  
   
Tk = x  t(x) min E g(x, u, w) + Jk+1 f (x, u, w)
uU (x)

Since JN 1 (x) JN (x), we have Jk (x)


Jk+1 (x) for all k, so

T0 Tk Tk+1 TN 1 .
Interesting case is when all the Tk are equal (to
TN 1 , the set where it is better to stop than to go
one step and stop). Can be shown to be true if

f (x, u, w) TN 1 , for all x TN 1 , u U (x), w.


SCHEDULING PROBLEMS

Set of tasks to perform, the ordering is subject


to optimal choice.
Costs depend on the order
There may be stochastic uncertainty, and prece
dence and resource availability constraints
Some of the hardest combinatorial problems
are of this type (e.g., traveling salesman, vehicle
routing, etc.)
Some special problems admit a simple quasi-
analytical solution method
Optimal policy has an index form, i.e.,
each task has an easily calculable index,
and it is optimal to select the task that has
the maximum value of index (multi-armed
bandit problems - to be discussed later)
Some problems can be solved by an inter
change argument(start with some schedule,
interchange two adjacent tasks, and see what
happens)
EXAMPLE: THE QUIZ PROBLEM

Given a list of N questions. If question i is an


swered correctly (given probability pi ), we receive
reward Ri ; if not the quiz terminates. Choose or
der of questions to maximize expected reward.
Let i and j be the kth and (k + 1)st questions
in an optimally ordered list

L = (i0 , . . . , ik1 , i, j, ik+2 , . . . , iN 1 )


 
E {reward of L} = E reward of {i0 , . . . , ik1 }
+ pi0 pik1 (pi Ri + pi pj Rj )
 
+ pi0 pik1 pi pj E reward of {ik+2 , . . . , iN 1 }

Consider the list with i and j interchanged

L = (i0 , . . . , ik1 , j, i, ik+2 , . . . , iN 1 )

Since L is optimal, E{reward of L} E{reward of L },


so it follows that pi Ri + pi pj Rj pj Rj + pj pi Ri
or
pi Ri /(1 pi ) pj Rj /(1 pj ).
MINIMAX CONTROL

Consider basic problem with the dierence that


the disturbance wk instead of being random, it is
just known to belong to a given set Wk (xk , uk ).
Find policy that minimizes the cost

J (x0 ) = max gN (xN )


wk Wk (xk ,k (xk ))

k=0,1,...,N 1


N 1
 
+ gk xk , k (xk ), wk
k=0

The DP algorithm takes the form

JN (xN ) = gN (xN ),

Jk (xk ) = min max gk (xk , uk , wk )

uk U (xk ) wk Wk (xk ,uk )

 
+ Jk+1 fk (xk , uk , wk )
(Exercise 1.5 in the text, solution posted on the
www).
UNKNOWN-BUT-BOUNDED CONTROL

For each k, keep the xk of the controlled system


 
xk+1 = fk xk , k (xk ), wk

inside a given set Xk , the target set at time k.


This is a minimax control problem, where the
cost at stage k is

0 if xk Xk ,
gk (xk ) =
1 if xk
/ Xk .
We must reach at time k the set
 
X k = xk | Jk (xk ) = 0

in order to be able to maintain the state within


the subsequent target sets.
Start with X N = XN , and for k = 0, 1, . . . , N
1,

X k = xk Xk | there exists uk Uk (xk ) such that

fk (xk , uk , wk ) X k+1 , for all wk Wk (xk , uk )
6.231 DYNAMIC PROGRAMMING

LECTURE 8

LECTURE OUTLINE

Problems with imperfect state info


Reduction to the perfect state info case
Linear quadratic problems
Separation of estimation and control
BASIC PROBLEM WITH IMPERFECT STATE INFO

Same as basic problem of Chapter 1 with one


dierence: the controller, instead of knowing xk ,
receives at each time k an observation of the form

z0 = h0 (x0 , v0 ), zk = hk (xk , uk1 , vk ), k 1

The observation zk belongs to some space Zk .


The random observation disturbance vk is char
acterized by a probability distribution

Pvk ( | xk , . . . , x0 , uk1 , . . . , u0 , wk1 , . . . , w0 , vk1 , . . . , v0 )

The initial state x0 is also random and charac


terized by a probability distribution Px0 .
The probability distribution Pwk ( | xk , uk ) of
wk is given, and it may depend explicitly on xk
and uk but not on w0 , . . . , wk1 , v0 , . . . , vk1 .
The control uk is constrained to a given subset
Uk (this subset does not depend on xk , which is
not assumed known).
INFORMATION VECTOR AND POLICIES

Denote by Ik the information vector , i.e., the


information available at time k:

Ik = (z0 , z1 , . . . , zk , u0 , u1 , . . . , uk1 ), k 1,
I0 = z0
We consider policies = {0 , 1 , . . . , N 1 },
where each function k maps the information vec
tor Ik into a control uk and

k (Ik ) Uk , for all Ik , k 0

We want to nd a policy that minimizes


 1

 
N

J = E gN (xN ) + gk xk , k (Ik ), wk
x0 ,wk ,vk

k=0,...,N 1 k=0

subject to the equations


 
xk+1 = fk xk , k (Ik ), wk , k 0,
 

z0 = h0 (x0 , v0 ), zk = hk xk , k1 (Ik1 ), vk , k 1

REFORMULATION AS PERFECT INFO PROBLEM

We have
Ik+1 = (Ik , zk+1 , uk ), k = 0, 1, . . . , N 2, I0 = z0

View this as a dynamic system with state Ik , con


trol uk , and random disturbance zk+1
We have

P (zk+1 | Ik , uk ) = P (zk+1 | Ik , uk , z0 , z1 , . . . , zk ),

since z0 , z1 , . . . , zk are part of the information vec


tor Ik . Thus the probability distribution of zk+1
depends explicitly only on the state Ik and control
uk and not on the prior disturbances zk , . . . , z0
Write
 
   
E gk (xk , uk , wk ) = E E gk (xk , uk , wk ) | Ik , uk
xk ,wk

so the cost per stage of the new system is


 
gk (Ik , uk ) = E gk (xk , uk , wk ) | Ik , uk
xk ,wk
DP ALGORITHM

Writing the DP algorithm for the (reformulated)

perfect state info problem and doing the algebra:

Jk (Ik ) = min E gk (xk , uk , wk )


uk Uk xk , wk , zk+1

+ Jk+1 (Ik , zk+1 , uk ) | Ik , uk

for k = 0, 1, . . . , N 2, and for k = N 1,

JN 1 (IN 1 ) = min
uN 1 UN 1

  
E gN fN 1 (xN 1 , uN 1 , wN 1 )
xN 1 , wN 1


+ gN 1 (xN 1 , uN 1 , wN 1 ) | IN 1 , uN 1

The optimal cost J is given by


 
J = E J0 (z0 )
z0
LINEAR-QUADRATIC PROBLEMS

System: xk+1 = Ak xk + Bk uk + wk
Quadratic cost
 1


N
E xN QN xN + (xk Qk xk + uk Rk uk )
w k
k=0,1,...,N 1 k=0

where Qk 0 and Rk > 0


Observations

zk = Ck xk + vk , k = 0, 1, . . . , N 1

w0 , . . . , wN 1 , v0 , . . . , vN 1 indep. zero mean


Key fact to show:
Optimal policy {0 , . . . , N 1 } is of the form:

k (Ik ) = Lk E{xk | Ik }

Lk : same as for the perfect state info case


Estimation problem and control problem can
be solved separately
DP ALGORITHM I

Last stage N 1 (supressing index N 1):




JN 1 (IN 1 ) = min ExN 1 ,wN 1 xN 1 QxN 1
uN 1

+ uN 1 RuN 1 + (AxN 1 + BuN 1 + wN 1 )



Q(AxN 1 + BuN 1 + wN 1 ) | IN 1 , uN 1

Since E{wN 1 | IN 1 } = E{wN 1 } = 0, the


minimization involves
 
min uN 1 (B QB + R)uN 1

uN 1

 

+ 2E{xN 1 | IN 1 } A QBuN 1

The minimization yields the optimal N 1 :

uN 1 = N 1 (IN 1 ) = LN 1 E{xN 1 | IN 1 }

where

LN 1 = (B  QB + R)1 B  QA
DP ALGORITHM II

Substituting in the DP algorithm


  
JN 1 (IN 1 ) = E xN 1 KN 1 xN 1 | IN 1
xN 1
 
+ E xN 1 E{xN 1 | IN 1 }

xN 1

  
PN 1 xN 1 E{xN 1 | IN 1 } | IN 1

+ E {wN 1 QN wN 1 },
wN 1

where the matrices KN 1 and PN 1 are given by

PN 1 = AN 1 QN BN 1 (RN 1 + BN

1 QN BN 1 )
1


BN 1 QN AN 1 ,
KN 1 = AN 1 QN AN 1 PN 1 + QN 1

Note the structure of JN 1 : in addition to


the quadratic and constant terms, it involves a
quadratic in the estimation error

xN 1 E{xN 1 | IN 1 }
DP ALGORITHM III

DP equation for period N 2:

JN 2 (IN 2 ) = min E {xN 2 QxN 2


uN 2 xN 2 ,wN 2 ,zN 1

+ uN 2 RuN 2 + JN 1 (IN 1 ) | IN 2 , uN 2 }
  

= E xN 2 QxN 2 | IN 2

+ min uN 2 RuN 2


uN 2
  

+ E xN 1 KN 1 xN 1 | IN 2 , uN 2
 
+E xN 1 E{xN 1 | IN 1 }
  
PN 1 xN 1 E{xN 1 | IN 1 } | IN 2 , uN 2


+ EwN 1 {wN 1 QN wN 1 }

Key point: We have excluded the next to last


term from the minimization with respect to uN 2
This term turns out to be independent of uN 2
QUALITY OF ESTIMATION LEMMA

For every k, there is a function Mk such that


we have

xk E{xk | Ik } = Mk (x0 , w0 , . . . , wk1 , v0 , . . . , vk ),

independently of the policy being used


The following simplied version of the lemma
conveys the main idea
Simplied Lemma: Let r, u, z be random vari
ables such that r and u are independent, and let
x = r + u. Then

x E{x | z, u} = r E{r | z}

Proof: We have

x E{x | z, u} = r + u E{r + u | z, u}
= r + u E{r | z, u} u
= r E{r | z, u}
= r E{r | z}
APPLYING THE QUALITY OF EST. LEMMA

Using the lemma,

xN 1 E{xN 1 | IN 1 } = N 1 ,

where

N 1 : function of x0 , w0 , . . . , wN 2 , v0 , . . . , vN 1

Since N 1 is independent of uN 2 , the condi



tional expectation of N 1 PN 1 N 1 satises


E{N 1 PN 1 N 1 | IN 2 , uN 2 }

= E{N 1
PN 1 N 1 | IN 2 }

and is independent of uN 2 .

So minimization in the DP algorithm yields

uN 2 = N 2 (IN 2 ) = LN 2 E{xN 2 | IN 2 }
FINAL RESULT

Continuing similarly (using also the quality of


estimation lemma)

k (Ik ) = Lk E{xk | Ik },

where Lk is the same as for perfect state info:

Lk = (Rk + Bk Kk+1 Bk )1 Bk Kk+1 Ak ,

with Kk generated from KN = QN , using

Kk = Ak Kk+1 Ak Pk + Qk ,

Pk = Ak Kk+1 Bk (Rk + Bk Kk+1 Bk )1 Bk Kk+1 Ak

wk vk

xk zk
xk + 1 = Akxk + B ku k + wk z k = C kxk + vk
uk

Delay

uk - 1
uk E{xk | Ik} zk
Lk Estimator
SEPARATION INTERPRETATION

The optimal controller can be decomposed into

(a) An estimator , which uses the data to gener


ate the conditional expectation E{xk | Ik }.
(b) An actuator , which multiplies E{xk | Ik } by
the gain matrix Lk and applies the control
input uk = Lk E{xk | Ik }.
Generically the estimate x of a random vector x
given some information (random vector) I, which
minimizes the mean squared error

Ex {
x x
2 | I} =
x
2 2E{x | I}x +
x
2

is E{x | I} (set to zero the derivative with respect


to x of the above quadratic form).
The estimator portion of the optimal controller
is optimal for the problem of estimating the state
xk assuming the control is not subject to choice.
The actuator portion is optimal for the control
problem assuming perfect state information.
STEADY STATE/IMPLEMENTATION ASPECTS

As N , the solution of the Riccati equation


converges to a steady state and Lk L.
If x0 , wk , and vk are Gaussian, E{xk | Ik } is
a linear function of Ik and is generated by a nice
recursive algorithm, the Kalman lter.
The Kalman lter involves also a Riccati equa
tion, so for N , and a stationary system, it
also has a steady-state structure.
Thus, for Gaussian uncertainty, the solution is
nice and possesses a steady state.
For nonGaussian uncertainty, computing E{xk | Ik }
maybe very dicult, so a suboptimal solution is
typically used.
Most common suboptimal controller: Replace
E{xk | Ik } by the estimate produced by the Kalman
lter (act as if x0 , wk , and vk are Gaussian).
It can be shown that this controller is optimal
within the class of controllers that are linear func
tions of Ik .
6.231 DYNAMIC PROGRAMMING

LECTURE 9

LECTURE OUTLINE

DP for imperfect state info


Sucient statistics
Conditional state distribution as a sucient
statistic
Finite-state systems
Examples
REVIEW: PROBLEM WITH IMPERFECT STATE INF

Instead of knowing xk , we receive observations

z0 = h0 (x0 , v0 ), zk = hk (xk , uk1 , vk ), k 0

Ik : information vector available at time k:

I0 = z0 , Ik = (z0 , z1 , . . . , zk , u0 , u1 , . . . , uk1 ), k 1

Optimization over policies = {0 , 1 , . . . , N 1 },


where k (Ik ) Uk , for all Ik and k.
Find a policy that minimizes
 1

 
N

J = E gN (xN ) + gk xk , k (Ik ), wk
x0 ,wk ,vk

k=0,...,N 1 k=0

subject to the equations


 
xk+1 = fk xk , k (Ik ), wk , k 0,
 
z0 = h0 (x0 , v0 ), zk = hk xk , k1 (Ik1 ), vk , k 1
DP ALGORITHM

DP algorithm:



Jk (Ik ) = min E gk (xk , uk , wk )


uk Uk xk , wk , zk+1

+ Jk+1 (Ik , zk+1 , uk ) | Ik , uk

for k = 0, 1, . . . , N 2, and for k = N 1,

JN 1 (IN 1 ) = min
uN 1 UN 1

  
E gN fN 1 (xN 1 , uN 1 , wN 1 )
xN 1 , wN 1


+ gN 1 (xN 1 , uN 1 , wN 1 ) | IN 1 , uN 1

The optimal cost J is given by


 

J = E J0 (z0 ) .
z0
SUFFICIENT STATISTICS

Suppose that we can nd a function Sk (Ik ) such


that the right-hand side of the DP algorithm can
be written in terms of some function Hk as
 
min Hk Sk (Ik ), uk .
uk Uk

Such a function Sk is called a sucient statistic.


An optimal policy obtained by the preceding
minimization can be written as
 
k (Ik ) = k Sk (Ik ) ,

where k is an appropriate function.


Example of a sucient statistic: Sk (Ik ) = Ik
Another important sucient statistic

Sk (Ik ) = Pxk |Ik


DP ALGORITHM IN TERMS OF PXK |IK

It turns out that Pxk |Ik is generated recursively


by a dynamic system (estimator) of the form
 
Pxk+1 |Ik+1 = k Pxk |Ik , uk , zk+1

for a suitable function k


DP algorithm can be written as


J k (Pxk |Ik ) = min E gk (xk , uk , wk )
uk Uk xk ,wk ,zk+1
  
+ J k+1 k (Pxk |Ik , uk , zk+1 ) | Ik , uk

wk vk

uk xk zk
System Measurement
xk + 1 = fk(xk ,u k ,wk) z k = hk(xk ,u k - 1,vk)
uk - 1

Delay

uk - 1
P x k | Ik zk
Actuator Estimator
mk fk - 1
EXAMPLE: A SEARCH PROBLEM

At each period, decide to search or not search


a site that may contain a treasure.
If we search and a treasure is present, we nd
it with prob. and remove it from the site.
Treasures worth: V . Cost of search: C
States: treasure present & treasure not present
Each search can be viewed as an observation of
the state
Denote

pk : prob. of treasure present at the start of time k

with p0 given.
pk evolves at time k according to the equation

pk if not search,
pk+1 = 0 if search and nd treasure,
pk (1)
if search and no treasure.
pk (1)+1pk
SEARCH PROBLEM (CONTINUED)

DP algorithm

J k (pk ) = max 0, C + pk V
 
pk (1 )
+ (1 pk )J k+1 ,
pk (1 ) + 1 pk

with J N (pN ) = 0.
Can be shown by induction that the functions
J k satisfy

C
J k (pk ) = 0, for all pk
V

Furthermore, it is optimal to search at period

k if and only if
pk V C
(expected reward from the next search the cost
of the search)
FINITE-STATE SYSTEMS

Suppose the system is a nite-state Markov


chain, with states 1, . . . , n.
Then the conditional probability distribution
Pxk |Ik is a vector
 

P (xk = 1 | Ik ), . . . , P (xk = n | Ik )

The DP algorithm can be executed over the n-


dimensional simplex (state space is not expanding
with increasing k)
When the control and observation spaces are
also nite sets, it turns out that the cost-to-go
functions J k in the DP algorithm are piecewise
linear and concave (Exercise 5.7).
This is conceptually important and also (mod
erately) useful in practice.
INSTRUCTION EXAMPLE

Teaching a student some item. Possible states


are L: Item learned, or L: Item not learned.
Possible decisions: T : Terminate the instruc
tion, or T : Continue the instruction for one period
and then conduct a test that indicates whether the
student has learned the item.
The test has two possible outcomes: R: Student
gives a correct answer, or R: Student gives an
incorrect answer.
Probabilistic structure

1 1
L L R

t r

L L R
1-t 1-r

Cost of instruction is I per period


Cost of terminating instruction; 0 if student has
learned the item, and C > 0 if not.
INSTRUCTION EXAMPLE II

Let pk : prob. student has learned the item given


the test results so far

pk = P (xk |Ik ) = P (xk = L | z0 , z1 , . . . , zk ).

Using Bayes rule we can obtain

pk+1 = (pk , zk+1 )



1(1t)(1pk )
1(1t)(1r)(1pk ) if zk+1 = R,
=
0 if zk+1 = R.

DP algorithm:
 
  
J k (pk ) = min (1 pk )C, I + E J k+1 (pk , zk+1 ) .
zk+1

starting with

J N 1 (pN 1 ) = min (1pN 1 )C, I+(1t)(1pN 1 )C .
INSTRUCTION EXAMPLE III

Write the DP algorithm as



J k (pk ) = min (1 pk )C, I + Ak (pk ) ,
where
 
Ak (pk ) = P (zk+1 = R | Ik )J k+1 (pk , R)
 
+ P (zk+1 = R | Ik )J k+1 (pk , R)
Can show by induction that Ak (p) are piecewise
linear, concave, monotonically decreasing, with

Ak1 (p) Ak (p) Ak+1 (p), for all p [0, 1].

I + AN - 1(p )
C
I + AN - 2(p )

I + AN - 3(p )

0 a N-1 a N-2 a N-3 1 I 1 p


C
6.231 DYNAMIC PROGRAMMING

LECTURE 10

LECTURE OUTLINE

Suboptimal control
Certainty equivalent control
Limited lookahead policies
Performance bounds
Problem approximation approach
Heuristic cost-to-go approximation
PRACTICAL DIFFICULTIES OF DP

The curse of modeling


The curse of dimensionality
Exponential growth of the computational and
storage requirements as the number of state
variables and control variables increases
Quick explosion of the number of states in
combinatorial problems
Intractability of imperfect state information
problems
There may be real-time solution constraints
A family of problems may be addressed. The
data of the problem to be solved is given with
little advance notice
The problem data may change as the system

is controlled need for on-line replanning

CERTAINTY EQUIVALENT CONTROL (CEC)

Replace the stochastic problem with a deter


ministic problem
At each time k, the uncertain quantities are
xed at some typical values
Implementation for an imperfect info problem.
At each time k:
(1) Compute a state estimate xk (Ik ) given the
current information vector Ik .
(2) Fix the wi , i k, at some wi (xi , ui ). Solve
the deterministic problem:

 1
N
 
minimize gN (xN )+ gi xi , ui , wi (xi , ui )
i=k

subject to xk = xk (Ik ) and for i k,


 
ui Ui , xi+1 = fi xi , ui , wi (xi , ui ) .
(3) Use as control the rst element in the opti
mal control sequence found.
ALTERNATIVE IMPLEMENTATION

 d 

Let 0 (x0 ), . . . , N 1 (xN 1 ) be an optimal


d

controller obtained from the DP algorithm for the


deterministic problem


N 1
 
minimize gN (xN ) + gk xk , k (xk ), wk (xk , uk )
k=0
 
subject to xk+1 = fk xk , k (xk ), wk (xk , uk ) , k (xk ) Uk

The CEC applies at time k the control input


 
k (Ik ) = dk xk (Ik )

wk vk

d
u k = mk (x k) System xk Measurement zk
xk + 1 = fk(xk ,u k ,wk) z k = hk(xk ,u k - 1,vk)
uk -1

Delay

uk -1
Actuator x k (Ik ) zk
Estimator
mdk
CEC WITH HEURISTICS

Solve the deterministic equivalent problem


using a heuristic/suboptimal policy
Improved version of this idea: At time k min
imize the stage k cost and plus the heuristic cost
of the remaining stages, i.e., apply at time k a
control uk that minimizes over uk Uk (xk )
    
gk xk , uk , wk (xk , uk ) +Hk+1 fk xk , uk , wk (xk , uk )

where Hk+1 is the cost-to-go function correspond


ing to the heuristic.
This an example of an important suboptimal
control idea:

Minimize at each stage k the sum of approxima


tions to the current stage cost and the optimal
cost-to-go.
This is a central idea in several other suboptimal
control schemes, such as limited lookahead, and
rollout algorithms.
Hk+1 (xk+1 ) may be computed o-line or on
line.
PARTIALLY STOCHASTIC CEC

Instead of xing all future disturbances to their


typical values, x only some, and treat the rest as
stochastic.
Important special case: Treat an imperfect state
information problem as one of perfect state infor
mation, using an estimate xk (Ik ) of xk as if it were
exact.
Multiaccess Communication Example: Con
sider controlling the slotted Aloha system (dis
cussed in Ch. 5) by optimally choosing the prob
ability of transmission of waiting packets. This
is a hard problem of imperfect state info, whose
perfect state info version is easy.
Natural partially stochastic CEC:
 
1
k (Ik ) = min 1, ,
xk (Ik )

where xk (Ik ) is an estimate of the current packet


backlog based on the entire past channel history
of successes, idles, and collisions (which is Ik ).
LIMITED LOOKAHEAD POLICIES

One-step lookahead (1SL) policy: At each k and


state xk , use the control k (xk ) that
  
min
E gk (xk , uk , wk )+Jk+1 fk (xk , uk , wk ) ,
uk Uk (xk )

where
JN = gN .
Jk+1 : approximation to true cost-to-go Jk+1
Two-step lookahead policy: At each k and xk ,
use the control k (xk ) attaining the minimum above,
where the function Jk+1 is obtained using a 1SL
approximation (solve a 2-step DP problem).
If Jk+1 is readily available and the minimiza
tion above is not too hard, the 1SL policy is im
plementable on-line.
Sometimes one also replaces Uk (xk ) above with
a subset of most promising controls U k (xk ).
As the length of lookahead increases, the re
quired computation quickly explodes.
PERFORMANCE BOUNDS FOR 1SL

Let J k (xk ) be the cost-to-go from (xk , k) of the


1SL policy, based on functions Jk .
Assume that for all (xk , k), we have

Jk (xk ) Jk (xk ), (*)

where JN = gN and for all k,



Jk (xk ) = min E gk (xk , uk , wk )

uk Uk (xk )

 
+ Jk+1 fk (xk , uk , wk ) ,
[so Jk (xk ) is computed along with k (xk )]. Then

J k (xk ) Jk (xk ), for all (xk , k).


Important application: When Jk is the cost-to
go of some heuristic policy (then the 1SL policy is
called the rollout policy).
The bound can be extended to the case where
there is a k in the RHS of (*). Then
J k (xk ) Jk (xk ) + k + + N 1
COMPUTATIONAL ASPECTS

Sometimes nonlinear programming can be used


to calculate the 1SL or the multistep version [par
ticularly when Uk (xk ) is not a discrete set]. Con
nection with stochastic programming methods.
The choice of the approximating functions Jk
is critical, and is calculated in a variety of ways.
Some approaches:
(a) Problem Approximation: Approximate the
optimal cost-to-go with some cost derived
from a related but simpler problem
(b) Heuristic Cost-to-Go Approximation: Ap
proximate the optimal cost-to-go with a func
tion of a suitable parametric form, whose pa
rameters are tuned by some heuristic or sys
tematic scheme (Neuro-Dynamic Program
ming)
(c) Rollout Approach: Approximate the optimal
cost-to-go with the cost of some suboptimal
policy, which is calculated either analytically
or by simulation
PROBLEM APPROXIMATION

Many (problem-dependent) possibilities


Replace uncertain quantities by nominal val
ues, or simplify the calculation of expected
values by limited simulation
Simplify dicult constraints or dynamics
Example of enforced decomposition : Route m
vehicles that move over a graph. Each node has a
value. The rst vehicle that passes through the
node collects its value. Max the total collected
value, subject to initial and nal time constraints
(plus time windows and other constraints).
Usually the 1-vehicle version of the problem is
much simpler. This motivates an approximation
obtained by solving single vehicle problems.
1SL scheme: At time k and state xk (position
of vehicles and collected value nodes), consider
all possible kth moves by the vehicles, and at the
resulting states we approximate the optimal value-
to-go with the value collected by optimizing the
vehicle routes one-at-a-time
HEURISTIC COST-TO-GO APPROXIMATION

Use a cost-to-go approximation from a paramet


ric class J(x, r) where x is the current state and
r = (r1 , . . . , rm ) is a vector of tunable scalars
(weights).
By adjusting the weights, one can change the
shape of the approximation J so that it is rea
sonably close to the true optimal cost-to-go func
tion.
Two key issues:
The choice of parametric class J(x, r) (the
approximation architecture).
Method for tuning the weights (training
the architecture).
Successful application strongly depends on how
these issues are handled, and on insight about the
problem.
Sometimes a simulator is used, particularly
when there is no mathematical model of the sys
tem.
APPROXIMATION ARCHITECTURES

Divided in linear and nonlinear [i.e., linear or


nonlinear dependence of J(x, r) on r].
Linear architectures are easier to train, but non
linear ones (e.g., neural networks) are richer.
Architectures based on feature extraction
Feature Cost Approximation
State x Vector y
Feature Extraction Cost Approximator w/ J (y,r )
Mapping Parameter Vector r

Ideally, the features will encode much of the


nonlinearity that is inherent in the cost-to-go ap
proximated, and the approximation may be quite
accurate without a complicated architecture.
Sometimes the state space is partitioned, and
local features are introduced for each subset of
the partition (they are 0 outside the subset).
With a well-chosen feature vector y(x), we can
use a linear architecture
  
J(x, r) = J y(x), r = ri yi (x)
i
COMPUTER CHESS

Programs use a feature-based position evaluator


that assigns a score to each move/position

Features:
Material balance,
Mobility,
Safety, etc Score
Feature Weighting
Extraction of Features

Position Evaluator

Most often the weighting of features is linear


but multistep lookahead is involved.
Most often the training is done by trial and
error.
Additional features:
Depth rst search
Variable depth search when dynamic posi
tions are involved

Alpha-beta pruning

6.231 DYNAMIC PROGRAMMING

LECTURE 11

LECTURE OUTLINE

Rollout algorithms
Cost improvement property
Discrete deterministic problems
Sequential consistency and greedy algorithms

Sequential improvement
ROLLOUT ALGORITHMS

One-step lookahead policy: At each k and


state xk , use the control k (xk ) that
  
min
E gk (xk , uk , wk )+Jk+1 fk (xk , uk , wk ) ,
uk Uk (xk )

where
JN = gN .
Jk+1 : approximation to true cost-to-go Jk+1
Rollout algorithm: When Jk is the cost-to-go
of some heuristic policy (called the base policy)
Cost improvement property (to be shown): The
rollout algorithm achieves no worse (and usually
much better) cost than the base heuristic starting
from the same state.
Main diculty: Calculating Jk (xk ) may be
computationally intensive if the cost-to-go of the
base policy cannot be analytically calculated.
May involve Monte Carlo simulation if the
problem is stochastic.
Things improve in the deterministic case.
EXAMPLE: THE QUIZ PROBLEM

A person is given N questions; answering cor


rectly question i has probability pi , reward vi .
Quiz terminates at the rst incorrect answer.
Problem: Choose the ordering of questions so
as to maximize the total expected reward.
Assuming no other constraints, it is optimal to
use the index policy: Answer questions in decreas
ing order of pi vi /(1 pi ).
With minor changes in the problem, the index
policy need not be optimal. Examples:
A limit (< N ) on the maximum number of
questions that can be answered.
Time windows, sequence-dependent rewards,
precedence constraints.
Rollout with the index policy as base policy:
Convenient because at a given state (subset of
questions already answered), the index policy and
its expected reward can be easily calculated.
Very eective for solving the quiz problem and

important generalizations in scheduling (see Bert

sekas and Castanon, J. of Heuristics, Vol. 5, 1999).

COST IMPROVEMENT PROPERTY

Let

J k (xk ): Cost-to-go of the rollout policy

Hk (xk ): Cost-to-go of the base policy

We claim that J k (xk ) Hk (xk ) for all xk , k


Proof by induction: We have J N (xN ) = HN (xN )
for all xN . Assume that

J k+1 (xk+1 ) Hk+1 (xk+1 ), xk+1 .

Then, for all xk


     
J k (xk ) = E gk xk , k (xk ), wk + J k+1 fk xk , k (xk ), wk
     
E gk xk , k (xk ), wk + Hk+1 fk xk , k (xk ), wk
     
E gk xk , k (xk ), wk + Hk+1 fk xk , k (xk ), wk

= Hk (xk )

Induction hypothesis ==> 1st inequality

Min selection of k (xk ) ==> 2nd inequality

Denition of Hk , k ==> last equality

EXAMPLE: THE BREAKTHROUGH PROBLEM

root

Given a binary tree with N stages.


Each arc is either free or is blocked (crossed out
in the gure).
Problem: Find a free path from the root to the
leaves (such as the one shown with thick lines).
Base heuristic (greedy): Follow the right branch
if free; else follow the left branch if free.
For large N and given prob. of free branch:
the rollout algorithm requires O(N ) times more
computation, but has O(N ) times larger prob. of
nding a free path than the greedy algorithm.
DISCRETE DETERMINISTIC PROBLEMS

Any discrete optimization problem (with nite


number of choices/feasible solutions) can be rep
resented as a sequential decision process by using
a tree.
The leaves of the tree correspond to the feasible
solutions.
The problem can be solved by DP, starting from
the leaves and going back towards the root.
Example: Traveling salesman problem. Find a
minimum cost tour that goes exactly once through
each of N cities.
A Origin Node s

AB AC AD

ABC ABD ACB ACD ADB ADC

ABCD ABDC ACBD ACDB ADBC ADCB

Traveling salesman problem with four cities A, B, C, D


A CLASS OF GENERAL DISCRETE PROBLEMS

Generic problem:
Given a graph with directed arcs
A special node s called the origin
A set of terminal nodes, called destinations,
and a cost g(i) for each destination i.
Find min cost path starting at the origin,
ending at one of the destination nodes.
Base heuristic: For any nondestination node i,

constructs a path (i, i1 , . . . , im , i) starting at i and

ending at one of the destination nodes i. We call

i the projection of i, and we denote H(i) = g(i).

Rollout algorithm: Start at the origin; choose


the successor node with least cost projection
j1 p(j1 )

j2 p(j2 )

j3 p(j3 )
s i1 im-1 im

j4 p(j4 )

Neighbors of im Projections of
Neighbors of im
EXAMPLE: ONE-DIMENSIONAL WALK

A person takes either a unit step to the left or


a unit step to the right. Minimize the cost g(i) of
the point i where he will end up after N steps.
(0,0)

_
(N,-N) (N,0) (N,N)
i
g(i)

_
-N 0 i N-2 N i

Base heuristic: Always go to the right. Rollout


nds the rightmost local minimum.
Base heuristic: Compare always go to the right
and always go the left. Choose the best of the two.
Rollout nds a global minimum.
SEQUENTIAL CONSISTENCY

The base heuristic is sequentially consistent if

all nodes of its path have the same projection, i.e.,

for every node i, whenever it generates the path

(i, i1 , . . . , im , i) starting at i, it also generates the

path (i1 , . . . , im , i) starting at i1 .


Prime example of a sequentially consistent heuris
tic is a greedy algorithm. It uses an estimate F (i)
of the optimal cost starting from i.
At the typical step, given a path (i, i1 , . . . , im ),
where im is not a destination, the algorithm adds
to the path a node im+1 such that

im+1 = arg min F (j)


jN (im )

Prop.: If the base heuristic is sequentially con


sistent, the cost of the rollout algorithm is no more
than the cost of the base heuristic. In particular,
if (s, i1 , . . . , im ) is the rollout path, we have
H(s) H(i1 ) H(im1
) H(im
)

where H(i) = cost of the heuristic starting at i.


Proof: Rollout deviates from the greedy path
only when it discovers an improved path.
SEQUENTIAL IMPROVEMENT

We say that the base heuristic is sequentially


improving if for every non-destination node i, we
have
H(i) min H(j)
j is neighbor of i

If the base heuristic is sequentially improving,


the cost of the rollout algorithm is no more than
the cost of the base heuristic, starting from any
node.
Fortied rollout algorithm:
Simple variant of the rollout algorithm, where
we keep the best path found so far through
the application of the base heuristic.
If the rollout path deviates from the best
path found, then follow the best path.
Can be shown to be a rollout algorithm with
sequentially improving base heuristic for a
slightly modied variant of the original prob
lem.

Has the cost improvement property.

6.231 DYNAMIC PROGRAMMING

LECTURE 12

LECTURE OUTLINE

More on rollout algorithms - Stochastic prob


lems
Simulation-based methods for rollout
Approximations of rollout algorithms
Rolling horizon approximations
Discretization of continuous time
Discretization of continuous space
Other suboptimal approaches
OLLOUT ALGORITHMS - STOCHASTIC PROBLEM

Rollout policy: At each k and state xk , use


the control k (xk ) that

min Qk (xk , uk ),
uk Uk (xk )

where
  
Qk (xk , uk ) = E gk (xk , uk , wk )+Hk+1 fk (xk , uk , wk )

and Hk+1 (xk+1 ) is the cost-to-go of the heuristic.


Qk (xk , uk ) is called the Q-factor of (xk , uk ),
and for a stochastic problem, its computation may
involve Monte Carlo simulation.
Potential diculty: To minimize over uk the Q-
factor, we must form Q-factor dierences Qk (xk , u)
Qk (xk , u). This dierencing often amplies the
simulation error in the calculation of the Q-factors.
Potential remedy: Compare any two controls
u and u by simulating the Q-factor dierences
Qk (xk , u) Qk (xk , u) directly. This may eect
variance reduction of the simulation-induced er
ror.
Q-FACTOR APPROXIMATION

Here, instead of simulating the Q-factors, we


approximate the costs-to-go Hk+1 (xk+1 ).
Certainty equivalence approach: Given xk , x
future disturbances at typical values wk+1 , . . . , wN 1
and approximate the Q-factors with
  
Qk (xk , uk ) = E gk (xk , uk , wk )+Hk+1 fk (xk , uk , wk )
 
where Hk+1 fk (xk , uk , wk ) is the cost of the heuris
tic with the disturbances xed at the typical val
ues.
 
This is an approximation of Hk+1 fk (xk , uk , wk )
by using a single sample simulation.
Variant of the certainty
 equivalence

approach:

Approximate Hk+1 fk (xk , uk , wk ) by simulation


using a small number of representative samples
(scenarios).
Alternative: Calculate (exact or approximate)
values for the cost-to-go of the base policy at a
limited set of state-time pairs, and then approx
imate Hk+1 using an approximation architecture
and a training algorithm or least-squares t.
ROLLING HORIZON APPROACH

This is an l-step lookahead policy where the


cost-to-go approximation is just 0.
Alternatively, the cost-to-go approximation is
the terminal cost function gN .
A short rolling horizon saves computation.
Paradox: It is not true that a longer rolling
horizon always improves performance.
Example: At the initial state, there are two
controls available (1 and 2). At every other state,
there is only one control.

Optimal Trajectory
... ...
1

Current
State

2
... ...
l Stages High Low High
Cost Cost Cost
ROLLING HORIZON COMBINED WITH ROLLOUT

We can use a rolling horizon approximation in


calculating the cost-to-go of the base heuristic.
Because the heuristic is suboptimal, the ratio
nale for a long rolling horizon becomes weaker.
Example: N -stage stopping problem where
the stopping cost is 0, the continuation cost is ei
ther  or 1, where 0 <  << 1, and the rst state
with continuation cost equal to 1 is state m. Then
the optimal policy is to stop at state m, and the
optimal cost is m.
- e - e ... 1 ...
0 1 2 m N

Stopped State

Consider the heuristic that continues at every


state, and the rollout policy that is based on this
heuristic, with a rolling horizon of l m steps.
It will continue up to the rst m l + 1 stages,
thus compiling a cost of (ml +1). The rollout
performance improves as l becomes shorter!
Limited vision may work to our advantage!
DISCRETIZATION

If the state space and/or control space is con


tinuous/innite, it must be replaced by a nite
discretization.
Need for consistency, i.e., as the discretization
becomes ner, the cost-to-go functions of the dis
cretized problem converge to those of the contin
uous problem.
Pitfalls with discretizing continuous time.
The control constraint set changes a lot as we
pass to the discrete-time approximation.
Continuous-Time Shortest Path Pitfall:

x1 (t) = u1 (t), x2 (t) = u2 (t),

with control constraint ui (t) {1, 1} and cost


T  
0
g x(t) dt. Compare with naive discretization

x1 (t+t) = x1 (t)+tu1 (t), x2 (t+t) = x2 (t)+tu2 (t)


with ui (t) {1, 1}.
Convexication eect of continuous time.
SPACE DISCRETIZATION I

Given a discrete-time system with state space

S, consider a nite subset S; for example S could

be a nite grid within a continuous state space S.

Diculty: f (x, u, w)
/ S for x S.
We dene an approximation to the original
problem, with state space S, as follows:
Express each x S as a convex combination of
states in S, i.e.,
 
x= i (x)xi where i (x) 0, i (x) = 1
xi S i

Dene a reduced dynamic system with state


space S, whereby from each xi S we move to
x = f (xi , u, w) according to the system equation
of the original problem, and then move to xj S
with probabilities j (x).
Dene similarly the corresponding cost per stage
of the transitions of the reduced system.
SPACE DISCRETIZATION II

Let J k (xi ) be the optimal cost-to-go of the re


duced problem from each state xi S and time
k onward.
Approximate the optimal cost-to-go of any x
S for the original problem by

Jk (x) = i (x)J k (xi ),
xi S
and use one-step-lookahead based on Jk .
The choice of coecients i (x) is in principle
arbitrary, but should aim at consistency, i.e., as
the number of states in S increases, Jk (x) should
converge to the optimal cost-to-go of the original
problem.
Interesting observation: While the original prob
lem may be deterministic, the reduced problem is
always stochastic.
Generalization: The set S may be any nite set
(not a subset of S) as long as the coecients i (x)
admit a meaningful interpretation that quanties
the degree of association of x with xi .
OTHER SUBOPTIMAL CONTROL APPROACHES

Minimize the DP equation error: Approxi


mate the optimal cost-to-go functions Jk (xk ) with
functions Jk (xk , rk ), where rk is a vector of un
known parameters, chosen to minimize some form
of error in the DP equations.
Direct approximation of control policies:
For a subset of states xi , i = 1, . . . , m, nd

k (xi ) = arg min E g(xi , uk , wk )
uk Uk (xi )
 
i
+ Jk+1 fk (x , uk , wk ), rk+1 .

Then nd k (xk , sk ), where sk is a vector of pa


rameters obtained by solving the problem


m
min
k (xi ) k (xi , s)
2 .
s
i=1
Approximation in policy space: Do not
bother with cost-to-go approximations. Parametrize
the policies as k (xk , sk ), and minimize the cost
function of the problem over the parameters sk .
6.231 DYNAMIC PROGRAMMING

LECTURE 13

LECTURE OUTLINE

Innite horizon problems


Stochastic shortest path problems
Bellmans equation
Dynamic programming value iteration
Examples
TYPES OF INFINITE HORIZON PROBLEMS

Same as the basic problem, but:

The number of stages is innite.

The system is stationary.

Total cost problems: Minimize


 N 1 
  
J (x0 ) = lim E k g xk , k (xk ), wk
N wk
k=0,1,... k=0

Stochastic shortest path problems ( = 1,


nite-state system with a termination state)
Discounted problems ( < 1, bounded cost
per stage)
Discounted and undiscounted problems with
unbounded cost per stage
Average cost problems
 N 1 
1 
 
lim E g xk , k (xk ), wk
N N wk

k=0,1,... k=0

PREVIEW OF INFINITE HORIZON RESULTS

Key issue: The relation between the innite and


nite horizon optimal cost-to-go functions.
Illustration: Let = 1 and JN (x) denote the
optimal cost of the N -stage problem, generated
after N DP iterations, starting from J0 (x) 0
 

Jk+1 (x) = min E g(x, u, w) + Jk f (x, u, w) , x
uU (x) w

Typical results for total cost problems:

J (x) = lim JN (x), x


N

  
J (x) = min E g(x, u, w) + J f (x, u, w) , x
uU (x) w

(Bellmans Equation). If (x) minimizes in Bell-

mans Eq., the policy {, , . . .} is optimal.


Bellmans Eq. always holds. The other re
sults are true for SSP (and bounded/discounted;
unusual exceptions for other problems).
STOCHASTIC SHORTEST PATH PROBLEMS

Assume nite-state system: States 1, . . . , n and


special cost-free termination state t
Transition probabilities pij (u)
Control constraints u U (i)

Cost of policy = {0 , 1 , . . .} is

N 1 

 

J (i) = lim E g xk , k (xk )  x0 = i
N
k=0

Optimal policy if J (i) = J (i) for all i.


Special notation: For stationary policies =
{, , . . .}, we use J (i) in place of J (i).
Assumption (Termination inevitable): There ex
ists integer m such that for every policy and initial
state, there is positive probability that the termi
nation state will be reached after no more that m
stages; for all , we have

= max P {xm =
 t | x0 = i, } < 1
i=1,...,n
FINITENESS OF POLICY COST-TO-GO FUNCTIONS

Let

= max .

Note that depends only on the rst m compo


nents of the policy , so that < 1.
For any and any initial state i

P {x2m = t | x0 = i, } = P {x2m =
 t | xm =
 t, x0 = i, }
P {xm =
 t | x0 = i, } 2

and similarly

P {xkm = t | x0 = i, } k , i = 1, . . . , n

So E{Cost between times km and (k + 1)m 1 }


 
mk max g(i, u)

i=1,...,n

uU (i)

and

  
  m  
J (i) k  
m max g(i, u) = 
max g(i, u) 
i=1,...,n 1 i=1,...,n
k=0 uU (i) uU (i)
MAIN RESULT

Given any initial conditions J0 (1), . . . , J0 (n),


the sequence Jk (i) generated by the DP iteration

n
Jk+1 (i) = min g(i, u) + pij (u)Jk (j) , i
uU (i)
j=1

converges to the optimal cost J (i) for each i.


Bellmans equation has J (i) as unique solution:


n
J (i) = min g(i, u) + pij (u)J (j) , i
uU (i)
j=1

A stationary policy is optimal if and only


if for every state i, (i) attains the minimum in
Bellmans equation.
Key proof idea: The tail of the cost series,

   
E g xk , k (xk )
k=mK

vanishes as K increases to .

OUTLINE OF PROOF THAT JN J

Assume for simplicity that J0 (i) = 0 for all i,


and for any K 1, write the cost of any policy
as


mK1
   

  
J (x0 ) = E g xk , k (xk ) + E g xk , k (xk )
k=0 k=mK


mK1
   

E g xk , k (xk ) + k m max |g(i, u)|
i,u
k=0 k=K

Take the minimum of both sides over to obtain

K
J (x0 ) JmK (x0 ) + m max |g(i, u)|.
1 i,u

Similarly, we have

K
JmK (x0 ) m max |g(i, u)| J (x0 ).
1 i,u

It follows that limK JmK (x0 ) = J (x0 ).


It can be seen that JmK (x0 ) and JmK+k (x0 )
converge to the same limit for k = 1, . . . , m 1,
so JN (x0 ) J (x0 )
EXAMPLE I

Minimizing the E{Time to Termination}: Let

g(i, u) = 1, i = 1, . . . , n, u U (i)

Under our assumptions, the costs J (i) uniquely


solve Bellmans equation, which has the form


n
J (i) = min 1 + pij (u)J (j) , i = 1, . . . , n
uU (i)
j=1

In the special case where there is only one con


trol at each state, J (i) is the mean rst passage
time from i to t. These times, denoted mi , are the
unique solution of the equations


n
mi = 1 + pij mj , i = 1, . . . , n.
j=1
EXAMPLE II

A spider and a y move along a straight line.

The y moves one unit to the left with proba


bility p, one unit to the right with probability p,
and stays where it is with probability 1 2p.
The spider moves one unit towards the y if its
distance from the y is more that one unit.
If the spider is one unit away from the y, it
will either move one unit towards the y or stay
where it is.
If the spider and the y land in the same posi
tion, the spider captures the y.
The spiders objective is to capture the y in
minimum expected time.
This is an SSP w/ state = the distance be
tween spider and y (i = 1, . . . , n and t = 0 the
termination state).
There is control choice only at state 1.
EXAMPLE II (CONTINUED)

For M = move, and M = dont move

p11 (M ) = 2p, p10 (M ) = 1 2p,

p12 (M ) = p, p11 (M ) = 1 2p, p10 (M ) = p,


pii = p, pi(i1) = 12p, pi(i2) = p, i 2,
with all other transition probabilities being 0.
Bellmans equation:

J (i) = 1+pJ (i)+(12p)J (i1)+pJ (i2), i2



J (1) = 1 + min 2pJ (1), pJ (2) + (1 2p)J (1)

w/ J (0) = 0. Substituting J (2) in Eq. for J (1),


 
p (1 2p)J (1)
J (1) = 1+min 2pJ (1), + .
1 p 1p

Work from here to nd that when one unit away


from the y it is optimal not to move if and only
if p 1/3.
6.231 DYNAMIC PROGRAMMING

LECTURE 14

LECTURE OUTLINE

Review of stochastic shortest path problems

Computational methods
Value iteration
Policy iteration
Linear programming
Discounted problems as special case of SSP

STOCHASTIC SHORTEST PATH PROBLEMS

Assume nite-state system: States 1, . . . , n and


special cost-free termination state t
Transition probabilities pij (u)
Control constraints u U (i)

Cost of policy = {0 , 1 , . . .} is

N 1 

 

J (i) = lim E g xk , k (xk )  x0 = i
N
k=0

Optimal policy if J (i) = J (i) for all i.


Special notation: For stationary policies =
{, , . . .}, we use J (i) in place of J (i).
Assumption (Termination inevitable): There ex
ists integer m such that for every policy and initial
state, there is positive probability that the termi
nation state will be reached after no more that m
stages; for all , we have

= max P {xm =
 t | x0 = i, } < 1
i=1,...,n
MAIN RESULT

Given any initial conditions J0 (1), . . . , J0 (n),


the sequence Jk (i) generated by value iteration

n
Jk+1 (i) = min g(i, u) + pij (u)Jk (j) , i
uU (i)
j=1

converges to the optimal cost J (i) for each i.


Bellmans equation has J (i) as unique solution:


n
J (i) = min g(i, u) + pij (u)J (j) , i
uU (i)
j=1

A stationary policy is optimal if and only


if for every state i, (i) attains the minimum in
Bellmans equation.
Key proof idea: The tail of the cost series,

   
E g xk , k (xk )
k=mK

vanishes as K increases to .

BELLMANS EQUATION FOR A SINGLE POLICY

Consider a stationary policy


J (i), i = 1, . . . , n, are the unique solution of
the linear system of n equations

  n
 
J (i) = g i, (i) + pij (i) J (j), i = 1, . . . , n
j=1

Proof: This is just Bellmans equation for a


modied/restricted problem where there is only
one policy, the stationary policy , i.e., the control
constraint set at state i is U (i) = {(i)}
The equation provides a way to compute J (i),
i = 1, . . . , n, but the computation is substantial
for large n [O(n3 )]
For large n, value iteration may be preferable.
(Typical case of a large linear system of equations,
where an iterative method may be better than a
direct solution method.)
POLICY ITERATION

It generates a sequence 1 , 2 , . . . of stationary


policies, starting with any stationary policy 0 .
At the typical iteration, given k , we perform
a policy evaluation step, that computes the Jk (i)
as the solution of the (linear) system of equations
   n
 
k
J(i) = g i, (i) + k
pij (i) J(j), i = 1, . . . , n,
j=1

in the n unknowns J(1), . . . , J(n). We then per


form a policy improvement step, which computes
a new policy k+1 as


n
k+1 (i) = arg min g(i, u) + pij (u)Jk (j) , i
uU (i)
j=1

The algorithm stops when Jk (i) = Jk+1 (i) for


all i
Note the connection with the rollout algorithm,
which is just a single policy iteration
JUSTIFICATION OF POLICY ITERATION

We can show thatJk+1 (i) Jk (i) for all i, k


Fix k and consider the sequence generated by
  n
 
JN +1 (i) = g i, k+1 (i) + pij k+1 (i) JN (j)

j=1

where J0 (i) = Jk (i). We have

   n

 
k
J0 (i) = g i, (i) + k
pij (i) J0 (j)

j=1

  

 
g i, k+1 (i) + pij k+1 (i) J0 (j) = J1 (i)
j=1
Using the monotonicity property of DP,
J0 (i) J1 (i) JN (i) JN +1 (i) , i
Since JN (i) Jk+1 (i) as N , we obtain
Jk (i) = J0 (i) Jk+1 (i) for all i. Also if Jk (i) =
Jk+1 (i) for all i, Jk solves Bellmans equation
and is therefore equal to J
A policy cannot be repeated, there are nitely

many stationary policies, so the algorithm termi

nates with an optimal policy

LINEAR PROGRAMMING

We claim that J is the largest J that satises


the constraint


n
J(i) g(i, u) + pij (u)J(j), (1)
j=1

for all i = 1, . . . , n and u U (i).


Proof: If we use value iteration to generate
 a se

quence of vectors Jk = Jk (1), . . . , Jk (n) starting


with a J0 such that

n
J0 (i) min g(i, u) + pij (u)J0 (j) , i
uU (i)
j=1

Then, Jk (i) Jk+1 (i) for all k and i (mono


tonicity property of DP) and Jk J , so that
J0 (i) J (i) for all i.
So J = (J (1), . . . , J (n)) is "
the solution of the
n
linear program of maximizing i=1 J(i) subject
to the constraint (1).
LINEAR PROGRAMMING (CONTINUED)

J (2)

2
J (2) = g(2,u ) + p 21(u 2)J (1) + p 22(u 2 )J (2)
J* = (J*(1),J*(2))

J (2) = g(2,u 1 ) + p 21(u 1 )J (1) + p 22(u 1 )J (2)


J (1) = g(1,u 2 ) + p 11(u 2)J (1) + p 12(u 2)J (2)

J (1) = g(1 ,u1 ) + p 11(u 1 )J (1) + p 12(u 1 )J (2)

0 J (1)

Drawback: For large n the dimension of this


program is very large. Furthermore, the num
ber of constraints is equal to the number of state-
control pairs.
DISCOUNTED PROBLEMS

Assume a discount factor < 1.


Conversion to an SSP problem.

p ij(u) a p ij(u)

p ii(u) i j p jj(u ) a p ii(u) i j a p jj(u)

p ji(u) a p ji(u)
1-a 1-a

Value iteration converges to J for all initial J0 :




n
Jk+1 (i) = min g(i, u) + pij (u)Jk (j) , i
uU (i)
j=1

J is the unique solution of Bellmans equation:



n
J (i) = min g(i, u) + pij (u)J (j) , i
uU (i)
j=1
DISCOUNTED PROBLEMS (CONTINUED)

Policy iteration converges nitely to an optimal


policy, and linear programming works.
Example: Asset selling over an innite horizon.
If accepted, the oer xk of period k, is invested at
a rate of interest r.
By depreciating the sale amount to period 0
dollars, we view (1 + r)k xk as the reward for
selling the asset in period k at a price xk , where
r > 0 is the rate of interest. So the discount factor
is = 1/(1 + r).
J is the unique solution of Bellmans equation
  
E J (w)
J (x) = max x, .
1+r

An optimal policy is to sell if and only if the cur

rent oer xk is greater than or equal to , where

 

E J (w)
= .

1+r
6.231 DYNAMIC PROGRAMMING

LECTURE 15

LECTURE OUTLINE

Average cost per stage problems


Connection with stochastic shortest path prob
lems
Bellmans equation
Value iteration
Policy iteration
AVERAGE COST PER STAGE PROBLEM

Stationary system with nite number of states


and controls
Minimize over policies = {0 , 1 , ...}
 N 1 
1   
J (x0 ) = lim E g xk , k (xk ), wk
N N wk
k=0,1,... k=0

Important characteristics (not shared by other


types of innite horizon problems)
For any xed K, the cost incurred up to time
K does not matter (only the state that we
are at time K matters)
If all states communicate the optimal cost
is independent of the initial state [if we can
go from i to j in nite expected time, we
must have J (i) J (j)]. So J (i) for
all i.
Because communication issues are so im
portant, the methodology relies heavily on
Markov chain theory.
CONNECTION WITH SSP

Assumption: State n is such that for some


integer m > 0, and for all initial states and all
policies, n is visited with positive probability at
least once within the rst m stages.
Divide the sequence of generated states into
cycles marked by successive visits to n.
Each of the cycles can be viewed as a state
trajectory of a corresponding stochastic shortest
path problem with n as the termination state.

p ij(u) p ij(u)

p ii(u) i p ji(u) j p jj(u) p ii(u) i p ji(u) j p jj(u)

p n i(u) p n j(u)
p n i(u) p n j(u)
p in(u) p jn(u) n
p in(u) p jn(u)
n
p n n(u)
p n n(u)
Special
State n
t
Artificial Termination State

Let the cost at i of the SSP be g(i, u)


We will show that

Av. Cost Probl. A Min Cost Cycle Probl. SSP Probl.


CONNECTION WITH SSP (CONTINUED)

Consider a minimum cycle cost problem: Find

a stationary policy that minimizes the expected

cost per transition within a cycle

Cnn ()

Nnn ()

where for a xed ,

Cnn () : E{cost from n up to the rst return to n}

Nnn () : E{time from n up to the rst return to n}

Intuitively, optimal cycle cost = , so

Cnn () Nnn () 0,

with equality if is optimal.


Thus, the optimal must minimize over the

expression Cnn () Nnn () , which is the ex

pected cost of starting from n in the SSP with

stage costs g(i, u) . Also: Optimal SSP Cost

= 0.

BELLMANS EQUATION

Let h (i) the optimal cost of this SSP problem


when starting at the nontermination states i =
1, . . . , n. Then, h (1), . . . , h (n) solve uniquely
the corresponding Bellmans equation


n1
h (i) = min g(i, u) + pij (u)h (j) , i
uU (i)
j=1

If is an optimal stationary policy for the SSP


problem, we have

h (n) = Cnn ( ) Nnn ( ) = 0

Combining these equations, we have




n
+h (i) = min g(i, u) + pij (u)h (j) , i
uU (i)
j=1

If (i) attains the min for each i, is optimal.


MORE ON THE CONNECTION WITH SSP

Interpretation of h (i) as a relative or dieren

tial cost: It is the minimum of

E{cost to reach n from i for the rst time}


E{cost if the stage cost were and not g(i, u)}

We dont know , so we cant solve the aver

age cost problem as an SSP problem. But similar

value and policy iteration algorithms are possible.

Example: A manufacturer at each time:

Receives an order with prob. p and no order

with prob. 1 p.

May process all unlled orders at cost K >

0, or process no order at all. The cost per

unlled order at each time is c > 0.

Maximum number of orders that can remain

unlled is n.

Find a processing policy that minimizes the


total expected cost per stage.
EXAMPLE (CONTINUED)

State = number of unlled orders. State 0 is


the special state for the SSP formulation.
Bellmans equation: For states i = 0, 1, . . . , n1

+ h (i) = min K + (1 p)h (0) + ph (1),

ci + (1 p)h (i) + ph (i + 1) ,

and for state n

+ h (n) = K + (1 p)h (0) + ph (1)

Optimal policy: Process i unlled orders if

K+(1p)h (0)+ph (1) ci+(1p)h (i)+ph (i+1).

Intuitively, h (i) is monotonically nondecreas


ing with i (interpret h (i) as optimal costs-to-go
for the associate SSP problem). So a threshold pol
icy is optimal: process the orders if their number
exceeds some threshold integer m .
VALUE ITERATION

Natural value iteration method: Generate op


timal k-stage costs by DP algorithm starting with
any J0 :


n
Jk+1 (i) = min g(i, u) + pij (u)Jk (j) , i
uU (i)
j=1

Result: limk Jk (i)/k = for all i.


Proof outline: Let Jk be so generated from the
initial condition J0 = h . Then, by induction,

Jk (i) = k + h (i), i, k.

On the other hand,


   
Jk (i) J (i) max J0 (j) h (j), i
k j=1,...,n

since Jk (i) and Jk (i) are optimal costs for two


k-stage problems that dier only in the terminal
cost functions, which are J0 and h .
RELATIVE VALUE ITERATION

The value iteration method just described has


two drawbacks:
Since typically some components of Jk di
verge to or , calculating limk Jk (i)/k
is numerically cumbersome.
The method will not compute a correspond
ing dierential cost vector h .
We can bypass both diculties by subtracting
a constant from all components of the vector Jk ,
so that the dierence, call it hk , remains bounded.
Relative value iteration algorithm: Pick any
state s, and iterate according to

n
hk+1 (i) = min g(i, u) + pij (u)hk (j)
uU (i)
j=1



n
min g(s, u) + psj (u)hk (j) , i
uU (s)
j=1

Then we can show hk h (under an extra


assumption).
POLICY ITERATION

At the typical iteration, we have a stationary


k .
Policy evaluation: Compute k and hk (i) of k ,
using the n + 1 equations hk (n) = 0 and
   n
 
k k k
+ h (i) = g i, (i) + pij (i) hk (j), i
k

j=1

Policy improvement: Find for all i




n
k+1 (i) = arg min g(i, u) + pij (u)hk (j)

uU (i)

j=1

If k+1 = k and hk+1 (i) = hk (i) for all i, stop;


otherwise, repeat with k+1 replacing k .
Result: For each k, we either have k+1 < k
or

k+1 = k , hk+1 (i) hk (i), i = 1, . . . , n.

The algorithm terminates with an optimal policy.

6.231 DYNAMIC PROGRAMMING

LECTURE 16

LECTURE OUTLINE

Control of continuous-time Markov chains


Semi-Markov problems
Problem formulation Equivalence to discrete-
time problems
Discounted problems
Average cost problems
CONTINUOUS-TIME MARKOV CHAINS

Stationary system with nite number of states


and controls
State transitions occur at discrete times
Control applied at these discrete times and stays
constant between transitions
Time between transitions is random
Cost accumulates in continuous time (may also
be incurred at the time of transition)
Example: Admission control in a system with
restricted capacity (e.g., a communication link)
Customer arrivals: a Poisson process
Customers entering the system, depart after
exponentially distributed time
Upon arrival we must decide whether to ad
mit or to block a customer
There is a cost for blocking a customer
For each customer that is in the system, there
is a customer-dependent reward per unit time
Minimize time-discounted or average cost
PROBLEM FORMULATION

x(t) and u(t): State and control at time t


tk : Time of kth transition (t0 = 0)
xk = x(tk ); x(t) = xk for tk t < tk+1 .
uk = u(tk ); u(t) = uk for tk t < tk+1 .
No transition probabilities; instead transition
distributions (quantify the uncertainty about both
transition time and next state)

Qij (, u) = P {tk+1 tk , xk+1 = j | xk = i, uk = u}


Two important formulas:
(1) Transition probabilities are specied by

pij (u) = P {xk+1 = j | xk = i, uk = u} = lim Qij (, u)


(2) The Cumulative Distribution Function (CDF)


of given i, j, u is (assuming pij (u) > 0)

Qij (, u)
P {tk+1 tk | xk = i, xk+1 = j, uk = u} =
pij (u)

Thus, Qij (, u) can be viewed as a scaled CDF


EXPONENTIAL TRANSITION DISTRIBUTIONS

Important example of transition distributions:

 
Qij (, u) = pij (u) 1 e i
(u) ,

where pij (u) are transition probabilities, and i (u)


is called the transition rate at state i.
Interpretation: If the system is in state i and
control u is applied
the next state will be j with probability pij (u)
the time between the transition to state i
and the transition to the next state j is ex
ponentially distributed with parameter i (u)
(independently of j):
P {transition time interval > | i, u} = ei (u)

The exponential distribution is memoryless.


This implies that for a given policy, the system
is a continuous-time Markov chain (the future de
pends on the past through the present).
Without the memoryless property, the Markov
property holds only at the times of transition.
COST STRUCTURES

There is cost g(i, u) per unit time, i.e.

g(i, u)dt = the cost incurred in time dt

There may be an extra instantaneous cost


g(i, u) at the time of a transition (lets ignore this
for the moment)
Total discounted cost of = {0 , 1 , . . .} start
ing from state i (with discount factor > 0)
N 1  
 tk+1
   
t
lim E e g xk , k (xk ) dt  x0 = i

k=0 tk

Average cost per unit time


N 1  
 tk+1
  

1
lim E g xk , k (xk ) dt  x0 = i

N E{tN } tk
k=0

We will see that both problems have equivalent


discrete-time versions.
A NOTE ON NOTATION

The scaled CDF Qij (, u) can be used to model


discrete, continuous, and mixed distributions for
the transition time .
Generally, expected values of functions of can
be written as integrals involving d Qij (, u). For
example, the conditional expected value of given
i, j, and u is written as


d Qij (, u)
E{ | i, j, u} =
0 pij (u)
If Qij (, u) is continuous with respect to , its
derivative
dQij
qij (, u) = (, u)
d
can be viewed as a scaled density function. Ex
pected values of functions of can then be written
in terms of qij (, u). For example


qij (, u)
E{ | i, j, u} = d
0 pij (u)
If Qij (, u) is discontinuous and staircase-like,
expected values can be written as summations.
DISCOUNTED PROBLEMS COST CALCULATION

For a policy = {0 , 1 , . . .}, write

J (i) = E{1st transition cost}+E{e J1 (j) | i, 0 (i)}

where J1 (j) is the cost-to-go of the policy 1 =


{1 , 2 , . . .}
We calculate the two costs in the RHS. The

E{1st transition cost}, if u is applied at state i, is

 

G(i, u) = Ej E {1st transition cost | j}



n 


dQij (, u)
= pij (u) et g(i, u)dt
0 0
pij (u)
j=1
n 

1 e
= g(i, u)dQij (, u)
0

j=1

Thus the E{1st transition cost} is



   
n
1 e  
G i, 0 (i) = g i, 0 (i) dQij , 0 (i)
0

j=1
COST CALCULATION (CONTINUED)

Also the expected (discounted) cost from the


next state j is
 
E e J1 (j) | i, 0 (i)
 
= Ej E{e | i, 0 (i), j}J1 (j) | i, 0 (i)
n  

dQij (, u)
= pij (u) e J1 (j)
j=1
0 pij (u)

n

 
= mij (i) J1 (j)

j=1

where mij (u) is given by


   
mij (u) = e dQij (, u) < dQij (, u) = pij (u)
0 0

and can be viewed as the eective discount fac


tor [the analog of pij (u) in the discrete-time
case].
So J (i) can be written as

  n
 
J (i) = G i, 0 (i) + mij 0 (i) J1 (j)
j=1
EQUIVALENCE TO AN SSP

Similar to the discrete-time case, introduce a


stochastic shortest path problem with an articial
termination state t
Under control u, from state i the system moves
to state j with probability mij (u) and
"nto the ter
mination state t with probability 1 j=1 mij (u)
Bellmans equation: For i = 1, . . . , n,

n
J (i) = min G(i, u) + mij (u)J (j)

uU (i)

j=1

Analogs of value iteration, policy iteration, and


linear programming.
If in addition to the cost per unit time g, there
is an extra (instantaneous) one-stage cost g(i, u),
Bellmans equation becomes


n
J (i) = min g(i, u) + G(i, u) + mij (u)J (j)
uU (i)
j=1
MANUFACTURERS EXAMPLE REVISITED

A manufacturer receives orders with interarrival


times uniformly distributed in [0, max ].
He may process all unlled orders at cost K > 0,
or process none. The cost per unit time of an
unlled order is c. Max number of unlled orders
is n.
The nonzero transition distributions are
 

Qi1 (, Fill) = Qi(i+1) (, Not Fill) = min 1,
max
The one-stage expected cost G is

G(i, Fill) = 0, G(i, Not Fill) = c i,

where
n 
 
1 e max
1 e
= dQij (, u) = d
j=1 0 0 max

There is an instantaneous cost

g(i, Fill) = K, g(i, Not Fill) = 0

MANUFACTURERS EXAMPLE CONTINUED

The eective discount factors mij (u) in Bell-


mans Equation are

mi1 (Fill) = mi(i+1) (Not Fill) = ,

where

  max
e 1 emax
= e dQij (, u) = d =
0 0
max max

Bellmans equation has the form


J (i)
= min K+J (1), ci+J (i+1) , i = 1, 2, . . .

As in the discrete-time case, we can conclude


that there exists an optimal threshold i :

ll the orders <==> their number i exceeds i


AVERAGE COST

Minimize
 
1 tN  
lim E g x(t), u(t) dt
N E{tN } 0

assuming there is a special state that is recurrent


under all policies
Total expected cost of a transition
G(i, u) = g(i, u) i (u),
where i (u): Expected transition time.
We now apply the SSP argument used for the
discrete-time case. Divide trajectory into cycles
marked by successive visits to n. The cost at (i, u)
is G(i, u) i (u), where is the optimal ex
pected cost per unit time. Each cycle is viewed as
a state trajectory of a corresponding SSP problem
with the termination state being essentially n.
So Bellmans Eq. for the average cost problem:


n
h (i) = min G(i, u) i (u) + pij (u)h (j)
uU (i)
j=1
AVERAGE COST MANUFACTURERS EXAMPLE

The expected transition times are

max

i (Fill) = i (Not Fill) =


2

the expected transition cost is

c i max
G(i, Fill) = 0, G(i, Not Fill) =
2

and there is also the instantaneous cost

g(i, Fill) = K, g(i, Not Fill) = 0

Bellmans equation:

max
h (i) = min K + h (1),
2
max max
ci + h (i + 1)
2 2

Again it can be shown that a threshold policy


is optimal.
6.231 DYNAMIC PROGRAMMING

LECTURE 17

LECTURE OUTLINE

We start a four-lecture sequence on advanced


innite horizon DP
We allow innite state space, so the stochastic

shortest path framework cannot be used any more

Results are rigorous assuming a countable dis


turbance space
This includes deterministic problems with
arbitrary state space, and countable state
Markov chains
Otherwise the mathematics of measure the
ory make analysis dicult, although the
nal results are essentially the same as for
countable disturbance space
The discounted problem is the proper starting
point for this analysis
The central mathematical structure is that the
DP mapping is a contraction mapping (instead of
existence of a termination state)
DISCOUNTED PROBLEMS W/ BOUNDED COST

Stationary system with arbitrary state space

xk+1 = f (xk , uk , wk ), k = 0, 1, . . .

Cost of a policy = {0 , 1 , . . .}
N 1 

 
J (x0 ) = lim E k g xk , k (xk ), wk
N wk

k=0,1,... k=0

with < 1, and for some M , we have |g(x, u, w)|


M for all (x, u, w)
Shorthand notation for DP mappings (operate

on functions of state to produce other functions)

  
(T J)(x) = min E g(x, u, w) + J f (x, u, w) , x

uU (x) w

T J is the optimal cost function for the one-stage

problem with stage cost g and terminal cost J.

For any stationary policy


    
(T J)(x) = E g x, (x), w + J f (x, (x), w) , x
w
SHORTHAND THEORY A SUMMARY

Cost function expressions [with J0 (x) 0]

J (x) = lim (T0 T1 Tk J0 )(x), J (x) = lim (Tk J0 )(x)


k k

Bellmans equation: J = T J , J = T J
Optimality condition:

: optimal <==> T J = T J

Value iteration: For any (bounded) J and all

x,

J (x) = lim (T k J)(x)

Policy iteration: Given k ,

Policy evaluation: Find Jk by solving

Jk = Tk Jk

Policy improvement: Find k+1 such that

T k+1 Jk = T Jk
TWO KEY PROPERTIES

Monotonicity property: For any functions J


and J  such that J(x) J  (x) for all x, and any

(T J)(x) (T J  )(x), x,
(T J)(x) (T J  )(x), x.

Additivity property: For any J, any scalar


r, and any
 
T (J + re) (x) = (T J)(x) + r, x,

 
T (J + re) (x) = (T J)(x) + r, x,
where e is the unit function [e(x) 1].
CONVERGENCE OF VALUE ITERATION

If J0 0,

J (x) = lim (T N J0 )(x), for all x


N

Proof: For any initial state x0 , and policy =


{0 , 1 , . . .},


  
J (x0 ) = E k g xk , k (xk ), wk

k=0

N 1 
  
=E k g xk , k (xk ), wk
k=0


  
+E k g xk , k (xk ), wk
k=N

The tail portion satises


  
 
   N M

E k g xk , k (xk ), wk  ,
  1

k=N

where M |g(x, u, w)|. Take the min over of


both sides. Q.E.D.
BELLMANS EQUATION

The optimal cost function J satises Bellmans


Eq., i.e. J = T (J ).
Proof: For all x and N ,

NM NM
J (x) (T N J0 )(x) J (x) + ,
1 1

where J0 (x) 0 and M |g(x, u, w)|. Applying


T to this relation, and using Monotonicity and
Additivity,

N +1 M

(T J )(x) (T N +1 J0 )(x)

1
N +1 M
(T J )(x) +
1

Taking the limit as N and using the fact

lim (T N +1 J0 )(x) = J (x)


N

we obtain J = T J . Q.E.D.
THE CONTRACTION PROPERTY

Contraction property: For any bounded func


tions J and J  , and any ,
   
max (T J)(x) (T J )(x) max J(x) J (x),
    
x x

   
max(T J)(x)(T J  )(x) maxJ(x)J  (x).
x x
 
Proof: Denote c = maxxS J(x) J  (x). Then

J(x) c J  (x) J(x) + c, x

Apply T to both sides, and use the Monotonicity


and Additivity properties:

(T J)(x) c (T J  )(x) (T J)(x) + c, x

Hence
 
(T J)(x) (T J  )(x) c, x.

Q.E.D.

IMPLICATIONS OF CONTRACTION PROPERTY

Bellmans equation J = T J has a unique solu


tion, namely J , and for any bounded J, we have

lim (T k J)(x) = J (x), x


k

Proof: Use
   

max (T J)(x) J (x) max (T J)(x) (T J )(x)
k   k k
x x
 
k maxJ(x) J (x)
x

Convergence rate: For all k,


   

  
max (T J)(x) J (x) max J(x) J (x)
k k 
x x

Also, for each stationary , J is the unique


solution of J = T J and

lim (Tk J)(x) = J (x), x,


k

for any bounded J.


NEC. AND SUFFICIENT OPT. CONDITION

A stationary policy is optimal if and only if


(x) attains the minimum in Bellmans equation
for each x; i.e.,

T J = T J .

Proof: If T J = T J , then using Bellmans equa


tion (J = T J ), we have

J = T J ,

so by uniqueness of the xed point of T , we obtain


J = J ; i.e., is optimal.
Conversely, if the stationary policy is optimal,
we have J = J , so

J = T J .

Combining this with Bellmans equation (J =


T J ), we obtain T J = T J . Q.E.D.
COMPUTATIONAL METHODS

Value iteration and variants


Gauss-Seidel version
Approximate value iteration
Policy iteration and variants
Combination with value iteration
Modied policy iteration
Asynchronous policy iteration
Linear programming


n
maximize J(i)
i=1

n
subject to J(i) g(i, u) + pij (u)J(j), (i, u)
j=1

Approximate linear programming: use in place


of J(i) a low-dim. basis function representation


m
J(i, r) = rk wk (i)
k=1
and low-dim. LP (with many constraints)

6.231 DYNAMIC PROGRAMMING

LECTURE 18

LECTURE OUTLINE

One-step lookahead and rollout for discounted


problems
Approximate policy iteration: Innite state
space
Contraction mappings in DP
Discounted problems: Countable state space
with unbounded costs
ONE-STEP LOOKAHEAD POLICIES

At state i use the control (i) that attains the


minimum in

n
(T J)(i) = min g(i, u) + pij (u)J(j) ,
uU (i)
j=1

where J is some approximation to J .


Assume that
T J J + e,

for some scalar , where e is the unit vector. Then


J T J +
eJ+
e.
1 1
Assume that

J e J J + e,

for some scalar . Then


2
J J + e.
1
APPLICATION TO ROLLOUT POLICIES

Let 1 , . . . , M be stationary policies, and let


 

J(i) = min J1 (i) , . . . , JM (i) , i.

Then, for all i, and m = 1, . . . , M , we have



n
(T J)(i) = min g(i, u) + pij (u)J(j)
uU (i)
j=1


n
min g(i, u) + pij (u)Jm (j)
uU (i)
j=1

Jm (i)

Taking minimum over m,

(T J)(i) J(i), i.

Using the preceding slide result with = 0,

 
J (i) J (i) = min J1 (i) , . . . , JM (i) ,
i,

i.e., the rollout policy improves over each m .

APPROXIMATE POLICY ITERATION

Suppose that the policy evaluation is approxi


mate, according to,

max |Jk (x) Jk (x)| , k = 0, 1, . . .


x

and policy improvement is approximate, according


to,

max |(Tk+1 Jk )(x)(T Jk )(x)| , k = 0, 1, . . .


x

where and  are some positive scalars.


Error Bound: The sequence {k } generated
by approximate policy iteration satises

   + 2
lim sup max Jk (x) J (x)
k xS (1 )2

Typical practical behavior: The method makes


steady progress up to a point and then the iterates
Jk oscillate within a neighborhood of J .
CONTRACTION MAPPINGS

Given a real vector space Y with a norm


(i.e.,
y
0 for all y Y ,
y
= 0 if and only if
y = 0, and
y + z

y
+
z
for all y, z Y )
A function F : Y Y is said to be a contraction
mapping if for some (0, 1), we have


F (y) F (z)

y z
, for all y, z Y.

is called the modulus of contraction of F .


For m > 1, we say that F is an m-stage con
traction if F m is a contraction.
Important example: Let S be a set (e.g., state
space in DP), v : S  be a positive-valued
function. Let B(S) be the set of all functions J :
S  such that J(s)/v(s) is bounded over s.

We dene a norm on B(S), called the weighted

sup-norm, by
|J(s)|

J
= max .

sS v(s)

Important special case: The discounted prob


lem mappings T and T [for v(s) 1, = ].
CONTRACTION MAPPING FIXED-POINT TH.

Contraction Mapping Fixed-Point Theo


rem: If F : B(S) B(S) is a contraction with
modulus (0, 1), then there exists a unique
J B(S) such that

J = F J .

Furthermore, if J is any function in B(S), then


{F k J} converges to J and we have


F k J J
k
J J
, k = 1, 2, . . . .

Similar result if F is an m-stage contraction


mapping.
This is a special case of a general result for
contraction mappings F : Y Y over normed
vector spaces Y that are complete: every sequence
{yk } that is Cauchy (satises
ym yn
0 as
m, n ) converges.
The space B(S) is complete (see the text for a
proof).
A DP-LIKE CONTRACTION MAPPING I

Let S = {1, 2, . . .}, and let F : B(S)


B(S)
be a linear mapping of the form

(F J)(i) = b(i) + a(i, j) J(j), i

jS

where b(i) and a(i, j) are some scalars. Then F is

a contraction with modulus if


"
jS |a(i, j)| v(j)
, i
v(i)

Let F : B(S)
B(S) be a mapping of the form

(F J)(i) = min(F J)(i), i


M

where M is parameter set, and for each M ,


F is a contraction mapping from B(S) to B(S)
with modulus . Then F is a contraction mapping
with modulus .
A DP-LIKE CONTRACTION MAPPING II

Let S = {1, 2, . . .}, let M be a parameter set,

and for each M , let

(F J)(i) = b(i, ) + a(i, j, ) J(j), i


jS

We have F J B(S) for all J B(S) provided

b B(S) and V B(S), where

   
b = b(1, ), b(2, ), . . . , V = V (1, ), V (2, ), . . . ,
 
V (i, ) =  a(i, j, ) v(j), i
jS

Consider the mapping F

(F J)(i) = min(F J)(i), i


M

We have F J B(S) for all J B(S), provided

b B(S) and V B(S), where

   

b = b(1), b(2), . . . , V = V (1), V (2), . . . ,

with b(i) = maxM b(i, ) and V (i) = maxM V (i, ).

DISCOUNTED DP - UNBOUNDED COST I

State space S = {1, 2, . . .}, transition probabil


ities pij (u), cost g(i, u).
Weighted sup-norm

|J(i)|


J
= max
iS vi
 
on B(S): sequences J(i) such that
J
< .

Assumptions:
 
(a) G = G(1), G(2), . . . B(S), where
 

G(i) = max g(i, u), i
uU (i)

 
(b) V = V (1), V (2), . . . B(S), where


V (i) = max pij (u) vj , i


uU (i)
jS

(c) There exists an integer m 1 and a scalar

(0, 1) such that for every policy ,

"
jS P (xm = j | x0 = i, ) vj
m , i
vi
DISCOUNTED DP - UNBOUNDED COST II

Example: Let vi = i for all i = 1, 2, . . .


Assumption (a) is satised if the maximum ex
pected absolute cost per stage at state i grows no
faster than linearly with i.
Assumption (b) states that the maximum ex
pected next state following state i,

max E{j | i, u},

uU (i)

also grows no faster than linearly with i.


Assumption (c) is satised if

m P (xm = j | x0 = i, ) j i, i
jS

It requires that for all , the expected value of the


state obtained m stages after reaching state i is no
more than m i.
If there is bounded upward expected change of
the state starting at i, there exists m suciently
large so that Assumption (c) is satised.
DISCOUNTED DP - UNBOUNDED COST III

Consider the DP mappings T and T ,


    

(T J)(i) = g i, (i) + pij (i) J(j), i,


jS

(T J)(i) = min g(i, u) + pij (u)J(j) , i


uU (i)
jS

Proposition: Under the earlier assumptions,


T and T map B(S) into B(S), and are m-stage
contraction mappings with modulus .
The m-stage contraction properties can be used

to essentially replicate the analysis for the case of

bounded cost, and to show the standard results:

The value iteration method Jk+1 = T Jk con


verges to the unique solution J of Bellmans
equation J = T J.
The unique solution J of Bellmans equa
tion is the optimal cost function.
A stationary policy is optimal if and only
if T J = T J .
6.231 DYNAMIC PROGRAMMING

LECTURE 19

LECTURE OUTLINE

Undiscounted problems
Stochastic shortest path problems (SSP)
Proper and improper policies
Analysis and computational methods for SSP

Pathologies of SSP
UNDISCOUNTED PROBLEMS

System: xk+1 = f (xk , uk , wk )


Cost of a policy = {0 , 1 , . . .}
N 1 
  
J (x0 ) = lim E g xk , k (xk ), wk

N wk

k=0,1,... k=0

Shorthand notation for DP mappings


  
(T J)(x) = min E g(x, u, w) + J f (x, u, w) , x

uU (x) w

For any stationary policy


    
(T J)(x) = E g x, (x), w + J f (x, (x), w) , x
w

Neither T nor T are contractions in general,


but their monotonicity is helpful.
SSP problems provide a soft boundary be
tween the easy nite-state discounted problems
and the hard undiscounted problems.
They share features of both.
Some of the nice theory is recovered because
of the termination state.
SSP THEORY SUMMARY I

As earlier, we have a cost-free term. state t, a

nite number of states 1, . . . , n, and nite number

of controls, but we will make weaker assumptions.

Mappings T and T (modied to account for


termination state t):


(T J)(i) = min g(i, u) + pij (u)J(j) , i = 1, . . . , n,


uU (i)
j=1

  
n
 
(T J)(i) = g i, (i) + pij (i) J(j), i = 1, . . . , n.
j=1

Denition: A stationary policy is called


proper, if under , from every state i, there is
a positive probability path that leads to t.
Important fact: If is proper, T is contrac
tion with respect to some weighted max norm

1 1
max |(T J)(i)(T J  )(i)| max |J(i)J  (i)|
i vi i vi
T is similarly a contraction if all are proper
(the case discussed in the text, Ch. 7, Vol. I).
SSP THEORY SUMMARY II

The theory can be pushed one step further.


Assume that:
(a) There exists at least one proper policy
(b) For each improper , J (i) = for some i
Then T is not necessarily a contraction, but:
J is the unique solution of Bellmans Equ.
is optimal if and only if T J = T J
limk (T k J)(i) = J (i) for all i
Policy iteration terminates with an optimal
policy, if started with a proper policy

Example: Deterministic shortest path problem


with a single destination t.
States <=> nodes; Controls <=> arcs
Termination state <=> the destination
Assumption (a) <=> every node is con
nected to the destination
Assumption (b) <=> all cycle costs > 0
SSP ANALYSIS I

For a proper policy , J is the unique xed


point of T , and Tk J J for all J (holds by the
theory of Vol. I, Section 7.2)
A stationary satisfying J T J for some J
must be proper - true because


k1
J Tk J = Pk J + Pm g
m=0

and some component of the term on the right

blows up if is improper (by our assumptions).

Consequence: T can have at most one xed


point.
Proof: If J and J  are two solutions, select
and  such that J = T J = T J and J  = T J  =
T J  . By preceding assertion, and  must be
proper, and J = J and J  = J . Also

J = T k J Tk J J = J 

Similarly, J  J, so J = J  .
SSP ANALYSIS II

We now show that T has a xed point, and also


that policy iteration converges.
Generate a sequence {k } by policy iteration
starting from a proper policy 0 .
1 is proper and J0 J1 since

J0 = T0 J0 T J0 = T1 J0 Tk1 J0 J1

Thus {Jk } is nonincreasing, some policy will


be repeated, with J = T J . So J is a xed point
of T .
Next show T k J J for all J, i.e., value it
eration converges to the same limit as policy iter
ation. (Sketch: True if J = J , argue using the
properness of to show that the terminal cost
dierence J J does not matter.)
To show J = J , for any = {0 , 1 , . . .}

T0 Tk1 J0 T k J0 ,

where J0 0. Take lim sup as k , to obtain


J J , so is optimal and J = J .
SSP ANALYSIS III

If all policies are proper (the assumption of


Section 7.1, Vol. I), T and T are contractions
with respect to a weighted sup norm.
Proof: Consider a new SSP problem where the
transition probabilities are the same as in the orig
inal, but the transition costs are all equal to 1.
Let J be the corresponding optimal cost vector.
For all ,


n

n
 
J(i) = 1+ min pij (u)J(j) 1+ pij (i) J(j)
uU (i)
j=1 j=1

For vi = J(i), we have vi 1, and for all ,


n
 
pij (i) vj vi 1 vi , i = 1, . . . , n,

j=1

where
vi 1
= max < 1.
i=1,...,n vi
This implies contraction of T and T by the results
of the preceding lecture.
PATHOLOGIES I: DETERM. SHORTEST PATHS

If there is a cycle with cost = 0, Bellmans equa

tion has an innite number of solutions. Example:

1
1 2 t

We have J (1) = J (2) = 1.


Bellmans equation is

J(1) = J(2), J(2) = min J(1), 1].

It has J as solution.
Set of solutions of Bellmans equation:
 
J | J(1) = J(2) 1 .
PATHOLOGIES II: DETERM. SHORTEST PATHS

If there is a cycle with cost < 0, Bellmans


equation has no solution [among functions J with
< J(i) < for all i]. Example:
0

1
1 2 t

-1

We have J (1) = J (2) = .


Bellmans equation is

J(1) = J(2), J(2) = min 1 + J(1), 1].

There is no solution [among functions J with


< J(i) < for all i].
Bellmans equation has as solution J (1) =
J (2) = [within the larger class of functions
J() that can take the value for some (or
all) states]. This situation can be generalized (see
Chapter 3 of Vol. 2 of the text).
PATHOLOGIES III: THE BLACKMAILER

Two states, state 1 and the termination state t.

At state 1, choose a control u (0, 1] (the


blackmail amount demanded) at a cost u, and
move to t with probability u2 , or stay in 1 with
probability 1 u2 .
Every stationary policy is proper, but the con
trol set in not nite.
For any stationary with (1) = u, we have

J (1) = u + (1 u2 )J (1)

from which J (1) = u1


Thus J (1) = , and there is no optimal
stationary policy.
It turns out that a nonstationary policy is op
timal: demand k (1) = /(k + 1) at time k, with
(0, 1/2). (Blackmailer requests diminishing
amounts over time, which add to ; the proba
bility of the victims refusal diminishes at a much
faster rate.)
6.231 DYNAMIC PROGRAMMING

LECTURE 20

LECTURE OUTLINE

We begin a 6-lecture series on approximate DP


for large/intractable problems.
We will mainly follow Chapter 6, Vol. 2 of
the text (with supplemental refs). Note: An up
dated/expanded version of Chapter 6, Vol. 2 is
posted in the internet.
In this lecture we classify/overview the main
approaches:
Rollout/Simulation-based single policy iter
ation (we will not discuss this further)
Approximation in value space (approximate
policy iteration, Q-Learning, Bellman error
approach, approximate LP)
Approximation in policy space (policy para
metrization, gradient methods)
Problem approximation (simplication - ag
gregation - limited lookahead) - we will briey
discuss this today
APPROXIMATION IN VALUE SPACE

We will mainly adopt an n-state discounted

model (the easiest case - but think of HUGE n).

Extensions to SSP and average cost are possible


(but more quirky). We will discuss them later.
Main idea: Approximate J or J with an ap
proximation architecture

J (i) J(i, r) or J (i) J(i, r)

Principal example: Subspace approximation



s
J(i, r) = (i) r = k (i)rk
k=1

where 1 , . . . , s are basis functions spanning an


s-dimensional subspace of n
Key issue: How to optimize r with low/s-dimensi
onal operations only
Other than manual/trial-and-error approaches
(e.g/, as in computer chess), the only other ap
proaches are simulation-based. They are collec
tively known as neuro-dynamic programming or
reinforcement learning
APPROX. IN VALUE SPACE - APPROACHES

Policy evaluation/Policy improvement


Uses simulation algorithms to approximate
the cost J of the current policy
Approximation of the optimal cost function J
Q-Learning: Use a simulation algorithm to
approximate the optimal costs J (i) or the
Q-factors


n
Q (i, u) = g(i, u) + pij (u)J (j)
j=1

Bellman error approach: Find r to


  2 
min Ei J(i, r) (T J)(i, r)
r

where Ei {} is taken with respect to some


distribution
Approximate LP (discussed earlier - supple
mented with clever schemes to overcome the
large number of constraints issue)
POLICY EVALUATE/POLICY IMPROVE

An example

System Simulator
~ -
Least-Squares J(j,r)
Optimization

_ Decision Generator
Decision (i) State i

Cost-to-Go Approximator
~
Supplies Values J(j,r)

The least squares optimization may be re


placed by a dierent algorithm
POLICY EVALUATE/POLICY IMPROVE I

Approximate the cost of the current policy by


using a simulation method.
Direct policy evaluation - Cost samples gen
erated by simulation, and optimization by
least squares
Indirect policy evaluation - solving the pro
jected equation r = T (r) where is
projection w/ respect to a suitable weighted
Euclidean norm

J T(r)

Projection
Projection on S
on S

r = T(r)

J
0 0
S: Subspace spanned by basis functions S: Subspace spanned by basis functions

Direct Mehod: Projection of cost vector J Indirect method: Solving a projected


form of Bellmans equation

Batch and incremental methods


Regular and optimistic policy iteration
POLICY EVALUATE/POLICY IMPROVE II

Projected equation methods are preferred and


have rich theory
TD(): Stochastic iterative algorithm for solv
ing r = T (r)
LSPE(): A simulation-based form of projected
value iteration

rk+1 = T (rk ) + simulation noise

Value Iterate Value Iterate


T(rk) = g + Prk T(rk) = g + Prk

Projection Projection
on S on S

rk+1
rk+1
rk rk
Simulation error
0 0
S: Subspace spanned by basis functions S: Subspace spanned by basis functions

Projected Value Iteration (PVI) Least Squares Policy Evaluation (LSPE)

LSTD(): Solves a simulation-based approxi


mation r = T (r) of the projected equation,
using a linear system solver (e.g., Gaussian elimi
nation/Matlab)
APPROXIMATION IN POLICY SPACE

We parameterize the set of policies by a vector


r = (r1 , . . . , rs ) and we optimize the cost over r.
In a special case of this approach, the param
eterization of the policies is indirect, through an
approximate cost function.
A cost approximation architecture parame
terized by r, denes a policy dependent on r
via the minimization in Bellmans equation.
Discounted problem example:
Denote by gi (r), i = 1, . . . , n, the one-stage
expected cost starting at state i, and by pij (r)
the transition probabilities.
Each value of r denes a stationary policy,
with cost starting at state i denoted by Ji (r).
Use a gradient (or other) method to mini
mize over r

n
J(r) = q(i)Ji (r),
i=1

 
where q(1), . . . , q(n) is some probability dis

tribution over the states.

PROBLEM APPROXIMATION - AGGREGATION

Another major idea in ADP is to approximate


the cost-to-go function of the problem with the
cost-to-go function of a simpler problem. The sim
plication is often ad-hoc/problem dependent.
Aggregation is a (semi-)systematic approach for
problem approximation. Main elements:
Introduce a few aggregate states, viewed
as the states of an aggregate system
Dene transition probabilities and costs of
the aggregate system, by associating multi
ple states of the original system with each
aggregate state
Solve (exactly or approximately) the ag
gregate problem by any kind of value or pol
icy iteration method (including simulation-
based methods, such as Q-learning)
Use the optimal cost of the aggregate prob
lem to approximate the optimal cost of the
original problem
Example (Hard Aggregation): We are given a
partition of the state space into subsets of states,
and each subset is viewed as an aggregate state
(each state belongs to one and only one subset).
AGGREGATION/DISAGGREGATION PROBS

The aggregate system transition probabilities

are dened via two (somewhat arbitrary) choices:

For each original system state i and aggregate


state m, the aggregation probability aim
This may be roughly interpreted as the de
gree of membership of i in the aggregate
state m.
In the hard aggregation example, aim = 1 if
state i belongs to aggregate state/subset m.
For each aggregate state m and original system
state i, the disaggregation probability dmi
This may be roughly interpreted as the de
gree to which i is representative of m.
In the hard aggregation example (assuming
all states that belong to aggregate state/subset
m are equally representative) dmi = 1/|m|
for each state i that belongs to aggregate
state/subset m, where |m| is the cardinality
(number of states) of m.
AGGREGATION EXAMPLES

Hard aggregation (each original system state


is associated with one aggregate state):
pij(u)

Aggregation i j Original System


Probabilities States

1 1/4 1 1/3

Disaggregation
Probabilities m n Aggregate States

Soft aggregation (each original system state is


associated with multiple aggregate states):
pij(u)

Aggregation i j Original System


Probabilities 1/3 States
1/4 2/3
1/3
1/2
Disaggregation 1/2
Probabilities m n Aggregate States

Coarse grid (each aggregate state is an original


system state):
pij(u)

Aggregation i j Original System


Probabilities 1/3 States
1/2 1/2 1
2/3 1

Disaggregation

Probabilities
m n Aggregate States
AGGREGATE TRANSITION PROBABILITIES

Let the aggregation and disaggregation proba


bilities, aim and dmi , and the original transition
probabilities pij (u) be given.
The transition probability from aggregate state
m to aggregate state n under u is

qmn (u) = dmi pij (u)ajn
i j
and the transition cost is similarly dened.
This corresponds to a probabilistic process that
can be simulated as follows:
From aggregate state m, generate original
state i according to dmi .
Generate a transition from i to j according
to pij (u), with cost g(i, u, j).
From original state j, generate aggregate state
n according to ajn .
After solving for the optimal costs J(m) of the
aggregate problem, the costs of the original prob
lem are approximated by

J(i) = aim J(m)
m

6.231 DYNAMIC PROGRAMMING

LECTURE 21

LECTURE OUTLINE

Discounted problems - Approximate policy eval


uation/policy improvement
Direct approach - Least squares
Batch and incremental gradient methods
Implementation using TD
Optimistic policy iteration
Exploration issues
THEORETICAL BASIS

If policies are approximately evaluated using an


approximation architecture:

max |J(i, rk ) Jk (i)| , k = 0, 1, . . .


i

If policy improvement is also approximate,

max |(Tk+1 J)(i, rk )(T J)(i, rk )| , k = 0, 1, . . .


i

Error Bound: The sequence {k } generated


by approximate policy iteration satises

   + 2
lim sup max Jk (i) J (i)

k i (1 )2

Typical practical behavior: The method makes


steady progress up to a point and then the iterates
Jk oscillate within a neighborhood of J .
SIMULATION-BASED POLICY EVALUATION

Suppose we can implement in a simulator the


improved policy , and want to calculate J by
simulation.
Generate by simulation sample costs. Then:

1 
Mi
J (i) c(i, m)
Mi m=1

c(i, m) : mth (noisy) sample cost starting from state i

Approximating well each J (i) is impractical


for a large state space. Instead, a compact rep
resentation J (i, r) is used, where r is a tunable
parameter vector.
Direct approach: Calculate an optimal value r
of r by a least squares t


n 
Mi
 2

r = arg min  c(i, m) J (i, r)

r
i=1 m=1

Note that this is much easier when the archi


tecture is linear - but this is not a requirement.
SIMULATION-BASED DIRECT APPROACH

System Simulator
~ -
Least-Squares J(j,r)
Optimization

_ Decision Generator
Decision (i) State i

Cost-to-Go Approximator
~
Supplies Values J(j,r)

Simulator: Given a state-control pair (i, u), gen


erates the next state j using systems transition
probabilities under policy currently evaluated
Decision generator: Generates the control (i)
of the evaluated policy at the current state i
Cost-to-go approximator: J(j, r) used by the

decision generator and corresponding to preceding

policy (already evaluated in preceding iteration)

Least squares optimizer: Uses cost samples c(i, m)


produced by the simulator and solves a least squares
problem to approximate J (, r)
BATCH GRADIENT METHOD I

Focus on a batch: an N -transition portion


(i0 , . . . , iN ) of a simulated trajectory
We view the numbers

 1
N
 
tk g it , (it ), it+1 , k = 0, . . . , N 1,

t=k

as cost samples, one per initial state i0 , . . . , iN 1


Least squares problem

1
# 1
$2
1 
N 
N
 
min J(ik , r) tk g it , (it ), it+1
r 2
k=0 t=k

Gradient iteration


N 1
r := r J(ik , r)
k=0
# 1
$

N
 
J(ik , r) tk g it , (it ), it+1
t=k
BATCH GRADIENT METHOD II

Important tradeo:
In order to reduce simulation error and cost
samples for a representatively large subset of
states, we must use a large N
To keep the work per gradient iteration small,
we must use a small N
To address the issue of size of N , small batches
may be used and changed after one or more iter
ations.
Then the method becomes susceptible to sim
ulation noise - requires a diminishing stepsize for
convergence.
This slows down the convergence (which can
be very slow for a gradient method even without
noise).
Theoretical convergence is guaranteed (with a
diminishing stepsize) under reasonable conditions,
but in practice this is not much of a guarantee.
INCREMENTAL GRADIENT METHOD I

Again focus on an N -transition portion (i0 , . . . , iN )


of a simulated trajectory.
The batch gradient method processes the N
transitions all at once, and updates r using the
gradient iteration.
The incremental method updates r a total of N
times, once after each transition.
After each transition (ik , ik+1 ) it uses only the
portion of the gradient aected by that transition:
Evaluate the (single-term) gradient J(ik , r)
at the current value of r (call it rk ).
Sum all the terms that involve the transi

tion (ik , ik+1 ), and update rk by making a

correction along their sum:

#
rk+1 =rk J(ik , rk )J(ik , rk )
# k $ $
  
J (it , rt ) g ik , (ik ), ik+1
kt
t=0
INCREMENTAL GRADIENT METHOD II

After N transitions, all the component gradient


terms of the batch iteration are accumulated.
BIG dierence:
In the incremental method, r is changed while
processing the batch the (single-term) gra
dient J(it , r) is evaluated at the most re
cent value of r [after the transition (it , it+1 )].
In the batch version these gradients are eval
uated at the value of r prevailing at the be
ginning of the batch.
Because r is updated at intermediate transi
tions within a batch (rather than at the end of
the batch), the location of the end of the batch
becomes less relevant.
Can have very long batches - can have a single

very long simulated trajectory and a single batch.

The incremental version can be implemented

more exibly, converges much faster in practice.

Interesting convergence analysis (beyond our


scope - see Bertsekas and Tsitsiklis, NDP book,
also paper in SIAM J. on Optimization, 2000)
TEMPORAL DIFFERENCES - TD(1)

A mathematically equivalent implementation of


the incremental method.
It uses temporal dierence (TD for short)
 
dk = g ik , (ik ), ik+1 +J(ik+1 , r)J(ik , r), k N 2,
 
dN 1 = g iN 1 , (iN 1 ), iN J(iN 1 , r)

Following the transition (ik , ik+1 ), set


k
rk+1 = rk + k dk kt J(it , rt )
t=0

This algorithm is known as TD(1). In the im


portant linear case J(i, r) = (i) r, it becomes


k
rk+1 = rk + k dk kt (it )
t=0

A variant of TD(1) is TD(), [0, 1]. It sets

k
rk+1 = rk + k dk ()kt (it )
t=0
OPTIMISTIC POLICY ITERATION

We have assumed so far is that the least squares


optimization must be solved completely for r.
An alternative, known as optimistic policy iter
ation, is to solve this problem approximately and
replace policy with policy after only a few
simulation samples.
Extreme possibility is to replace with at the
end of each state transition: After state transition
(ik , ik+1 ), set

k
rk+1 = rk + k dk ()kt J(it , rt ),
t=0

and simulate next transition (ik+1 , ik+2 ) using (ik+1 ),


the control of the new policy.
For = 0, we obtain (the popular) optimistic
TD(0), which has the simple form

rk+1 = rk + k dk J(ik , rk )

Optimistic policy iteration can exhibit fascinat

ing and counterintuitive behavior (see the NDP

book by Bertsekas and Tsitsiklis, Section 6.4.2).

THE ISSUE OF EXPLORATION

To evaluate a policy , we need to generate cost


samples using that policy - this biases the simula
tion by underrepresenting states that are unlikely
to occur under .
As a result, the cost-to-go estimates of these

underrepresented states may be highly inaccurate.

This seriously impacts the improved policy .

This is known as inadequate exploration - a par


ticularly acute diculty when the randomness em
bodied in the transition probabilities is relatively
small (e.g., a deterministic system).
One possibility to guarantee adequate explo
ration: Frequently restart the simulation and en
sure that the initial states employed form a rich
and representative subset.
Another possibility: Occasionally generating
transitions that use a randomly selected control
rather than the one dictated by the policy .
Other methods, to be discussed later, use two
Markov chains (one is the chain of the policy and
is used to generate the transition sequence, the
other is used to generate the state sequence).
APPROXIMATING Q-FACTORS

The approach described so far for policy eval


uation requires calculating expected values for all
controls u U (i) (and knowledge of pij (u)).
Model-free alternative: Approximate Q-factors


n
 
Q(i, u, r) pij (u) g(i, u, j) + J (j)
j=1

and use for policy improvement the minimization

(i) = arg min Q(i, u, r)

uU (i)

r is an adjustable parameter vector and Q(i, u, r)


is a parametric architecture, such as

m
Q(i, u, r) = rk k (i, u)
k=1

Can use any method for constructing cost ap


proximations, e.g., TD().
Use the Markov chain with states (i, u) - pij ((i))
is the transition prob. to (j, (i)), 0 to other (j, u ).
Major concern: Acutely diminished exploration.

6.231 DYNAMIC PROGRAMMING

LECTURE 22

LECTURE OUTLINE

Discounted problems - Approximate policy eval


uation/policy improvement
Indirect approach - The projected equation
Contraction properties - Error bounds
PVI (Projected Value Iteration)
LSPE (Least Squares Policy Evaluation)
Tetris - A case study
POLICY EVALUATION/POLICY IMPROVEMENT

Guess Initial Policy

Evaluate Approximate Cost


Approximate Policy
J (r) = r Using Simulation Evaluation

Generate Improved Policy Policy Improvement

Linear cost function approximation

J(r) = r

where is full rank n s matrix with columns


the basis functions, and ith row denoted (i) .
Policy improvement


n
 
(i) = arg min 
pij (u) g(i, u, j) + (j) r
uU (i)
j=1

Indirect methods nd r by solving a projected


equation.
WEIGHTED EUCLIDEAN PROJECTIONS

Consider a weighted Euclidean norm


%
& n
&
 2

J
v = ' vi J(i) ,
i=1

where v is a vector of positive weights v1 , . . . , vn .


Let denote the projection operation onto

S = {r | r s }

with respect to this norm, i.e., for any J n ,

J = rJ

where

rJ = arg mins
J r
v

r

and rJ can be written explicitly:

= ( V )1  V, rJ = ( V )1  V J,

where V is the diagonal matrix with vi , i = 1, . . . , n,


along the diagonal.
THE PROJECTED BELLMAN EQUATION

For a xed policy to be evaluated, consider


the corresponding mapping T :


n
 

(T J)(i) = pij g(i, j)+J(j) , i = 1, . . . , n,


i=1

or more compactly,
T J = g + P J

The solution J of Bellmans equation J = T J


is approximated by the solution of

r = T (r)

T(r)

Projection
on S

r = T(r)

0
S: Subspace spanned by basis functions

Indirect method: Solving a projected


form of Bellmans equation
KEY QUESTIONS AND RESULTS

Does the projected equation have a solution?

Under what conditions is the mapping T a


contraction, so T has unique xed point?
Assuming T has unique xed point r , how
close is r to J ?
Assumption: P has a single recurrent class
and no transient states, i.e., it has steady-state
probabilities that are positive

1 
N
j = lim P (ik = j | i0 = i) > 0, j = 1, . . . , n
N N
k=1

Proposition: T is contraction of modulus


with respect to the weighted Euclidean norm


, where = (1 , . . . , n ) is the steady-state
probability vector. The unique xed point r of
T satises
1

J r

J J

1 2
ANALYSIS

Important property of the projection on S


with weighted Euclidean norm " "v . For all J
$n , J S, the Pythagorean Theorem holds:

"J J"2v = "J J"2v + "J J"2v

Proof: Geometrically, (J J) and (J J)


are orthogonal in the scaled geometry of the norm
"v , where two vectors x, y $n are orthogonal
" '
n
if i=1 vi xi yi = 0. Expand the quadratic in the
RHS below:

"J J"2v = "(J J) + (J J)"2v

The Pythagorean Theorem implies that the pro-


jection is nonexpansive, i.e.,

"J J" v,
v "J J" for all J, J $n .

To see this, note that


( ( ( ( ( (
((J J)(2 ((J J)(2 + ((I )(J J)(2
v v v
= "J J"2v
PROOF OF CONTRACTION PROPERTY

Lemma: We have

P z

z
, z n

Proof of lemma: Let pij be the components of


P . For all z n , we have
2

n 
n 
n 

n

P z
2 = i pij zj i pij zj2

i=1 j=1 i=1 j=1


n 
n 
n
= i pij zj2 = j zj2 =
z
2 ,
j=1 i=1 j=1

where the inequality follows from the convexity of

the quadratic function, and the next to"nlast equal

ity follows from the dening property i=1 i pij =

j of the steady-state probabilities.

Using the lemma, the nonexpansiveness of ,

and the denition T J = g + P J, we have

T JT J T JT J  = P (JJ ) JJ 

for all J, J n . Hence T is a contraction of

modulus .

PROOF OF ERROR BOUND

Let r be the xed point of T . We have


J r

J J
.
1 2

Proof: We have
( (
2

J r
2

=
J J
2
(J r (


+

( (
2

2
(
=
J J


+ T J T (r )(


J J
2

+ 2
J r
2

,

where the rst equality uses the Pythagorean The


orem, the second equality holds because J is the
xed point of T and r is the xed point of T ,
and the inequality uses the contraction property
of T . From this relation, the result follows.

Note: The factor 1/ 1 2 in the RHS can


be replaced by a factor that is smaller and com
putable. See
H. Yu and D. P. Bertsekas, New Error Bounds
for Approximations from Projected Linear Equa
tions, Report LIDS-P-2797, MIT, July 2008.
PROJECTED VALUE ITERATION (PVI)

Given the projection property of T , we may


consider the PVI method

rk+1 = T (rk )

Value Iterate
T(rk) = g + Prk

Projection
on S

rk+1

rk
0
S: Subspace spanned by basis functions

Question: Can we implement PVI using simu


lation, without the need for n-dimensional linear
algebra calculations?
LSPE (Least Squares Policy Evaluation) is a
simulation-based implementation of PVI.
LSPE - SIMULATION-BASED PVI

PVI, i.e., rk+1 = T (rk ) can be written as


( (2
rk+1 = arg mins (r T (rk )( ,
r

from which by setting the gradient to 0,


# n $
 
n

n
 
 
i (i)(i) rk+1 = i (i) pij g(i, j)+(j) rk
i=1 i=1 j=1

For LSPE we generate an innite trajectory


(i0 , i1 , . . .) and update rk after transition (ik , ik+1 )
# k $
  k
 
 
(it )(it ) rk+1 = (it ) g(it , it+1 )+(it+1 ) rk
t=0 t=0

LSPE can equivalently be written as


# $

n

n

n

i,k (i)(i) rk+1 = i,k (i) pij,k


i=1 i=1 j=1
 

g(i, j) + (j) rk

where i,k , pij,k : empirical frequencies of state i


and transition (i, j), based on (i0 , . . . , ik+1 ).
LSPE INTERPRETATION

LSPE can be written as PVI with sim. error:

rk+1 = T (rk ) + ek

where ek diminishes to 0 as the empirical frequen


cies i,k and pij,k approach and pij .

Value Iterate Value Iterate


T(rk) = g + Prk T(rk) = g + Prk

Projection Projection
on S on S

rk+1
rk+1
rk rk Simulation error
0 0
S: Subspace spanned by basis functions S: Subspace spanned by basis functions

Projected Value Iteration (PVI) Least Squares Policy Evaluation (LSPE)

Convergence proof is simple: Use the law of


large numbers.
Optimistic LSPE: Changes policy prior to con
vergence - behavior can be very complicated.
EXAMPLE: TETRIS I

The state consists of the board position i, and


the shape of the current falling block (astronomi
cally large number of states).
It can be shown that all policies are proper!!
Use a linear approximation architecture with
feature extraction


s
J(i, r) = m (i)rm ,
m=1
where r = (r1 , . . . , rs ) is the parameter vector and

m (i) is the value of mth feature associated w/ i.

EXAMPLE: TETRIS II

Approximate policy iteration was implemented


with the following features:
The height of each column of the wall
The dierence of heights of adjacent columns
The maximum height over all wall columns
The number of holes on the wall
The number 1 (provides a constant oset)
Playing data was collected for a xed value
of the parameter vector r (and the corresponding
policy); the policy was approximately evaluated
by choosing r to match the playing data in some
least-squares sense.
LSPE (its SSP version) was used for approxi
mate policy evaluation.
Both regular and optimistic versions were used.

See: Bertsekas and Ioe, Temporal Dierences-


Based Policy Iteration and Applications in Neuro-
Dynamic Programming, LIDS Report, 1996. Also
the NDP book.
6.231 DYNAMIC PROGRAMMING

LECTURE 23

LECTURE OUTLINE

Review of indirect policy evaluation methods

Multistep methods, LSPE()


LSTD()
Q-learning
Q-learning with linear function approximation

Q-learning for optimal stopping problems


REVIEW: PROJECTED BELLMAN EQUATION

For a xed policy to be evaluated, consider


the corresponding mapping T :


n
 

(T J)(i) = pij g(i, j)+J(j) , i = 1, . . . , n,


i=1

or more compactly,
T J = g + P J

The solution J of Bellmans equation J = T J


is approximated by the solution of

r = T (r)

T(r)

Projection
on S

r = T(r)

0
S: Subspace spanned by basis functions

Indirect method: Solving a projected


form of Bellmans equation
PVI/LSPE

Key Result: T is contraction of modulus


with respect to the weighted Euclidean norm


, where = (1 , . . . , n ) is the steady-state
probability vector. The unique xed point r of
T satises
1

J r

J J

1 2

Projected Value Iteration (PVI): rk+1 =


T (rk ), which can be written as
( (2
rk+1 = arg mins r T (rk )(
(
r

or equivalently
# $2
n

n
 
 
rk+1 = arg min i (i) r pij g(i, j) + (j) rk
rs
i=1 j=1

LSPE (simulation-based approximation):


We generate an innite trajectory (i0 , i1 , . . .) and
update rk after transition (ik , ik+1 )

k
 2
rk+1 = arg mins  
(it ) rg(it , it+1 )(it+1 ) rk
r
t=0

JUSTIFICATION OF PVI/LSPE CONNECTION

By writing the necessary optimality conditions


for the least squares minimization, PVI can be
written as
# n $
  n
n
 
 
i (i)(i) rk+1 = i (i) pij g(i, j)+(j) rk
i=1 i=1 j=1

Similarly, by writing the necessary optimal


ity conditions for the least squares minimization,
LSPE can be written as
# k $
 k
 
(it )(it ) rk+1 = (it ) g(it , it+1 )+(it+1 ) rk
t=0 t=0

So LSPE is just PVI with the two expected val


ues approximated by simulation-based averages.
Convergence follows by the law of large num
bers.
The bottleneck in rate of convergence is the
law of large of numbers/simulation error (PVI is
a contraction with modulus , and converges fast
relative to simulation).
LEAST SQUARES TEMP. DIFFERENCES (LSTD)

Taking the limit in PVI, we see that the pro


jected equation, r = T (r ), can be written as
Ar + b = 0, where
# n $

n 
A= i (i) pij (j) (i)
i=1 j=1

n

n

b= i (i) pij g(i, j)


i=1 j=1
are expected values that can be approxi
A, b
mated by simulation: Ak A, bk b, where
1  k
 
Ak = (it ) (it+1 ) (it )
k+1
t=0

1 
k

bk = (it )g(it , it+1 )


k+1
t=0

LSTD method: Approximates r as


r rk = A
k
1
bk
Conceptually very simple ... but less suitable for
optimistic policy iteration (hard to transfer info
from one policy evaluation to the next).
Can be shown that convergence rate is the same
for LSPE/LSTD (for large k, rk rk  << rk r ).
MULTISTEP METHODS

Introduce a multistep version of Bellmans equa


tion J = T () J , where for [0, 1),

T () = (1 ) t T t+1
t=0

Note that T t is a contraction with modulus t ,


with respect to the weighted Euclidean norm   ,
where is the steady-state probability vector of
the Markov chain.
From this it follows that T () is a contraction
with modulus


(1 )
= (1 ) t+1 t =
1
t=0

Tt and T () have the same xed point J and

1

J r  - J J 
1 2

where r is the xed point of T () .


The xed point r depends on .
Note that 0 as 1, so error bound improves
as 1.
PVI()

# $


rk+1 = T ()
(rk ) = (1 ) t T t+1 (rk )

t=0

or ( (2
(
rk+1 = arg min r T (rk )
() (
s r

Using algebra and the relation


 
 
t

(T t+1 J)(i) = E t+1 J(it+1 ) + k g(ik , ik+1 )  i0 = i
k=0

we can write PVI() as


#
n
rk+1 = arg min i (i) r (i) rk
rs
i=1
$2

 
t
() E dk (it , it+1 ) | i0 = i
t=0
where

dk (it , it+1 ) = g(it , it+1 ) + (it+1 ) rk (it ) rk ,

are the, so called, temporal dierences (TD) - they


are the errors in satisfying Bellmans equation.
LSPE()

Replacing the expected values dening PVI()


by simulation-based estimates we obtain LSPE().
It has the form
#
k
rk+1 = arg min (it ) r (it ) rk
rs
t=0
$2
k

()mt dk (im , im+1 )


m=t

where (i0 , i1 , . . .) is an innitely long trajectory gen


erated by simulation.
Can be implemented with convenient incremen
tal update formulas (see the text).
Note the -tradeo:
As 1, the accuracy of the solution r

improves - the error bound to J r 


improves.
As 1, the simulation noise in the LSPE()
iteration (2nd summation term) increases, so
longer simulation trajectories are needed for
LSPE() to approximate well PVI().
Q-LEARNING I

Q-learning has two motivations:


Dealing with multiple policies simultaneously
Using a model-free approach [no need to know
pij (u) explicitly, only to simulate them]
The Q-factors are dened by


n
 

Q (i, u) = pij (u) g(i, u, j) + J (j) , (i, u)
j=1

In view of J = T J , we have J (i) = minuU (i) Q (i, u)


so the Q factors solve the equation


n  
Q (i, u) = pij (u) g(i, u, j) + min Q (j, u ) , (i, u)
u U (j)
j=1

Q(i, u) can be shown to be the unique solution of


this equation. Reason: This is Bellmans equation
for a system whose states are the original states
1, . . . , n, together with all the pairs (i, u).
Value iteration:
 n  
Q(i, u) := pij (u) g(i, u, j) + min Q(j, u ) , (i, u)
u U (j)
j=1
Q-LEARNING II

Use any probabilistic mechanism to select se


quence of pairs (ik , uk ) [all pairs (i, u) are chosen
innitely often], and for each k, select jk accord
ing to pik j (uk ).
At each k, Q-learning algorithm updates Q(ik , uk )
according to
 
Q(ik , uk ) := 1 k (ik , uk ) Q(ik , uk )
# $
+ k (ik , uk ) g(ik , uk , jk ) + min Q(jk , u )
u U (jk )

Stepsize k (ik , uk ) must converge to 0 at proper


rate (e.g., like 1/k).
Important mathematical point: In the Q-factor
version of Bellmans equation the order of expec
tation and minimization is reversed relatively to
the ordinary cost version of Bellmans equation:


n
 

J (i) = min pij (u) g(i, u, j) + J (j)

uU (i)

j=1

Q-learning can be shown to converge to true/exact


Q-factors (a sophisticated proof).
Major drawback: The large number of pairs (i, u)
- no function approximation is used.
Q-FACTOR APROXIMATIONS

Introduce basis function approximation for Q-


factors:
Q(i, u, r) = (i, u) r

We cannot use LSPE/LSTD because the Q-


factor Bellman equation involves minimization/multiple
controls.
An optimistic version of LSPE(0) is possible:
Generate an innitely long sequence {(ik , uk ) |
k = 0, 1, . . .}.
At iteration k, given rk and state/control (ik , uk ):
(1) Simulate next transition (ik , ik+1 ) using the

transition probabilities pik j (uk ).

(2) Generate control uk+1 from the minimization

uk+1 = arg min Q(ik+1 , u, rk )


uU (ik+1 )

(3) Update the parameter vector via


k

rk+1 = arg min (it , ut ) r

rs

t=0


2

g(it , ut , it+1 ) (it+1 , ut+1 ) rk


Q-LEARNING FOR OPTIMAL STOPPING

Not much is known about convergence of opti

mistic LSPE(0).

Major diculty is that the projected Bellman

equation for Q-factors may not be a contraction,

and may have multiple solutions or no solution.

There is one important case, optimal stop

ping, where this diculty does not occur.

Given a Markov chain with states {1, . . . , n},


and transition probabilities pij . We assume that
the states form a single recurrent class, with steady-
state distribution vector = (1 , . . . , n ).
At the current state i, we have two options:

Stop and incur a cost c(i), or

Continue and incur a cost g(i, j), where j is

the next state.


Q-factor for the continue action:


n .  /
Q(i) = pij g(i, j)+ min c(j), Q(j) (F Q)(i)
j=1

Major fact: F is a contraction of modulus

with respect to norm



.

LSPE FOR OPTIMAL STOPPING

Introduce Q-factor approximation

Q(i, r) = (i) r

PVI for Q-factors:

rk+1 = F (rk )

LSPE
# $1

k
rk+1 = (it )(it )
t=0

k .  /
(it ) g(it , it+1 ) + min c(it+1 ), (it+1 ) rk
t=0

Simpler version: Replace the term (it+1 ) rk


by (it+1 ) rt . The algorithm still converges to
the unique xed point of F (see H. Yu and D.
P. Bertsekas, A Least Squares Q-Learning Algo
rithm for Optimal Stopping Problems).
6.231 DYNAMIC PROGRAMMING

LECTURE 24

LECTURE OUTLINE

More on projected equation methods/policy


evaluation
Stochastic shortest path problems
Average cost problems
Generalization - Two Markov Chain methods

LSTD-like methods - Use to enhance explo


ration
REVIEW: PROJECTED BELLMAN EQUATION

For xed policy to be evaluated, the solution


of Bellmans equation J = T J is approximated by
the solution of

r = T (r)

whose solution is in turn obtained using a simulation-

based method such as LSPE(), LSTD(), or TD().

T(r)

Projection
on S

r = T(r)

0
S: Subspace spanned by basis functions

Indirect method: Solving a projected


form of Bellmans equation

These ideas apply to other (linear) Bellman


equations, e.g., for SSP and average cost.
Key Issue: Construct framework where T [or
at least T () ] is a contraction.
STOCHASTIC SHORTEST PATHS

Introduce approximation subspace


S = {r | r s }
and for a given proper policy, Bellmans equation
and its projected version
J = T J = g + P J, r = T (r)

Also its -version




r = T () (r), T () = (1 ) t T t+1
t=0
Question: What should be the norm of pro
jection?
Speculation based on discounted case: It
should be a weighted Euclidean norm with weight
vector = (1 , . . . , n ), where i should be some
type of long-term occupancy probability of state i
(which can be generated by simulation).
But what does long-term occupancy probabil
ity of a state mean in the SSP context?
How do we generate innite length trajectories
given that termination occurs with prob. 1?
SIMULATION TRAJECTORIES FOR SSP

We envision simulation of trajectories up to


termination, followed by restart at state i with
some xed probabilities q0 (i) > 0.
Then the long-term occupancy probability of
a state of i is proportional to

q(i) = qt (i), i = 1, . . . , n,
t=0

where
qt (i) = P (it = i), i = 1, . . . , n, t = 0, 1, . . .
We use the projection norm
%
& n
&
 2

J
q = ' q(i) J(i)
i=1

[Note that 0 < q(i) < , but q is not a prob.


distribution. ]
We can show that T () is a contraction with
respect to

(see the next slide).
CONTRACTION PROPERTY FOR SSP

"
We have q = t=0 qt so



qP = qt P = qt = q  q0
t=0 t=1
or

n
q(i)pij = q(j) q0 (j), j
i=1
To verify that T is a contraction, we show
that there exists < 1 such that
P z
2q
z
2q
for all z n .
For all z n , we have
2

n n 
n 
n

P z
2q = q(i) pij zj q(i) pij zj2
i=1 j=1 i=1 j=1


n 
n 
n
 
= zj2 q(i)pij = q(j) q0 (j) zj2
j=1 i=1 j=1

=
z
2q
z
2q0
z
2q

where
q0 (j)
= 1 min
j q(j)
PVI() AND LSPE() FOR SSP

We consider PVI(): rk+1 = T () (rk ),

which can be written as

#

n
rk+1 = arg mins q(i) (i) r (i) rk
r
i=1

$2

 
t E dk (it , it+1 ) | i0 = i
t=0

where dk (it , it+1 ) are the TDs.


The LSPE() algorithm is a simulation-based

approximation. Let (i0,l , i1,l , . . . , iNl ,l ) be the lth

trajectory (with iNl ,l = 0), and let rk be the pa

rameter vector after k trajectories. We set

1
#

 

k+1 N l

rk+1 = arg min (it,l ) r (it,l ) rk


r

l=1 t=0

$2

N l 1

mt dk (im,l , im+1,l )
m=t
where

dk (im,l , im+1,l ) = g(im,l , im+1,l )+(im+1,l ) rk (im,l ) rk

Can also update rk at every transition.


AVERAGE COST PROBLEMS

Consider a single policy to be evaluated, with


single recurrent class, no transient states, and steady-
state probability vector = (1 , . . . , n ).
The average cost, denoted by , is independent
of the initial state
N 1 
1   

= lim E g xk , xk+1  x0 = i , i
N N
k=0
Bellmans equation is J = F J with

F J = g e + P J

where e is the unit vector e = (1, . . . , 1).


The projected equation and its -version are

r = F (r), r = F () (r)
A problem here is that F is not a contraction
with respect to any norm (since e = P e).
However, F () turns out to be a contraction
with respect to

assuming that e does not be
long to S and > 0 [the case = 0 is exceptional,
but can be handled - see the text].
LSPE() FOR AVERAGE COST

We generate an innitely long trajectory (i0 , i1 , . . .).


We estimate the average cost separately: Fol

lowing each transition (ik , ik+1 ), we set

1 
k
k = g(it , it+1 )
k+1 t=0

Also following (ik , ik+1 ), we update rk by


# $2

k 

k
rk+1 = arg mins (it ) r (it ) rk mt dk (m)
r
t=0 m=t

where dk (m) are the TDs

dk (m) = g(im , im+1 ) m + (im+1 ) rk (im ) rk

Note that the TDs include the estimate m .

Since m converges to , for large m it can be

viewed as a constant and lumped into the one-

stage cost.

GENERALIZATION/UNIFICATION

Consider approximate solution of x = T (x),


where

T (x) = Ax + b, A is n n, b n

by solving the projected equation y = T (y),


where is projection on a subspace of basis func
tions (with respect to some Euclidean norm).
We will generalize from DP to the case where
A is arbitrary, subject only to

I A : invertible

Benets of generalization:
Unication/higher perspective for TD meth
ods in approximate DP
An extension to a broad new area of applica
tions, where a DP perspective may be help
ful
Challenge: Dealing with less structure
Lack of contraction
Absence of a Markov chain
LSTD-LIKE METHOD

Let be projection with respect to

&
n
&



x
= ' i x2i
i=1

where n is a probability distribution with


positive components.
If r is the solution of the projected equation,
we have r = (Ar + b) or
2
n 

n
r = arg mins i (i) r aij (j) r bi
r
i=1 j=1

where (i) denotes the ith row of the matrix .


Optimality condition/equivalent form:



n 
n 
n
i (i) (i) aij (j) r = i (i)bi
i=1 j=1 i=1

The two expected values are approximated by


simulation.
SIMULATION MECHANISM

Row Sampling According to

i0 i1 ... ik ik+1 ...


Column Sampling
According to P

j0 j1 jk jk+1

Row sampling: Generate sequence {i0 , i1 , . . .}


according to , i.e., relative frequency of each row
i is i
 
Column sampling: Generate (i0 , j0 ), (i1 , j1 ), . . .
according to some transition probability matrix P
with
pij > 0 if aij = 0,
i.e., for each i, the relative frequency of (i, j) is pij
Row sampling may be done using a Markov

chain with transition matrix Q (unrelated to P )

Row sampling may also be done without a


Markov chain - just sample rows according to some
known distribution (e.g., a uniform)
ROW AND COLUMN SAMPLING

Row Sampling According to


(May Use Markov Chain Q)
| |
i0 i1 ... ik ik+1 ... Column Sampling
According to
Markov Chain
P |A|
j0 j1 jk jk+1

Row sampling State Sequence Generation in


DP. Aects:
The projection norm.

Whether A is a contraction.

Column sampling Transition Sequence Gen


eration in DP.
Can be totally unrelated to row sampling.
Aects the sampling/simulation error.
Matching P with |A| is benecial (has an
eect like in importance sampling).
Independent row and column sampling allows

exploration at will! Resolves the exploration prob

lem that is critical in approximate policy iteration.

LSTD-LIKE METHOD

Optimality condition/equivalent form of pro


jected equation

 n 
n 
n
i (i) (i) aij (j) r = i (i)bi
i=1 j=1 i=1

The two expected values are approximated by


row and column sampling (batch 0 t).
We solve the linear equation


t   
t
aik jk
(ik ) (ik ) (jk ) rt = (ik )bik
pik jk
k=0 k=0
We have rt r , regardless of A being a con
traction (by law of large numbers; see next slide).
An LSPE-like method is also possible, but re
quires that A is a contraction.
"n
Under the assumption j=1 |aij | 1 for all i,
there are conditions that guarantee contraction of
A; see the paper by Bertsekas and Yu,Projected
Equation Methods for Approximate Solution of
Large Linear Systems, 2008, or the expanded ver
sion of Chapter 6 Vol 2
JUSTIFICATION W/ LAW OF LARGE NUMBERS

We will match terms in the exact optimality


condition and the simulation-based version.
Let it be the relative frequency of i in row
sampling up to time t.
We have
1   
t n n
(ik )(ik ) = i (i)(i)
t i (i)(i)
t+1 i=1 i=1
k=0

1   
t n n
(ik )bik = i (i)bi
t i (i)bi
t+1 i=1 i=1
k=0

Let ptij be the relative frequency of (i, j) in


column sampling up to time t.
1  aik jk
t
(ik )(jk )

t+1 pik jk

k=0


n 
n

aij
= it pt ij (i)(j)
i=1 j=1
pij
n n
i aij (i)(j)
i=1 j=1
6.231 DYNAMIC PROGRAMMING

LECTURE 25

LECTURE OUTLINE

Additional topics in ADP


Nonlinear versions of the projected equation

Extension of Q-learning for optimal stopping

Basis function adaptation


Gradient-based approximation in policy space

NONLINEAR EXTENSIONS OF PROJECTED EQ.

If the mapping T is nonlinear (as for exam


ple in the case of multiple policies) the projected
equation r = T (r) is also nonlinear.
Any solution r satises
( (2
r (
arg min r T (r )(

rs

or equivalently
 
 r T (r ) =0

This is a nonlinear equation, which may have one


or many solutions, or no solution at all.
If T is a contraction, then there is a unique
solution that can be obtained (in principle) by the
xed point iteration
rk+1 = T (rk )
We have seen a nonlinear special case of pro
jected value iteration/LSPE where T is a con
traction, namely optimal stopping.
This case can be generalized.
LSPE FOR OPTIMAL STOPPING EXTENDED

Consider a system of the form


x = T (x) = Af (x) + b,

where f : n n is a mapping
 with scalar com

ponents of the form f (x) = f1 (x1 ), . . . , fn (xn ) .
Assume that each fi :   is nonexpansive:
 
fi (xi ) fi (xi ) |xi xi |, i, xi , xi 
This guarantees that T is a contraction with re
spect to any weighted Euclidean norm

when
ever A is a contraction with respect to that norm.
Algorithms similar to LSPE [approximating
rk+1 = T (rk )] are then possible.
Special case: In the optimal stopping problem
of Section 6.4, x is the Q-factor corresponding to
the continuation action, (0, 1) is a discount
factor, fi (xi ) = min{ci , xi }, and A = P , where
P is the transition matrix for continuing.
"n
If j =1 pij < 1 for some state i, and 0 P
Q, where Q is an irreducible transition matrix,
then ((1)I +T ) is a contraction with respect
to

for all (0, 1), even with = 1.
BASIS FUNCTION ADAPTATION I

An important issue in ADP is how to select


basis functions.
A possible approach is to introduce basis func
tions that are parametrized by a vector , and
optimize over , i.e., solve the problem
 

min F J ()

where J() is the solution of the projected equa


tion.
One example is
  (  
(2
(
F J () = J () T J () (

Another example is
  
F J() = |J(i) J()(i)|2 ,
iI

where I is a subset of states, and J(i), i I, are


the costs of the policy at these states calculated
directly by simulation.
BASIS FUNCTION ADAPTATION II

 
Some algorithm may be used to minimize F J()
over .
A challenge here is that the algorithm should
use low-dimensional calculations.
One possibility is to use a form of random search
method; see the paper by Menache, Mannor, and
Shimkin (Annals of Oper. Res., Vol. 134, 2005)
Another possibility is to use a gradient method.
For this it is necessary to estimate the partial
derivatives of J() with respect to the components
of .
It turns out that by dierentiating the pro
jected equation, these partial derivatives can be
calculated using low-dimensional operations. See
the paper by Menache, Mannor, and Shimkin, and
a recent paper by Yu and Bertsekas (2008).
APPROXIMATION IN POLICY SPACE I

Consider an average cost problem, where the


problem data are parametrized by a vector r, i.e.,
a cost vector g(r), transition probability matrix
P (r). Let (r) be the (scalar) average cost per
stage, satisfying Bellmans equation

(r)e + h(r) = g(r) + P (r)h(r)

where h(r) is the corresponding dierential cost


vector.
Consider minimizing (r) over r (here the data
dependence on control is encoded in the parametriza
tion). We can try to solve the problem by nonlin
ear programming/gradient descent methods.
Important fact: If is the change in due
to a small change r from a given r, we have
=  (g + P h),
where is the steady-state probability distribu
tion/vector corresponding to P (r), and all the quan
tities above are evaluated at r:
= (r + r) (r),

g = g(r+r)g(r), P = P (r+r)P (r)

APPROXIMATION IN POLICY SPACE II

Proof of the gradient formula: We have,


by dierentiating Bellmans equation,

(r)e+h(r) = g(r)+P (r)h(r)+P (r)h(r)

By left-multiplying with  ,
 
(r)e+ h(r) = g(r)+P (r)h(r) +  P (r)h(r)
  

Since  (r) e = (r) and  =  P (r), this


equation simplies to

=  (g + P h)
Since we dont know , we cannot implement a
gradient-like method for minimizing (r). An al
ternative is to use sampled gradients, i.e., gener
ate a simulation trajectory (i0 , i1 , . . .), and change
r once in a while, in the direction of a simulation-
based estimate of  (g + P h).
There is much recent research on this subject,
see e.g., the work of Marbach and Tsitsiklis, and
Konda and Tsitsiklis, and the refs given there.

You might also like