{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", " \n", " \"QuantEcon\"\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Discrete State Dynamic Programming" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contents\n", "\n", "- [Discrete State Dynamic Programming](#Discrete-State-Dynamic-Programming) \n", " - [Overview](#Overview) \n", " - [Discrete DPs](#Discrete-DPs) \n", " - [Solving Discrete DPs](#Solving-Discrete-DPs) \n", " - [Example: A Growth Model](#Example:-A-Growth-Model) \n", " - [Exercises](#Exercises) \n", " - [Solutions](#Solutions) \n", " - [Appendix: Algorithms](#Appendix:-Algorithms) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "In this lecture we discuss a family of dynamic programming problems with the following features:\n", "\n", "1. a discrete state space and discrete choices (actions) \n", "1. an infinite horizon \n", "1. discounted rewards \n", "1. Markov state transitions \n", "\n", "\n", "We call such problems discrete dynamic programs, or discrete DPs\n", "\n", "Discrete DPs are the workhorses in much of modern quantitative economics, including\n", "\n", "- monetary economics \n", "- search and labor economics \n", "- household savings and consumption theory \n", "- investment theory \n", "- asset pricing \n", "- industrial organization, etc. \n", "\n", "\n", "When a given model is not inherently discrete, it is common to replace it with a discretized version in order to use discrete DP techniques\n", "\n", "This lecture covers\n", "\n", "- the theory of dynamic programming in a discrete setting, plus examples and\n", " applications \n", "- a powerful set of routines for solving discrete DPs from the [QuantEcon code libary](http://quantecon.org/julia_index.html) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How to Read this Lecture\n", "\n", "We use dynamic programming many applied lectures, such as\n", "\n", "- The [shortest path lecture](https://lectures.quantecon.org/short_path.html) \n", "- The [McCall search model lecture](https://lectures.quantecon.org/mccall_model.html) \n", "- The [optimal growth lecture](https://lectures.quantecon.org/optgrowth.html) \n", "\n", "\n", "The objective of this lecture is to provide a more systematic and theoretical treatment, including algorithms and implementation, while focusing on the discrete case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References\n", "\n", "For background reading on dynamic programming and additional applications, see, for example,\n", "\n", "- [[LS18]](https://lectures.quantecon.org/zreferences.html#ljungqvist2012) \n", "- [[HLL96]](https://lectures.quantecon.org/zreferences.html#hernandezlermalasserre1996), section 3.5 \n", "- [[Put05]](https://lectures.quantecon.org/zreferences.html#puterman2005) \n", "- [[SLP89]](https://lectures.quantecon.org/zreferences.html#stokeylucas1989) \n", "- [[Rus96]](https://lectures.quantecon.org/zreferences.html#rust1996) \n", "- [[MF02]](https://lectures.quantecon.org/zreferences.html#mirandafackler2002) \n", "- [EDTC](http://johnstachurski.net/edtc.html), chapter 5 \n", "\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Discrete DPs\n", "\n", "Loosely speaking, a discrete DP is a maximization problem with an objective\n", "function of the form\n", "\n", "\n", "\n", "$$\n", "\\mathbb{E}\n", "\\sum_{t = 0}^{\\infty} \\beta^t r(s_t, a_t) \\tag{1}\n", "$$\n", "\n", "where\n", "\n", "- $ s_t $ is the state variable \n", "- $ a_t $ is the action \n", "- $ \\beta $ is a discount factor \n", "- $ r(s_t, a_t) $ is interpreted as a current reward when the state is $ s_t $ and the action chosen is $ a_t $ \n", "\n", "\n", "Each pair $ (s_t, a_t) $ pins down transition probabilities $ Q(s_t, a_t, s_{t+1}) $ for the next period state $ s_{t+1} $\n", "\n", "Thus, actions influence not only current rewards but also the future time path of the state\n", "\n", "The essence of dynamic programming problems is to trade off current rewards\n", "vs favorable positioning of the future state (modulo randomness)\n", "\n", "Examples:\n", "\n", "- consuming today vs saving and accumulating assets \n", "- accepting a job offer today vs seeking a better one in the future \n", "- exercising an option now vs waiting " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Policies\n", "\n", "The most fruitful way to think about solutions to discrete DP problems is to compare *policies*\n", "\n", "In general, a policy is a randomized map from past actions and states to\n", "current action\n", "\n", "In the setting formalized below, it suffices to consider so-called *stationary Markov policies*, which consider only the current state\n", "\n", "In particular, a stationary Markov policy is a map $ \\sigma $ from states to actions\n", "\n", "- $ a_t = \\sigma(s_t) $ indicates that $ a_t $ is the action to be taken in state $ s_t $ \n", "\n", "\n", "It is known that, for any arbitrary policy, there exists a stationary Markov policy that dominates it at least weakly\n", "\n", "- See section 5.5 of [[Put05]](https://lectures.quantecon.org/zreferences.html#puterman2005) for discussion and proofs \n", "\n", "\n", "In what follows, stationary Markov policies are referred to simply as policies\n", "\n", "The aim is to find an optimal policy, in the sense of one that maximizes [(1)](#equation-dp-objective)\n", "\n", "Let’s now step through these ideas more carefully" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Formal definition\n", "\n", "Formally, a discrete dynamic program consists of the following components:\n", "\n", "1. A finite set of *states* $ S = \\{0, \\ldots, n-1\\} $ \n", "1. A finite set of *feasible actions* $ A(s) $ for each state $ s \\in S $, and a corresponding set of *feasible state-action pairs* \n", " \n", " $$\n", " \\mathit{SA} := \\{(s, a) \\mid s \\in S, \\; a \\in A(s)\\}\n", " $$\n", " \n", "1. A *reward function* $ r\\colon \\mathit{SA} \\to \\mathbb{R} $ \n", "1. A *transition probability function* $ Q\\colon \\mathit{SA} \\to \\Delta(S) $, where $ \\Delta(S) $ is the set of probability distributions over $ S $ \n", "1. A *discount factor* $ \\beta \\in [0, 1) $ \n", "\n", "\n", "We also use the notation $ A := \\bigcup_{s \\in S} A(s) = \\{0, \\ldots, m-1\\} $ and call this set the *action space*\n", "\n", "A *policy* is a function $ \\sigma\\colon S \\to A $\n", "\n", "A policy is called *feasible* if it satisfies $ \\sigma(s) \\in A(s) $ for all $ s \\in S $\n", "\n", "Denote the set of all feasible policies by $ \\Sigma $\n", "\n", "If a decision maker uses a policy $ \\sigma \\in \\Sigma $, then\n", "\n", "- the current reward at time $ t $ is $ r(s_t, \\sigma(s_t)) $ \n", "- the probability that $ s_{t+1} = s' $ is $ Q(s_t, \\sigma(s_t), s') $ \n", "\n", "\n", "For each $ \\sigma \\in \\Sigma $, define\n", "\n", "- $ r_{\\sigma} $ by $ r_{\\sigma}(s) := r(s, \\sigma(s)) $) \n", "- $ Q_{\\sigma} $ by $ Q_{\\sigma}(s, s') := Q(s, \\sigma(s), s') $ \n", "\n", "\n", "Notice that $ Q_\\sigma $ is a [stochastic matrix](https://lectures.quantecon.org/tools_and_techniques/finite_markov.html#finite-dp-stoch-mat) on $ S $\n", "\n", "It gives transition probabilities of the *controlled chain* when we follow policy $ \\sigma $\n", "\n", "If we think of $ r_\\sigma $ as a column vector, then so is $ Q_\\sigma^t r_\\sigma $, and the $ s $-th row of the latter has the interpretation\n", "\n", "\n", "\n", "$$\n", "(Q_\\sigma^t r_\\sigma)(s) = \\mathbb E [ r(s_t, \\sigma(s_t)) \\mid s_0 = s ]\n", "\\quad \\text{when } \\{s_t\\} \\sim Q_\\sigma \\tag{2}\n", "$$\n", "\n", "Comments\n", "\n", "- $ \\{s_t\\} \\sim Q_\\sigma $ means that the state is generated by stochastic matrix $ Q_\\sigma $ \n", "- See [this discussion](https://lectures.quantecon.org/tools_and_techniques/finite_markov.html#finite-mc-expec) on computing expectations of Markov chains for an explanation of the expression in [(2)](#equation-ddp-expec) \n", "\n", "\n", "Notice that we’re not really distinguishing between functions from $ S $ to $ \\mathbb R $ and vectors in $ \\mathbb R^n $\n", "\n", "This is natural because they are in one to one correspondence" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Value and Optimality\n", "\n", "Let $ v_{\\sigma}(s) $ denote the discounted sum of expected reward flows from policy $ \\sigma $\n", "when the initial state is $ s $\n", "\n", "To calculate this quantity we pass the expectation through the sum in\n", "[(1)](#equation-dp-objective) and use [(2)](#equation-ddp-expec) to get\n", "\n", "$$\n", "v_{\\sigma}(s) = \\sum_{t=0}^{\\infty} \\beta^t (Q_{\\sigma}^t r_{\\sigma})(s)\n", "\\qquad (s \\in S)\n", "$$\n", "\n", "This function is called the *policy value function* for the policy $ \\sigma $\n", "\n", "The *optimal value function*, or simply *value function*, is the function $ v^*\\colon S \\to \\mathbb{R} $ defined by\n", "\n", "$$\n", "v^*(s) = \\max_{\\sigma \\in \\Sigma} v_{\\sigma}(s)\n", "\\qquad (s \\in S)\n", "$$\n", "\n", "(We can use max rather than sup here because the domain is a finite set)\n", "\n", "A policy $ \\sigma \\in \\Sigma $ is called *optimal* if $ v_{\\sigma}(s) = v^*(s) $ for all $ s \\in S $\n", "\n", "Given any $ w \\colon S \\to \\mathbb R $, a policy $ \\sigma \\in \\Sigma $ is called $ w $-greedy if\n", "\n", "$$\n", "\\sigma(s) \\in \\operatorname*{arg\\,max}_{a \\in A(s)}\n", "\\left\\{\n", " r(s, a) +\n", " \\beta \\sum_{s' \\in S} w(s') Q(s, a, s')\n", "\\right\\}\n", "\\qquad (s \\in S)\n", "$$\n", "\n", "As discussed in detail below, optimal policies are precisely those that are $ v^* $-greedy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Two Operators\n", "\n", "It is useful to define the following operators:\n", "\n", "- The *Bellman operator* $ T\\colon \\mathbb{R}^S \\to \\mathbb{R}^S $\n", " is defined by \n", "\n", "\n", "$$\n", "(T v)(s) = \\max_{a \\in A(s)}\n", "\\left\\{\n", " r(s, a) + \\beta \\sum_{s' \\in S} v(s') Q(s, a, s')\n", "\\right\\}\n", "\\qquad (s \\in S)\n", "$$\n", "\n", "- For any policy function $ \\sigma \\in \\Sigma $, the operator $ T_{\\sigma}\\colon \\mathbb{R}^S \\to \\mathbb{R}^S $ is defined by \n", "\n", "\n", "$$\n", "(T_{\\sigma} v)(s) = r(s, \\sigma(s)) +\n", " \\beta \\sum_{s' \\in S} v(s') Q(s, \\sigma(s), s')\n", "\\qquad (s \\in S)\n", "$$\n", "\n", "This can be written more succinctly in operator notation as\n", "\n", "$$\n", "T_{\\sigma} v = r_{\\sigma} + \\beta Q_{\\sigma} v\n", "$$\n", "\n", "The two operators are both monotone\n", "\n", "- $ v \\leq w $ implies $ Tv \\leq Tw $ pointwise on $ S $, and\n", " similarly for $ T_\\sigma $ \n", "\n", "\n", "They are also contraction mappings with modulus $ \\beta $\n", "\n", "- $ \\lVert Tv - Tw \\rVert \\leq \\beta \\lVert v - w \\rVert $ and similarly for $ T_\\sigma $, where $ \\lVert \\cdot\\rVert $ is the max norm \n", "\n", "\n", "For any policy $ \\sigma $, its value $ v_{\\sigma} $ is the unique fixed point of $ T_{\\sigma} $\n", "\n", "For proofs of these results and those in the next section, see, for example, [EDTC](http://johnstachurski.net/edtc.html), chapter 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Bellman Equation and the Principle of Optimality\n", "\n", "The main principle of the theory of dynamic programming is that\n", "\n", "- the optimal value function $ v^* $ is a unique solution to the *Bellman equation*, \n", " \n", " $$\n", " v(s) = \\max_{a \\in A(s)} \\left\\{ r(s, a) + \\beta \\sum_{s' \\in S} v(s') Q(s, a, s') \\right\\} \\qquad (s \\in S),\n", " $$\n", " \n", " or in other words, $ v^* $ is the unique fixed point of $ T $, and \n", "- $ \\sigma^* $ is an optimal policy function if and only if it is $ v^* $-greedy \n", "\n", "\n", "By the definition of greedy policies given above, this means that\n", "\n", "$$\n", "\\sigma^*(s) \\in \\operatorname*{arg\\,max}_{a \\in A(s)}\n", " \\left\\{\n", " r(s, a) + \\beta \\sum_{s' \\in S} v^*(s') Q(s, \\sigma(s), s')\n", " \\right\\}\n", "\\qquad (s \\in S)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solving Discrete DPs\n", "\n", "Now that the theory has been set out, let’s turn to solution methods\n", "\n", "Code for solving discrete DPs is available in [ddp.jl](https://github.com/QuantEcon/QuantEcon.jl/blob/master/src/markov/ddp.jl) from the [QuantEcon.jl](http://quantecon.org/julia_index.html) code library\n", "\n", "It implements the three most important solution methods for discrete dynamic programs, namely\n", "\n", "- value function iteration \n", "- policy function iteration \n", "- modified policy function iteration \n", "\n", "\n", "Let’s briefly review these algorithms and their implementation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Value Function Iteration\n", "\n", "Perhaps the most familiar method for solving all manner of dynamic programs is value function iteration\n", "\n", "This algorithm uses the fact that the Bellman operator $ T $ is a contraction mapping with fixed point $ v^* $\n", "\n", "Hence, iterative application of $ T $ to any initial function $ v^0 \\colon S \\to \\mathbb R $ converges to $ v^* $\n", "\n", "The details of the algorithm can be found in [the appendix](#ddp-algorithms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Policy Function Iteration\n", "\n", "This routine, also known as Howard’s policy improvement algorithm, exploits more closely the particular structure of a discrete DP problem\n", "\n", "Each iteration consists of\n", "\n", "1. A policy evaluation step that computes the value $ v_{\\sigma} $ of a policy $ \\sigma $ by solving the linear equation $ v = T_{\\sigma} v $ \n", "1. A policy improvement step that computes a $ v_{\\sigma} $-greedy policy \n", "\n", "\n", "In the current setting policy iteration computes an exact optimal policy in finitely many iterations\n", "\n", "- See theorem 10.2.6 of [EDTC](http://johnstachurski.net/edtc.html) for a proof \n", "\n", "\n", "The details of the algorithm can be found in [the appendix](#ddp-algorithms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Modified Policy Function Iteration\n", "\n", "Modified policy iteration replaces the policy evaluation step in policy iteration with “partial policy evaluation”\n", "\n", "The latter computes an approximation to the value of a policy $ \\sigma $ by iterating $ T_{\\sigma} $ for a specified number of times\n", "\n", "This approach can be useful when the state space is very large and the linear system in the policy evaluation step of policy iteration is correspondingly difficult to solve\n", "\n", "The details of the algorithm can be found in [the appendix](#ddp-algorithms)\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: A Growth Model\n", "\n", "Let’s consider a simple consumption-saving model\n", "\n", "A single household either consumes or stores its own output of a single consumption good\n", "\n", "The household starts each period with current stock $ s $\n", "\n", "Next, the household chooses a quantity $ a $ to store and consumes $ c = s - a $\n", "\n", "- Storage is limited by a global upper bound $ M $ \n", "- Flow utility is $ u(c) = c^{\\alpha} $ \n", "\n", "\n", "Output is drawn from a discrete uniform distribution on $ \\{0, \\ldots, B\\} $\n", "\n", "The next period stock is therefore\n", "\n", "$$\n", "s' = a + U\n", "\\quad \\text{where} \\quad\n", "U \\sim U[0, \\ldots, B]\n", "$$\n", "\n", "The discount factor is $ \\beta \\in [0, 1) $" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Discrete DP Representation\n", "\n", "We want to represent this model in the format of a discrete dynamic program\n", "\n", "To this end, we take\n", "\n", "- the state variable to be the stock $ s $ \n", "- the state space to be $ S = \\{0, \\ldots, M + B\\} $ \n", " \n", " - hence $ n = M + B + 1 $ \n", " \n", "- the action to be the storage quantity $ a $ \n", "- the set of feasible actions at $ s $ to be $ A(s) = \\{0, \\ldots, \\min\\{s, M\\}\\} $ \n", " \n", " - hence $ A = \\{0, \\ldots, M\\} $ and $ m = M + 1 $ \n", " \n", "- the reward function to be $ r(s, a) = u(s - a) $ \n", "- the transition probabilities to be \n", "\n", "\n", "\n", "\n", "$$\n", "Q(s, a, s')\n", ":=\n", "\\begin{cases}\n", " \\frac{1}{B + 1} & \\text{if } a \\leq s' \\leq a + B\n", " \\\\\n", " 0 & \\text{ otherwise}\n", "\\end{cases} \\tag{3}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Defining a DiscreteDP Instance\n", "\n", "This information will be used to create an instance of DiscreteDP by passing\n", "the following information\n", "\n", "1. An $ n \\times m $ reward array $ R $ \n", "1. An $ n \\times m \\times n $ transition probability array $ Q $ \n", "1. A discount factor $ \\beta $ \n", "\n", "\n", "For $ R $ we set $ R[s, a] = u(s - a) $ if $ a \\leq s $ and $ -\\infty $ otherwise\n", "\n", "For $ Q $ we follow the rule in [(3)](#equation-ddp-def-ogq)\n", "\n", "Note:\n", "\n", "- The feasibility constraint is embedded into $ R $ by setting $ R[s, a] = -\\infty $ for $ a \\notin A(s) $ \n", "- Probability distributions for $ (s, a) $ with $ a \\notin A(s) $ can be arbitrary \n", "\n", "\n", "The following code sets up these objects for us" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide-output": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[32m\u001b[1mActivated\u001b[0m /home/qebuild/repos/lecture-source-jl/_build/website/jupyter/Project.toml\u001b[39m\n", "\u001b[36m\u001b[1mInfo\u001b[0m quantecon-notebooks-julia 0.1.0 activated, 0.2.0 requested\u001b[39m\n" ] } ], "source": [ "using InstantiateFromURL\n", "github_project(\"QuantEcon/quantecon-notebooks-julia\", version = \"0.2.0\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide-output": true }, "outputs": [], "source": [ "using LinearAlgebra, Statistics, BenchmarkTools, Plots, QuantEcon\n", "using SparseArrays" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using BenchmarkTools, Plots, QuantEcon, Parameters\n", "gr(fmt = :png);" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "transition_matrices (generic function with 1 method)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SimpleOG = @with_kw (B = 10, M = 5, α = 0.5, β = 0.9)\n", "\n", "function transition_matrices(g)\n", " @unpack B, M, α, β = g\n", " u(c) = c^α\n", " n = B + M + 1\n", " m = M + 1\n", "\n", " R = zeros(n, m)\n", " Q = zeros(n, m, n)\n", "\n", " for a in 0:M\n", " Q[:, a + 1, (a:(a + B)) .+ 1] .= 1 / (B + 1)\n", " for s in 0:(B + M)\n", " R[s + 1, a + 1] = (a≤s ? u(s - a) : -Inf)\n", " end\n", " end\n", "\n", " return (Q = Q, R = R)\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let’s run this code and create an instance of `SimpleOG`" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hide-output": false }, "outputs": [], "source": [ "g = SimpleOG();\n", "Q, R = transition_matrices(g);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case the preceding code was too concise, we can see a more verbose form" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hide-output": false, "html-class": "collapse" }, "outputs": [ { "data": { "text/plain": [ "verbose_matrices (generic function with 1 method)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function verbose_matrices(g)\n", " @unpack B, M, α, β = g\n", " u(c) = c^α\n", "\n", " #Matrix dimensions. The +1 is due to the 0 state.\n", " n = B + M + 1\n", " m = M + 1\n", "\n", " R = fill(-Inf, n, m) #Start assuming nothing is feasible\n", " Q = zeros(n,m,n) #Assume 0 by default\n", "\n", " #Create the R matrix\n", " #Note: indexing into matrix complicated since Julia starts indexing at 1 instead of 0\n", " #but the state s and choice a can be 0\n", " for a in 0:M\n", " for s in 0:(B + M)\n", " if a <= s #i.e. if feasible\n", " R[s + 1, a + 1] = u(s - a)\n", " end\n", " end\n", " end\n", "\n", " #Create the Q multi-array\n", " for s in 0:(B+M) #For each state\n", " for a in 0:M #For each action\n", " for sp in 0:(B+M) #For each state next period\n", " if( sp >= a && sp <= a + B) # The support of all realizations\n", " Q[s + 1, a + 1, sp + 1] = 1 / (B + 1) # Same prob of all\n", " end\n", " end\n", " @assert sum(Q[s + 1, a + 1, :]) ≈ 1 #Optional check that matrix is stochastic\n", " end\n", " end\n", " return (Q = Q, R = R)\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instances of `DiscreteDP` are created using the signature `DiscreteDP(R, Q, β)`\n", "\n", "Let’s create an instance using the objects stored in `g`" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hide-output": false }, "outputs": [], "source": [ "ddp = DiscreteDP(R, Q, g.β);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have an instance `ddp` of `DiscreteDP` we can solve it as follows" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "QuantEcon.DPSolveResult{PFI,Float64}([19.01740221695992, 20.017402216959916, 20.431615779333015, 20.749453024528794, 21.040780991093488, 21.30873018352461, 21.544798161024403, 21.76928181079986, 21.982703576083246, 22.1882432282385, 22.384504796519916, 22.578077363861723, 22.761091269771118, 22.943767083452716, 23.115339958706524, 23.277617618874903], [19.01740221695992, 20.01740221695992, 20.431615779333015, 20.749453024528798, 21.040780991093488, 21.30873018352461, 21.5447981610244, 21.769281810799864, 21.982703576083253, 22.1882432282385, 22.38450479651991, 22.578077363861723, 22.761091269771114, 22.943767083452716, 23.115339958706524, 23.277617618874903], 3, [1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 6], Discrete Markov Chain\n", "stochastic matrix of type Adjoint{Float64,Array{Float64,2}}:\n", "[0.09090909090909091 0.09090909090909091 … 0.0 0.0; 0.09090909090909091 0.09090909090909091 … 0.0 0.0; … ; 0.0 0.0 … 0.09090909090909091 0.09090909090909091; 0.0 0.0 … 0.09090909090909091 0.09090909090909091])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = solve(ddp, PFI)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let’s see what we’ve got here" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "(:v, :Tv, :num_iter, :sigma, :mc)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fieldnames(typeof(results))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most important attributes are `v`, the value function, and `σ`, the optimal policy" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "16-element Array{Float64,1}:\n", " 19.01740221695992 \n", " 20.017402216959916\n", " 20.431615779333015\n", " 20.749453024528794\n", " 21.040780991093488\n", " 21.30873018352461 \n", " 21.544798161024403\n", " 21.76928181079986 \n", " 21.982703576083246\n", " 22.1882432282385 \n", " 22.384504796519916\n", " 22.578077363861723\n", " 22.761091269771118\n", " 22.943767083452716\n", " 23.115339958706524\n", " 23.277617618874903" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.v" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "16-element Array{Int64,1}:\n", " 0\n", " 0\n", " 0\n", " 0\n", " 1\n", " 1\n", " 1\n", " 2\n", " 2\n", " 3\n", " 3\n", " 4\n", " 5\n", " 5\n", " 5\n", " 5" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.sigma .- 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here 1 is subtracted from results.sigma because we added 1 to each state and action to create valid indices\n", "\n", "Since we’ve used policy iteration, these results will be exact unless we hit the iteration bound `max_iter`\n", "\n", "Let’s make sure this didn’t happen" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.num_iter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case we converged in only 3 iterations\n", "\n", "Another interesting object is `results.mc`, which is the controlled chain defined by $ Q_{\\sigma^*} $, where $ \\sigma^* $ is the optimal policy\n", "\n", "In other words, it gives the dynamics of the state when the agent follows the optimal policy\n", "\n", "Since this object is an instance of MarkovChain from [QuantEcon.jl](http://quantecon.org/julia_index.html) (see [this lecture](https://lectures.quantecon.org/tools_and_techniques/finite_markov.html) for more discussion), we\n", "can easily simulate it, compute its stationary distribution and so on" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "16-element Array{Float64,1}:\n", " 0.01732186732186732 \n", " 0.041210632119723034\n", " 0.05773955773955773 \n", " 0.07426848335939244 \n", " 0.08095823095823096 \n", " 0.09090909090909091 \n", " 0.0909090909090909 \n", " 0.0909090909090909 \n", " 0.09090909090909093 \n", " 0.09090909090909091 \n", " 0.09090909090909091 \n", " 0.0735872235872236 \n", " 0.049698458789367884\n", " 0.033169533169533166\n", " 0.016640607549698462\n", " 0.009950859950859951" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stationary_distributions(results.mc)[1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here’s the same information in a bar graph\n", "\n", "\n", "\n", " \n", "What happens if the agent is more patient?" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "16-element Array{Float64,1}:\n", " 0.005469129800680602\n", " 0.023213417598444343\n", " 0.03147788040836169 \n", " 0.04800680602819641 \n", " 0.056271268838113765\n", " 0.09090909090909091 \n", " 0.09090909090909093 \n", " 0.09090909090909093 \n", " 0.09090909090909094 \n", " 0.09090909090909093 \n", " 0.09090909090909094 \n", " 0.0854399611084103 \n", " 0.06769567331064659 \n", " 0.059431210500729234\n", " 0.042902284880894495\n", " 0.03463782207097716 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g_2 = SimpleOG(β=0.99);\n", "Q_2, R_2 = transition_matrices(g_2);\n", "\n", "ddp_2 = DiscreteDP(R_2, Q_2, g_2.β)\n", "\n", "results_2 = solve(ddp_2, PFI)\n", "\n", "std_2 = stationary_distributions(results_2.mc)[1]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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PiMEgHR322233XbbbbGLmzdvjn5x++23R7+45557uv2TEGL48OHPPPNMtyjjb7tHv7799tu75Tz77LPGq1it1jPPPLPb90WFEIWFhevXr49dnDdvXiyz28DdBks3FCEA9K+wsND60ouWw7tPwW0F//GemPLjU3BDJyIYDDY0NOzfv39QfNqXGIoQAPq3+N6Fp48uO1W3dtX5559/qm6rH5s2bbrlllt+9atfWa3WVM8yUChCAOif2Wzu+b1BFVx33XXXXXddqqcYWPywDABAaRQhAEBpFCEAQGmJF6HH43E4HIWFhdOnT/d4PHHWd+zYMXHixLy8vIkTJ77++usSpgYAQJLEi7Cmpqa8vLypqamsrMx4PvKe67Nnz168eLHb7V60aJGanzYDANJW4kVYV1dXWVlptVqjJ5SLs56fn9/W1tbR0dHe3p6bmythagAAJEn81ydcLld5ebkQIvr+L876unXrLrzwwptvvlkIsWvXrl7T/vrXv06aNKnn+qJFiy666CIhhMfjCYfDFosl4YGRJlpbWzVNM5lMJ3Utn88vhE3KALquR/8wm3FFSrIQwu/3G8M7Ojpkheu63traanwpGTuHcvJCoZBx7La2Noljt7e3G8O7Al1SkoUQeqT7rpTGZKmrq/v8888HJDz96Lre7azZ6ebAgQM9j9wTYbfb+322SbwIY3ecruvGA7LnelVV1cKFCxcsWLBixYp77713+/btPdPGjBmzcOHCnusTJkyw2WxCCL/fb7PZKMIhwOv12my2ky1CibteE1r0QWVckRVuMVuM4VarVdbTi6aJnJwcY7jx3P9JysjIMCZnZ2fLelrUhJaVlWUMN5stQlaDa6LbrpQldNo3C7SPR48ePRDhaej48ePRv6aUtqJnTE1gd5/IYZJ4EZaUlBw8eHDcuHEul2vUqFFx1t9+++3nnntu5MiRVVVVfT2wRowYceWVV8a5uczMTKvVShEOAdFdebJFaDaf3PbxaKL7OTLkvRQ2mU3GcIvFIi9di951/74s7yV8RkaGMTkzM1NWstCExWIxhpvk9bemaQN1uhMt47LLLrvrrrsGJDz9NDU1FRcXp3qKlEn8EelwOJxOp67rTqdzxowZQoj6+vpe1ydMmLBmzZqOjo6nn376nHPOkTQ5AAASJF6E1dXVu3fvLi0tbWhoWLJkiRCioqKi13Wn07ll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" }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bar(std_2, label = \"stationary dist\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see the rightward shift in probability mass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### State-Action Pair Formulation\n", "\n", "The `DiscreteDP` type in fact provides a second interface to setting up an instance\n", "\n", "One of the advantages of this alternative set up is that it permits use of a sparse matrix for `Q`\n", "\n", "(An example of using sparse matrices is given in the exercises below)\n", "\n", "The call signature of the second formulation is `DiscreteDP(R, Q, β, s_indices, a_indices)` where\n", "\n", "- `s_indices` and `a_indices` are arrays of equal length `L` enumerating all feasible state-action pairs \n", "- `R` is an array of length `L` giving corresponding rewards \n", "- `Q` is an `L x n` transition probability array \n", "\n", "\n", "Here’s how we could set up these objects for the preceding example" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "QuantEcon.DPSolveResult{PFI,Float64}([19.01740221695992, 20.017402216959916, 20.431615779333015, 20.749453024528794, 21.040780991093488, 21.30873018352461, 21.544798161024403, 21.76928181079986, 21.982703576083246, 22.1882432282385, 22.384504796519916, 22.578077363861723, 22.761091269771118, 22.943767083452716, 23.115339958706524, 23.277617618874903], [19.01740221695992, 20.01740221695992, 20.431615779333015, 20.749453024528798, 21.040780991093488, 21.30873018352461, 21.5447981610244, 21.769281810799864, 21.982703576083253, 22.1882432282385, 22.38450479651991, 22.578077363861723, 22.761091269771114, 22.943767083452716, 23.115339958706524, 23.277617618874903], 3, [1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 6], Discrete Markov Chain\n", "stochastic matrix of type Array{Float64,2}:\n", "[0.09090909090909091 0.09090909090909091 … 0.0 0.0; 0.09090909090909091 0.09090909090909091 … 0.0 0.0; … ; 0.0 0.0 … 0.09090909090909091 0.09090909090909091; 0.0 0.0 … 0.09090909090909091 0.09090909090909091])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B = 10\n", "M = 5\n", "α = 0.5\n", "β = 0.9\n", "u(c) = c^α\n", "n = B + M + 1\n", "m = M + 1\n", "\n", "s_indices = Int64[]\n", "a_indices = Int64[]\n", "Q = zeros(0, n)\n", "R = zeros(0)\n", "\n", "b = 1 / (B + 1)\n", "\n", "for s in 0:(M + B)\n", " for a in 0:min(M, s)\n", " s_indices = [s_indices; s + 1]\n", " a_indices = [a_indices; a + 1]\n", " q = zeros(1, n)\n", " q[(a + 1):((a + B) + 1)] .= b\n", " Q = [Q; q]\n", " R = [R; u(s-a)]\n", " end\n", "end\n", "\n", "ddp = DiscreteDP(R, Q, β, s_indices, a_indices);\n", "results = solve(ddp, PFI)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "In the stochastic optimal growth lecture [dynamic programming lecture](https://lectures.quantecon.org/optgrowth.html), we solve a\n", "[benchmark model](https://lectures.quantecon.org/optgrowth.html#benchmark-growth-mod) that has an analytical solution to check we could replicate it numerically\n", "\n", "The exercise is to replicate this solution using `DiscreteDP`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solutions\n", "\n", "These were written jointly by Max Huber and Daisuke Oyama." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup\n", "\n", "Details of the model can be found in [the\n", "lecture](http://quant-econ.net/jl/optgrowth.html). As in the lecture,\n", "we let $ f(k) = k^{\\alpha} $ with $ \\alpha = 0.65 $,\n", "$ u(c) = \\log c $, and $ \\beta = 0.95 $." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "0.95" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "α = 0.65\n", "f(k) = k.^α\n", "u_log(x) = log(x)\n", "β = 0.95" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we want to solve a finite state version of the continuous state\n", "model above. We discretize the state space into a grid of size\n", "`grid_size = 500`, from $ 10^{-6} $ to `grid_max=2`." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "1.0e-6:0.004008014028056112:2.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid_max = 2\n", "grid_size = 500\n", "grid = range(1e-6, grid_max, length = grid_size)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We choose the action to be the amount of capital to save for the next\n", "period (the state is the capital stock at the beginning of the period).\n", "Thus the state indices and the action indices are both `1`, …,\n", "`grid_size`. Action (indexed by) `a` is feasible at state (indexed\n", "by) `s` if and only if `grid[a] < f([grid[s])` (zero consumption is\n", "not allowed because of the log utility).\n", "\n", "Thus the Bellman equation is:\n", "\n", "$$\n", "v(k) = \\max_{0 < k' < f(k)} u(f(k) - k') + \\beta v(k'),\n", "$$\n", "\n", "where $ k^{\\prime} $ is the capital stock in the next period.\n", "\n", "The transition probability array `Q` will be highly sparse (in fact it\n", "is degenerate as the model is deterministic), so we formulate the\n", "problem with state-action pairs, to represent `Q` in sparse matrix\n", "format.\n", "\n", "We first construct indices for state-action pairs:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "118841" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C = f.(grid) .- grid'\n", "coord = repeat(collect(1:grid_size), 1, grid_size) #coordinate matrix\n", "s_indices = coord[C .> 0]\n", "a_indices = transpose(coord)[C .> 0]\n", "L = length(a_indices)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let’s set up $ R $ and $ Q $" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "hide-output": false }, "outputs": [], "source": [ "R = u_log.(C[C.>0]);" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using SparseArrays\n", "\n", "Q = spzeros(L, grid_size) # Formerly spzeros\n", "\n", "for i in 1:L\n", " Q[i, a_indices[i]] = 1\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We’re now in a position to create an instance of `DiscreteDP`\n", "corresponding to the growth model." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "hide-output": false }, "outputs": [], "source": [ "ddp = DiscreteDP(R, Q, β, s_indices, a_indices);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solving the Model" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = solve(ddp, PFI)\n", "v, σ, num_iter = results.v, results.sigma, results.num_iter\n", "num_iter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us compare the solution of the discrete model with the exact\n", "solution of the original continuous model. Here’s the exact solution:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "c_star (generic function with 1 method)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = f(grid) - grid[σ]\n", "\n", "ab = α * β\n", "c1 = (log(1 - α * β) + log(α * β) * α * β / (1 - α * β)) / (1 - β)\n", "c2 = α / (1 - α * β)\n", "\n", "v_star(k) = c1 + c2 * log(k)\n", "c_star(k) = (1 - α * β) * k.^α" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let’s plot the value functions." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(grid, [v v_star.(grid)], ylim = (-40, -32), lw = 2, label = [\"discrete\" \"continuous\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "They are barely distinguishable (although you can see the difference if\n", "you zoom).\n", "\n", "Now let’s look at the discrete and exact policy functions for\n", "consumption." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(grid, [c c_star.(grid)], lw = 2, label = [\"discrete\" \"continuous\"], legend = :topleft)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These functions are again close, although some difference is visible and\n", "becomes more obvious as you zoom. Here are some statistics:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "121.49819147053378" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "maximum(abs(x - v_star(y)) for (x, y) in zip(v, grid))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a big error, but most of the error occurs at the lowest\n", "gridpoint. Otherwise the fit is reasonable:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "0.012681735127500815" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "maximum(abs(v[idx] - v_star(grid[idx])) for idx in 2:lastindex(v))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The value function is monotone, as expected:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all(x -> x ≥ 0, diff(v))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comparison of the solution methods\n", "\n", "Let’s try different solution methods. The results below show that policy\n", "function iteration and modified policy function iteration are much\n", "faster that value function iteration." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "hide-output": false }, "outputs": [], "source": [ "@benchmark results = solve(ddp, PFI)\n", "results = solve(ddp, PFI);" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "hide-output": false }, "outputs": [], "source": [ "@benchmark res1 = solve(ddp, VFI, max_iter = 500, epsilon = 1e-4)\n", "res1 = solve(ddp, VFI, max_iter = 500, epsilon = 1e-4);" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "294" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res1.num_iter" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "σ == res1.sigma" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "hide-output": false }, "outputs": [], "source": [ "@benchmark res2 = solve(ddp, MPFI, max_iter = 500, epsilon = 1e-4)\n", "res2 = solve(ddp, MPFI, max_iter = 500, epsilon = 1e-4);" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "16" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res2.num_iter" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "σ == res2.sigma" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Replication of the figures\n", "\n", "Let’s visualize convergence of value function iteration, as in the\n", "lecture." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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3r1br27OnDkvvvjiwoULAWDXrl2LFi3ys2Hu3LlhCpyY9uS6++67f/CDH9x9991V7ZXP5yORSCwWC95MPJ1IJJrO2qvZePb8yXd0SJFgvfvd747H4+9973tvuummH/3oR/oG+Ppf/L5r165EIgFuhhO/WJblWR3txbf3U5gCp5lkjFAkEokmU6XSnvXhv/nNb66//vqzzz77oYceAoByWc3onnrqqV/+8pcty/rjH/941FFHFYvFM8444/rrr8dUwfXXX3/mmWd6VnHmmWd+4hOfGBkZyWQyn/rUpwJsCFngNJOAUCQSiSZNZ5555j777IPfv/CFL5x44omHHHJIX1/f6aeffsUVVygbf/3rX3/++efnz5//3ve+94477ujo6Ljttttyudzy5ctXrlxZLBb9ZrJ89atftW17+fLlhx566AknnBBgQ8gCp5lkjFDkIRkjbEzJGGFF6WOEoumhcR0jlIhQJBKJRDNaAkKRSCQSzWgJCEUikUg0oyUgFIlEItGMloBQJBKJRDNaAkKRSCSawqq4QN5PN9xwAz5rZlJqbygJCEUikWgchS85akB961vfeuGFF2refaq8vCmMBIQikUg0jsKXHDWg+vr65s6dW/Pu0+nlTQJCkUg0rWXb0N8/Qf+GhpTK+UuOfvrTn86bN4/nEvH7rl27Lrzwwvnz569cufLyyy/v6uriJZxzzjnf+9738Ps111xz4IEHer6qqdpilbcv8R31ly7pr3+abi9vciZPP/vZz97znvdMogEiP3V3d5dKpcm2QqQql8v19/dPthUNrUsvvRTf2/CmXnvNAZigfytX6iahmwWAq6666vnnn+deF7+fffbZ69aty2azAwMDn/vc58466yy++5133nnqqac6jlMqlRYuXJhKpb785S+Xy+W//OUv8Xicl19VsQE7AsDNN99s2/Zjjz2WSqWwVf/t3/6tVCpt3Lhx9uzZ+Xxe2f2yyy77wAc+kM1ms9nsBz/4wSuuuMKznLHorrvuWrt2bbV75XK5YrFYcTN5hpZIJJrWikRgwh5K194e8MfPf/7z8+bN039//PHH77//fvqvss2aNWuuvPLK7u7uv/71r6tWrXrssceefvrpH/7wh0888USxWAyoLrjYYF111VWGYZx88sm5XA4A1q9fv3nz5mg0etxxx7366qv6wxcffPDBl156KZVKAcCN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" }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w_init = 5log.(grid) .- 25 # Initial condition\n", "n = 50\n", "\n", "ws = []\n", "colors = []\n", "w = w_init\n", "for i in 0:n-1\n", " w = bellman_operator(ddp, w)\n", " push!(ws, w)\n", " push!(colors, RGBA(0, 0, 0, i/n))\n", "end\n", "\n", "plot(grid,\n", " w_init,\n", " ylims = (-40, -20),\n", " lw = 2,\n", " xlims = extrema(grid),\n", " label = \"initial condition\")\n", "\n", "plot!(grid, ws, label = \"\", color = reshape(colors, 1, length(colors)), lw = 2)\n", "plot!(grid, v_star.(grid), label = \"true value function\", color = :red, lw = 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We next plot the consumption policies along the value iteration. First\n", "we write a function to generate the and record the policies at given\n", "stages of iteration." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "compute_policies (generic function with 1 method)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function compute_policies(n_vals...)\n", " c_policies = []\n", " w = w_init\n", " for n in 1:maximum(n_vals)\n", " w = bellman_operator(ddp, w)\n", " if n in n_vals\n", " σ = compute_greedy(ddp, w)\n", " c_policy = f(grid) - grid[σ]\n", " push!(c_policies, c_policy)\n", " end\n", " end\n", " return c_policies\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let’s generate the plots." ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAMgCAIAAABwAouTAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd3gc1b038N+Z3dnVNvXee3GvyMY4QIxxuYYQpxgMDhA7BmxiJ+ZeCCE3yQsJhIT4YkRiiiEQasDGhOJCCOCCgwH3Ksnqva+k1baZnfP+sUJer+S2Kitpv5+Hh2c1c2bmSOvVV+fMnHMY55wAAAACleDvCgAAAPgTghBgcDHGTp8+PRJPDhAgEIQA/fLqq69effXVISEhaWlpjz76qMvlukDhHTt2WCyW/l90oM4DAIQgBOiP9957b9myZcnJyW+88cZ99933xBNP/PnPf/Yq09nZmZ2d7X69YMGC6urq/l+35zyeJwcA36j9XQGAEezpp5+eMWPG3//+d8YYEQUHBz/88MP333+/Zxmj0Th4FRjUkwMECLQIAXynUqm++93vulOQiJKSkurr673K9NzGcxfLy8tjjD3zzDN5eXl6vX7y5Mkvv/yy++FtxtiXX365aNGiOXPmENGJEyduuummhIQEnU43bty4N998s+eEPefxvEeoKMqTTz45duxYo9E4derUzZs395T/8ssvlyxZEh4enp6e/o9//KOnbkePHl2wYEF4eHhISMj1119/6tSpQftRAQxjHAAGgizLS5YsWbBggdd2Ijp16hTnvKmpiYj27du3fv36sWPHvvrqq//6179++ctfqlSqjRs3uktOnTp11apV77zzjt1uj4yMHDdu3Isvvvjhhx+uWrVKpVKZzWbP87hfuE/OOf/Tn/5kMpnWr1//0Ucf/epXv1Kr1e+//777tPn5+Zs2bfryyy9//OMfazQai8XCOZckKTY29vbbb9+yZcvmzZtvvPHGadOmDeVPDGCYQBACDICKiopFixZFRUUVFhZ67fLMKvfrKVOmnDlzpqfAunXrrrrqKvfeBx980L2xra3tkUceOXTokPtLs9nc+zyeLxRFiYiIeOWVV3pO++CDD86ePdtdZsOGDe6NnZ2dPYdUVVUR0fHjx927mpubX3/99YH7kQCMGOgaBegXWZYfe+yxnJwcQRAOHTp0KY+uFBYWZmZmsm+sX7++uLjYvWvBggXuF6GhoQ899FBXV9df//rXu++++4orrrjwOZuamlpaWhYuXNizZeHChSdPnnS/njVrlvuF5z3FhISE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ExMTHBx87bXX2u12v1YQzoFPzbCFT83w0dzcfPvttz/yyCMFBQUGg8G98aKfnUEfPoERh8NWn29Na2vr8uXLLRZLR0fHww8/PG/ePH9XM6AxxtwdO/jUDDeebw0+NcPHq6+++stf/rLnUabTp09fymcH4wgBACCgYRwhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhAAAENAQhwOBijJ0+fXoknhwgQCAIAQZAWVlZSEjIRTNpx44d5RknrQAAIABJREFUFoul/5cbqPMAACEIAfpPkqSlS5d2dHT0ubezszM7O9v9esGCBdXV1f2/Ys95PE8OAL5R+7sCACPeb3/7W5vNdr69RqNx8C49qCcHCBBoEQL0yyeffPLUU0+9+eab5yvQcxuPMUZEeXl5jLFnnnkmLy9Pr9dPnjz55Zdf5py7C3z55ZeLFi2aM2cOEZ04ceKmm25KSEjQ6XTjxo3ruYTneTzvESqK8uSTT44dO9ZoNE6dOnXz5s095b/88sslS5aEh4enp6f/4x//6Knb0aNHFyxYEB4eHhIScv311586dWowfkQAwxyCEMB3zc3Nt91224YNG3Jzcy9auKmpiYj27du3fv36p59++le/+tV77723cOHC5cuXP/vss+4yq1atSklJuffeex0OxzXXXFNSUvK73/1uy5YtV1999W233dbe3u55HveLHuvXr//1r3+9YsWKrVu3Lly48JZbbvnggw/cu9asWXP99dfv3Lnz2muv/dGPftTV1UVEsizPmzcvJiZm06ZNL774ok6n+9GPfjSgPx6AEYIDgE8URbnhhhuWLFmiKArnnIhOnTrVu5jndvfrKVOmnDlzpqfAunXrrrrqKvfeBx980L2xra3tkUceOXTokPtLs9nc+zyeLxRFiYiIeOWVV3pO++CDD86ePdtdZsOGDe6NnZ2dPYdUVVUR0fHjx927mpubX3/99YH50QCMKLhHCOCjZ5999tixY4cPH3b3VV66wsLCzMxMzy0xMTHuFwsWLHC/CA0Nfeihh/bt2/fXv/716NGjn3766YXP2dTU1NLSsnDhwp4tCxcufO6559yvZ82a5X7heU8xISFh+fLl+fn511xzzezZs5cuXXrLLbdc1jcCMDqgaxTAR1988UV5eXloaKj7Xh0R5eXlzZgx46IH6vX6gwcPnvLw2WefuXdFRUX1FLvtttvuvPPO6urqm266ac+ePZdbPUEQXC6X+7XBYOhdgDG2adOmkpKSBQsWHDp0aOzYsffff//lXgVgFEAQAvjoscce8wwzIvrwww8v8NRMj7Fjx9bV1eXm5ubm5ubk5BQUFLz88steZZqaml5//fXdu3c/+uij8+fPv2ijMyoqKiIiYvv27T1btm3bNm7cuAsc0tbWtmrVqvDw8NWrV7/55ptvv/32xo0bL1p5gNEHXaMAPoqLi4uLi/Pckp6enpqaeoFDVCrVxx9/PGfOnKVLl/7ud79LTU3dsmXLSy+99P7773uVNBqNer3+scceW7p0aVVV1R/+8AeVSnXgwIGMjAxRFN3ncTqdPeUZYw888MCqVauam5vHjBmze/fuxx9/fOvWrReoTHBw8JYtWywWy80332y32zdt2jR16tTL/ikAjAL+vkkJMErQJTwss27dOoPBEBYW9sILL+Tm5ur1+qlTp27ZsqXPM2zdujUjI8NoNF577bVff/31XXfdZTQaq6qqPM/jeYjL5Vq/fr17VMakSZM2b97c52k9v9y3b9+VV17pPtV3v/vdysrKAf6hAIwEjHPuzxwGAADwK9wjBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgOZ7ELa0tMTHx/d8WVRUNGfOnPnz58+ZM6eoqGgg6gYAADDofFyPcNeuXX/84x+3bdvWc/j8+fNXrly5ePHirVu3Pvfcc9u3bz/fsfv37z9w4EDv7cnJyYsWLfKhMgAAAD7r18K8jJ09PCwsrLKy0mQyWSyW5OTk1tbWPg9xOp1xcXGLFy/uvSs3N3flypU+Vwb6r7OzU61W63Q6f1cEvMmy3NHRER4e7u+KQB/MZrNer9doNP6uCHhzOBwmk0mr1V64mHqgrqcoSkdHh8lk4py7XK7zFeOcWyyW559/fqCuCwNIURRRFPV6vb8rAt5kWZZl2WQy+bsi0AdJkgwGw0V/28LQE0VREC5+B3DAHpbJz8/fu3cvEe3Zs2fmzJkDdVoAAIBBNQAtwtDQULPZXFBQsGbNms2bN1ssloKCgv6fFgAAYAj0KwjdNwjNZjMR5eTk7Ny5c2AqBQAAMFQwjhAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAA/j97dx4fVXX3D/x77p07k8lkXyb7Qnb23QiKGwWEuhWflgqitSBWoKDoU2vrr+2rVFr6dEGjRS212qrVGsBWEFCqsmjdkT0JhJB9TyaTSWa5y/n9MSGESQgwJJkJ83m/fOHMnXvvOclk8sk5955zAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAIaghAAAAKaztcVAAAfeO6558rKynxdiyuEw+GQJEkURV9X5IoyevToe+65Z2jKQhACBKJXX311zJgx6enpvq4IQB+OHTtWXFyMIASAwbVw4cIZM2b4uhYAfXjrrbdeeumlISsO1wgBACCgIQgBACCgIQgBACCgIQgBACCgeXmzTElJyYMPPihJkizLGzduzMnJIaJnnnlm9+7dnHPG2KxZs1asWDGgVQUAABh4XrYIV61atWLFip07d65cuXL16tXujU8++eTSpUv/8Y9/LF269Mknnxy4SgIAAAwWL1uEn3766ZtvvklEs2bNWrJkiXvjX//617lz57of79y583zHqqo6ceLE3tunTp26bt067+oDA8JqtUqS1NnZ6euKgCdFUdra2hhjA3jCgToVwGCQZbmpqekyT+J0OqOioiRJ6n83L4NQ0zSr1RoaGso5V1XVvfFHP/rRhg0b7r777ldeeeWxxx6bM2dOn8cKgvCnP/2p9/bw8PDw8HDv6gMDRZKk4OBgX9cCPCmKomnaAH5AMA0K+DmdTnf5P/AOh+NiftS9DML8/Pz9+/cvWLBg375906ZNc29saGi4/vrro6OjZ8yY8Zvf/OZ8xzLGug8BvyKd4euKgCfG2MC+NQPYuAQYDO6f+cs8iaqqF/Oj7mUQFhQUrFq1qrCw0GazFRQUREREWCyWv//978uWLTOZTDab7W9/+5t3ZwYAABhKXgZhbm7url27up9aLBYimjVr1qxZswamXgAAQ4gxxjm/+P23bdt2yy23eF2c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vffetWvXFhQUmEwm98YLfnYGffgERhz6rT7fmpaWliVLlthsNqvV+stf/nLOnDm+rmZAY4y5O3bwqfE3Pd8afGr8xyuvvPKTn/yk+1amoqKii/nsYBwhAAAENIwjBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBACAgIYgBBhcjLGioqLheHKAAIEgBLgshw8fnjdvXmRk5MiRI7du3dr/zjt37rTZbJdf6ECdBwAIQQhwOY4dOzZjxozMzMxXXnnl9ttv//a3v33gwAGPfdrb23NyctyP586dW1VVdfnldp+n58kBwDuMc+7rOgAMV8uWLRNFcePGje6n3/nOd6Kiop577rnz7c8YO378eF5e3mWWO1DnAQBCixDgcrz55pvf//73u5+uW7duwYIFHvt0X8ZjjBHRyJEjGWPPPffcyJEjg4ODJ06c+PLLL7v/HmWMffbZZ7fccsvMmTOJ6OjRo3fccUdSUpLRaBwzZszrr7/efcLu8/S8Rqhp2oYNG0aPHh0SEjJ58v0bWekAACAASURBVOTCwsLu/T/77LMFCxZERUVlZGS88cYb3XU7dOjQ3Llzo6KiwsPDZ8+effz48cH5PgH4NQQhgJc6OjosFkt9ff2MGTPCwsLy8vK2b99+/fXXn2//xsZGIvr444//8Ic/PPPMM0888cS///3vefPmLVmy5Pnnn3fvs3z58rS0tJUrVzqdzhtuuKG0tPRXv/rV5s2br7/++rvvvrutra3nedwPuv3hD3/42c9+tnTp0q1bt86bN++uu+7atm2b+6VVq1bNnj17165dN9544z333NPR0UFEiqLMmTMnLi5u06ZNL774otFovOeeewbnWwXg3zgAeOXUqVNElJ6e/tJLL33xxRebNm2Kiop6+umnPXYjouPHj/d8PGnSpJMnT3bvsGbNmmuvvdb96uOPP+7e2Nraunbt2gMHDrifWiyW3ufp+UDTtOjo6L///e/dp3388cdnzJjh3uepp55yb2xvb+8+pLKykoiOHDnifqmpqem1114buG8PwLCh81UAAwx3wcHBRPTyyy9fd911RDR58mTG2G9/+9sf/vCH/R9YXFyclZXVc0tcXJz7wdy5c90PIiIifvrTn3788cd/+tOfDh069MEHH/R/zsbGxubm5nnz5nVvmTdv3gsvvOB+fM0117gfhISEdO+QlJS0ZMmS/Pz8G264YcaMGQsXLrzrrrsu9EUDXIHQNQrgpZiYGEEQJkyY0L1l7NixF3NTaHBw8FdffXW8hw8//ND9UmxsbPdud99993333VdVVXXHHXfs27fvUqsnCIKqqu7HJpOp9w6MsU2bNpWWls6dO/fAgQOjR4/+0Y9+dKmlAFwBEIQAXhJF8brrrnv33Xe7t3z44YejRo264IGjR4+ura3Ny8vLy8vLzc0tKCh4+eWXPfZpbGx87bXX9u7du27duptvvtl9g0w/YmNjo6Ojd+zY0b3lnXfeGTNmTD+HtLa2Ll++PCoqasWKFa+//vqbb77ZffsrQEBB1yiA9x599NFFixadOnVq3Lhx//3vf9evX//Pf/6zn/1FUdy9e/fMmTMXLlz4q1/9Kj09ffPmzS+99NLbb7/tsWdISEhwcPCvf/3rhQsXVlZW/uY3vxFF8csvv8zMzJQkyX0el8vVvT9j7LHHHlu+fHlTU9OoUaP27t27fv36/gf4h4WFbd682Wazffe733U4HJs2bZo8efLlfDcAhitfX6QEGN7eeOONSZMmmUymSZMmbd26tfcO1OMmlzVr1phMpsjIyL/85S95eXnBwcGTJ0/evHlz7z0551u3bs3MzAwJCbnxxhu/+OKLBx54ICQkpLKysud5eh6iquof/vAH96iMCRMmFBYW9nnank8//vjj6dOnu0/1rW99q6KiYoC/OwDDAQbUAwBAQMM1QgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGgIQgAACGjeB2Fzc3NiYmL305KSkpkzZ958880zZ84sKSkZiLoBAAAMOi+DcM+ePffcc09tbW33llWrVq1YsWLnzp0rV65cvXr1AFUPAABgcF3WeoSMnT08MjKyoqIiNDTUZrOlpqa2tLT0eQjn/H//938///zz3i9NnTr1ySef9LoycPkURWGMiaLo64qAJ865LMt6vd7XFYE+yLIsiqIg4EqT39E0zWAwXPCt0Q1geVarNTQ0lHOuqur5dnO5XE8//fS2bdt6vxQVFTVQlQHvdHR0SJIUHBzs64qAJ1VVrVZrTEyMrysCfWhvbzeZTAaDwdcVAU8ul0sUxQv+BTlgQZifn79///4FCxbs27dv2rRp/ezJGJs9e/ZAlQsDyGAwSJKEz7Mfcn+Y8db4J8MZvq4IeOKcM8YuuNsABGFERITFYikoKFi1alVhYaHNZisoKLj80wIAAAyBywpC9wVCi8VCRLm5ubt27RqYSgEAAAwVXN0FAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICAhiAEAICApvN1BQDABxYsWPD555/7uhZXCM45ETHGfF2RK8rs2bOfe+65oSkLQQgQiGpqan7zm99MmTLF1xUB6MN77723Y8eOISsOQQgQoBISEjIyMnxdC4A+xMXFDWVxuEYIAAABDUEIAAABDUEIAAABDUEIAAABzcubZUpKSh588EFJkmRZ3rhxY05ODhE988wzu3fv5pwzxmbNmrVixYoBrSoAAMDA8zIIV61atWLFivnz52/dunX16tXu+1yffPLJP//5zzfddNP777+/bNmyfoKwtLS090aj0TjEdwqBB1VVBUFQVdXXFQFP6hm+rgjAEOGcX/4PvPt32gV38zIIP/300zfffJOIZs2atWTJEvfGv/71r3PnznU/3rlzZz81u+GGG3pvnz59ekFBgXf1gQFhtVolSbLb7b6uCHhSFKWtre1iPtIXf8KBOhXAYJBlubm5+TJP4nQ6Y2JiLribl0GoaZrVag0NDe0Z2j/60Y82bNhw9913v/LKK4899ticOXP6PFYUxcrKSu/KhUFlMBgkSQoODvZ1RcCToiiSJMXGxg7UCXU6jCEGv6bX681m82WexOFwiKJ4wd28/AMzPz9///79RLRv375p06a5NzY0NFx//fXR0dEzZsyor6/37swAAABDycu/CgsKClatWlVYWGiz2QoKCiIiIiwWy9///vdly5aZTCabzfa3v/1tYCsKADB4GGPuKUMv0rZt22655Ravi3MffkmFerHzpX5RAcvLIMzNzd21a1f3U4vFQkSz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" }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "true_c = c_star.(grid)\n", "c_policies = compute_policies(2, 4, 6)\n", "plot_vecs = [c_policies[1] c_policies[2] c_policies[3] true_c true_c true_c]\n", "l1 = \"approximate optimal policy\"\n", "l2 = \"optimal consumption policy\"\n", "labels = [l1 l1 l1 l2 l2 l2]\n", "plot(grid,\n", " plot_vecs,\n", " xlim = (0, 2),\n", " ylim = (0, 1),\n", " layout = (3, 1),\n", " lw = 2,\n", " label = labels,\n", " size = (600, 800),\n", " title = [\"2 iterations\" \"4 iterations\" \"6 iterations\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dynamics of the capital stock\n", "\n", "Finally, let us work on [Exercise\n", "2](https://lectures.quantecon.org/jl/optgrowth.html#Exercise-1), where we plot\n", "the trajectories of the capital stock for three different discount\n", "factors, $ 0.9 $, $ 0.94 $, and $ 0.98 $, with initial\n", "condition $ k_0 = 0.1 $." ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "discount_factors = (0.9, 0.94, 0.98)\n", "k_init = 0.1\n", "\n", "k_init_ind = findfirst(collect(grid) .≥ k_init)\n", "\n", "sample_size = 25\n", "\n", "ddp0 = DiscreteDP(R, Q, β, s_indices, a_indices)\n", "k_paths = []\n", "labels = []\n", "\n", "for β in discount_factors\n", " ddp0.beta = β\n", " res0 = solve(ddp0, PFI)\n", " k_path_ind = simulate(res0.mc, sample_size, init=k_init_ind)\n", " k_path = grid[k_path_ind.+1]\n", " push!(k_paths, k_path)\n", " push!(labels, \"β = $β\")\n", "end\n", "\n", "plot(k_paths,\n", " xlabel = \"time\",\n", " ylabel = \"capital\",\n", " ylim = (0.1, 0.3),\n", " lw = 2,\n", " markershape = :circle,\n", " label = reshape(labels, 1, length(labels)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Appendix: Algorithms\n", "\n", "This appendix covers the details of the solution algorithms implemented for `DiscreteDP`\n", "\n", "We will make use of the following notions of approximate optimality:\n", "\n", "- For $ \\varepsilon > 0 $, $ v $ is called an $ \\varepsilon $-approximation of $ v^* $ if $ \\lVert v - v^*\\rVert < \\varepsilon $ \n", "- A policy $ \\sigma \\in \\Sigma $ is called $ \\varepsilon $-optimal if $ v_{\\sigma} $ is an $ \\varepsilon $-approximation of $ v^* $ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Value Iteration\n", "\n", "The `DiscreteDP` value iteration method implements value function iteration as\n", "follows\n", "\n", "1. Choose any $ v^0 \\in \\mathbb{R}^n $, and specify $ \\varepsilon > 0 $; set $ i = 0 $ \n", "1. Compute $ v^{i+1} = T v^i $ \n", "1. If $ \\lVert v^{i+1} - v^i\\rVert < [(1 - \\beta) / (2\\beta)] \\varepsilon $,\n", " then go to step 4; otherwise, set $ i = i + 1 $ and go to step 2 \n", "1. Compute a $ v^{i+1} $-greedy policy $ \\sigma $, and return $ v^{i+1} $ and $ \\sigma $ \n", "\n", "\n", "Given $ \\varepsilon > 0 $, the value iteration algorithm\n", "\n", "- terminates in a finite number of iterations \n", "- returns an $ \\varepsilon/2 $-approximation of the optimal value function and an $ \\varepsilon $-optimal policy function (unless `iter_max` is reached) \n", "\n", "\n", "(While not explicit, in the actual implementation each algorithm is\n", "terminated if the number of iterations reaches `iter_max`)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Policy Iteration\n", "\n", "The `DiscreteDP` policy iteration method runs as follows\n", "\n", "1. Choose any $ v^0 \\in \\mathbb{R}^n $ and compute a $ v^0 $-greedy policy $ \\sigma^0 $; set $ i = 0 $ \n", "1. Compute the value $ v_{\\sigma^i} $ by solving\n", " the equation $ v = T_{\\sigma^i} v $ \n", "1. Compute a $ v_{\\sigma^i} $-greedy policy\n", " $ \\sigma^{i+1} $; let $ \\sigma^{i+1} = \\sigma^i $ if\n", " possible \n", "1. If $ \\sigma^{i+1} = \\sigma^i $, then return $ v_{\\sigma^i} $\n", " and $ \\sigma^{i+1} $; otherwise, set $ i = i + 1 $ and go to\n", " step 2 \n", "\n", "\n", "The policy iteration algorithm terminates in a finite number of\n", "iterations\n", "\n", "It returns an optimal value function and an optimal policy function (unless `iter_max` is reached)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Modified Policy Iteration\n", "\n", "The `DiscreteDP` modified policy iteration method runs as follows:\n", "\n", "1. Choose any $ v^0 \\in \\mathbb{R}^n $, and specify $ \\varepsilon > 0 $ and $ k \\geq 0 $; set $ i = 0 $ \n", "1. Compute a $ v^i $-greedy policy $ \\sigma^{i+1} $; let $ \\sigma^{i+1} = \\sigma^i $ if possible (for $ i \\geq 1 $) \n", "1. Compute $ u = T v^i $ ($ = T_{\\sigma^{i+1}} v^i $). If $ \\mathrm{span}(u - v^i) < [(1 - \\beta) / \\beta] \\varepsilon $, then go to step 5; otherwise go to step 4 \n", " - Span is defined by $ \\mathrm{span}(z) = \\max(z) - \\min(z) $ \n", "1. Compute $ v^{i+1} = (T_{\\sigma^{i+1}})^k u $ ($ = (T_{\\sigma^{i+1}})^{k+1} v^i $); set $ i = i + 1 $ and go to step 2 \n", "1. Return $ v = u + [\\beta / (1 - \\beta)] [(\\min(u - v^i) + \\max(u - v^i)) / 2] \\mathbf{1} $ and $ \\sigma_{i+1} $ \n", "\n", "\n", "Given $ \\varepsilon > 0 $, provided that $ v^0 $ is such that\n", "$ T v^0 \\geq v^0 $, the modified policy iteration algorithm\n", "terminates in a finite number of iterations\n", "\n", "It returns an $ \\varepsilon/2 $-approximation of the optimal value function and an $ \\varepsilon $-optimal policy function (unless `iter_max` is reached).\n", "\n", "See also the documentation for `DiscreteDP`" ] } ], "metadata": { "filename": "discrete_dp.rst", "kernelspec": { "display_name": "Julia 1.2", "language": "julia", "name": "julia-1.2" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.2.0" }, "title": "Discrete State Dynamic Programming" }, "nbformat": 4, "nbformat_minor": 2 }