The Bellman operator of a deterministic dynamic program #
The operator
T v s = sup { r (s, a) + β * v (g (s, a)) | a ∈ Γ s }
is shown to map bounded continuous functions to bounded continuous functions, and to
satisfy Blackwell's sufficient conditions. Combined with LeanEconomics.Blackwell this
gives the value function of the program, its uniqueness, and convergence of value function
iteration.
The formulation #
A program is given by a feasible correspondence Γ : S → Set A with nonempty compact
values that is continuous -- upper and lower hemicontinuous -- together with a bounded
continuous reward r : (S × A) →ᵇ ℝ, a continuous law of motion g : C(S × A, S), and a
discount factor β < 1.
The feasible set moves with the state, which is what a budget constraint does. The price of
that generality is the continuity of T v, and it is paid by Berge's maximum theorem in
LeanEconomics.Topology.Berge: continuous_maxValue is exactly the statement that the
value of a parametrised maximisation problem is continuous in the parameter.
Verifying that a particular Γ is hemicontinuous is real work, done per model. The two
programs in LeanEconomics.DynamicProgramming.Examples discharge it in the two cheapest
ways: a constraint set that does not move, and one pinned to a single continuously varying
point.
Main definitions #
LeanEconomics.DynamicProgram: the data of a deterministic dynamic program.LeanEconomics.DynamicProgram.bellman: its Bellman operator onS →ᵇ ℝ.LeanEconomics.DynamicProgram.valueFunction: the value function.
Main results #
LeanEconomics.DynamicProgram.blackwell: the Bellman operator satisfies Blackwell's conditions, hence is a contraction.LeanEconomics.DynamicProgram.bellman_valueFunction,LeanEconomics.DynamicProgram.eq_valueFunction: the value function is the unique solution of the Bellman equation.LeanEconomics.DynamicProgram.exists_optimal_action: the supremum is attained, so a greedy policy exists.
References #
- Stokey, Lucas and Prescott, Recursive Methods in Economic Dynamics, chapter 4.
A deterministic dynamic program: the agent observes a state, picks an action from the feasible set at that state, collects a reward, and moves to the state the law of motion dictates.
- feasible : S → Set A
The actions available to the agent, as a function of the state.
Each feasible set is compact, so that the supremum over it is attained.
The agent always has something to do.
- upperHemicontinuous_feasible : UpperHemicontinuous self.feasible
The feasible set does not explode as the state moves.
- lowerHemicontinuous_feasible : LowerHemicontinuous self.feasible
The feasible set does not collapse as the state moves.
- reward : BoundedContinuousFunction (S × A) ℝ
The one-period reward, bounded and continuous in state and action jointly.
The law of motion.
- discount : NNReal
The discount factor.
Future rewards are discounted strictly, which is what makes the operator a contraction.
Instances For
What the agent gets from action a in state s: this period's reward plus the
discounted continuation value at the state the action leads to.
Instances For
The objective is bounded uniformly in the state and the action, by the size of the reward plus the discounted size of the continuation value.
The Bellman operator as a bare function: the value of the one-period problem, in the
sense of LeanEconomics.maxValue.
Equations
- D.bellmanFn v s = LeanEconomics.maxValue (D.objective v) D.feasible s
Instances For
The Bellman operator on bounded continuous functions. Continuity of the image is
Berge's maximum theorem; boundedness is abs_bellmanFn_le.
Equations
Instances For
The Bellman operator satisfies Blackwell's sufficient conditions. Monotonicity
holds because a larger continuation value raises the objective at every action;
discounting holds because the continuation value enters multiplied by β.
The supremum defining the Bellman operator is attained: in every state there is an optimal action. This is what makes a greedy policy well defined.
The maximiser correspondence of the one-period problem is upper hemicontinuous, by the second half of Berge's theorem.
The Bellman operator preserves monotonicity when the feasible set grows with the state, the reward rises with it, and the law of motion is monotone in it.
The Bellman operator preserves concavity on a convex set s, given that the feasible
graph is convex over s, the reward is concave along it, the law of motion is affine, and
s is forward invariant.
The mixed action is feasible at the mixed state, so it is available; the value at the mixed state is at least what it delivers, which by concavity of the reward and of the continuation value is at least the mixture of the two optimal values.
The value function of the program: the unique fixed point of its Bellman operator.
Equations
- D.valueFunction = ⋯.valueFunction ⋯
Instances For
The value function satisfies the Bellman equation.
The Bellman equation has no other bounded continuous solution.
Value function iteration converges to the value function from any starting guess.
The geometric error bound for value function iteration on a dynamic program.
In every state, the value function is attained by some feasible action: the optimal policy exists, and the value function is the reward it collects plus the discounted value of the state it leads to.
The value function is increasing in the state when the feasible set grows with the state, the reward rises with it, and the law of motion is monotone in it.
The value function is concave on s under those conditions.