Skip to content

Commit 3592130

Browse files
Tom's March 17 edits of dyn_stack lecture
1 parent 28d3a7a commit 3592130

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

lectures/dyn_stack.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ tags: [hide-output]
3535

3636
## Overview
3737

38-
This notebook formulates and computes a plan that a **Stackelberg
38+
This lecture formulates and computes a plan that a **Stackelberg
3939
leader** uses to manipulate forward-looking decisions of a **Stackelberg
4040
follower** that depend on continuation sequences of decisions made once
4141
and for all by the Stackelberg leader at time $0$.
@@ -77,13 +77,13 @@ $a_0$ and $a_1$ are both positive.
7777
$q_{10}, q_{20}$ are given numbers that serve as initial
7878
conditions at time $0$.
7979

80-
By incurring a cost of change
80+
By incurring a cost equal to
8181

8282
$$
83-
\gamma v_{it}^2
83+
\gamma v_{it}^2, \quad \gamma > 0 ,
8484
$$
8585

86-
where $\gamma > 0$, firm $i$ can change its output according
86+
firm $i$ can change its output according
8787
to
8888

8989
$$
@@ -217,8 +217,7 @@ $$
217217
where
218218
$c_0 = \frac{\beta a_0}{2 \gamma}, c_1 = \frac{\beta a_1}{\gamma}, c_2 = \frac{\beta a_1}{2 \gamma}$.
219219

220-
This equation can in turn be rearranged to become the second-order
221-
difference equation
220+
This equation can in turn be rearranged to become
222221

223222
```{math}
224223
:label: sstack1
@@ -272,7 +271,7 @@ $$
272271
Operating on both sides of equation {eq}`sstack2` with
273272
$\beta^{-1}$ times this inverse operator gives the follower's
274273
decision rule for setting $q_{1t+1}$ in the
275-
**feedback-feedforward** form.
274+
**feedback-feedforward** form
276275

277276
```{math}
278277
:label: sstack3
@@ -304,7 +303,7 @@ and formulate the following Lagrangian for the Stackelberg leader firm
304303

305304
subject to initial conditions for $q_{1t}, q_{2t}$ at $t=0$.
306305

307-
**Comments:** We have formulated the Stackelberg problem in a space of
306+
**Remarks:** We have formulated the Stackelberg problem in a space of
308307
sequences.
309308

310309
The max-min problem associated with Lagrangian
@@ -314,11 +313,11 @@ future of its choices of $\{q_{1t+j}\}_{j=0}^\infty$.
314313

315314
This renders a direct attack on the problem cumbersome.
316315

317-
Therefore, below, we will formulate the Stackelberg leader's problem
316+
Therefore, below we will formulate the Stackelberg leader's problem
318317
recursively.
319318

320319
We'll put our little duopoly model into a broader class of models with
321-
the same conceptual structure.
320+
the same structure.
322321

323322
## Stackelberg Problem
324323

@@ -342,7 +341,7 @@ of the Stackelberg **follower**.
342341
Let $u_t$ be a vector of decisions chosen by the Stackelberg leader
343342
at $t$.
344343

345-
The $z_t$ vector is inherited physically from the past.
344+
The $z_t$ vector is inherited from the past.
346345

347346
But $x_t$ is a decision made by the Stackelberg follower at time
348347
$t$ that is the follower's best response to the choice of an
@@ -464,13 +463,13 @@ Subproblem 2 is solved by the **Stackelberg leader** at $t=0$.
464463

465464
The two subproblems are designed
466465

467-
- to respect the protocol in which the follower chooses
466+
- to respect the timing protocol in which the follower chooses
468467
$\vec q_1$ after seeing $\vec q_2$ chosen by the leader
469468
- to make the leader choose $\vec q_2$ while respecting that
470469
$\vec q_1$ will be the follower's best response to
471470
$\vec q_2$
472471
- to represent the leader's problem recursively by artfully choosing
473-
the state variables confronting and the control variables available
472+
the leader's state variables and the control variables available
474473
to the leader
475474

476475
**Subproblem 1**
@@ -1012,8 +1011,9 @@ plt.show()
10121011

10131012
We'll compute the present value earned by the Stackelberg leader.
10141013

1015-
We'll compute it two ways (they give identical answers -- just a check
1016-
on coding and thinking)
1014+
We'll compute it two ways and get the same answer.
1015+
1016+
In addition to being a useful check on the accuracy of our coding, computing things in these two ways helps us think about the structure of the problem.
10171017

10181018
```{code-cell} python3
10191019
v_leader_forward = np.sum(βs * π_leader)

0 commit comments

Comments
 (0)