Thursday, October 30, 2014

Matrix chain multiplication

Following on from supervisions this week, I was wondering about Examples Sheet 1, #1 and the running time of dynamic programming. I found this wiki article about Matrix chain multiplication
https://en.wikipedia.org/wiki/Matrix_chain_multiplication

The article explains how a naive application of dynamic programming results in a run-time that is exponential in the number of matrices, $n$, which is very slow and impractical. That is what I asked about in the examples sheet. However, by remembering partial results, so that the same thing is not computed more than once, the run-time can be reduced to $O(n^3)$. By reducing the problem to one of polynomial triangulation the running time can be made $O(n\log n)$.

Lecture 7

The Gittins index theorem is one of the most beautiful results in the field of Markov decision processes. Its discovery and proof in 1974 is due to John Gittins. The proof I have given in today's lecture is very different to Gittins's original proof. It the simplest way to prove the theorem and was first presented in On the Gittins index for multiarmed banditsAnn. Appl. Prob. 2, 1024-33, 1992. Proof is pages 1026-27.

For today's lecture I presented some slides on the Gittins Index. You may enjoy looking through the entire talk. It will look better if you download the .pdf file to your computer and read the presentation with a .pdf viewer such as acrobat, rather than try to read within your browser.

The proof of the Gittins index theorem is entertaining, but non-examinable. I would expect you only to know what we mean by a SFABP, the statement of the Gittins index theorem, and how to calculate the indices in simple examples. I thought you would enjoy seeing this beautiful result and how it can be proved. Lectures 1-6 have covered everything you need to know in order to understand the Gittins index. Today's lecture has also been an opportunity to revise ideas that we already met in problems on job scheduling and pharmaceutical trials. 

The prospecting problem in 6.5 and Weiztman's Pandora's boxes problem in 7.5 are really the same problem, and a simple example to which the Gittins index theorem provides the answer.

Tuesday, October 28, 2014

Lecture 6

Today we looked at some stopping problems. Many problems are like this. They are present in financial mathematics in the theory of option pricing (Black-Scholes). The holder of an American option is allowed to exercise the right to buy (or sell) the underlying asset at a predetermined price at any time before or at the expiry date. The valuation of American options is essentially an optimal stopping problem.

You can read more about Bruss's odds algorithm in his paper: "Sum the odds to one and stopAnnals of Probability, Vol. 28, 1384–1391, (2000). I showed you  how to use this to address the Secretary Problem. A very interesting related problem is the "last arrivals problem". Consider a shopkeeper who would like to go home early just after he has served the last potential customer of the day.

I will say more about the mine prospecting problem of Section 6.5 next time.

Let me finish with some hints about questions on Examples Sheets 1 and 2. Question 6 on Sheet 1 can be solved by realizing that there are only two stationary Markov policies. You simple need to decide which is best. Question 7 is a simple stopping problem that can be solved using a OSLA rule. Question 8 is tricky. You should use Theorem 4.2. 

Question 9 on Sheet 1 is important because it should convince you that it is possible to solve stochastic dynamic programming equations using linear programming (at least if both state space and action space are finite.)  It there are $n$ states and $m$ actions (controls) available in each state then we will have an LP in $n$ variables, with $nm$ linear inequality constraints. 

When on sheet 2 you do Question 1 you might think about using Bruss's Odds Algorithm. Although you cannot apply the algorithm directly, you should be able to solve this problem using the same scheme of proof as we used to prove the optimality of the odds algorithm in this lecture.

Thursday, October 23, 2014

Lecture 5

I started today by describing a famous problem about searching for a randomly moving hidden object. This is an example of a partially observed Markov decision process. This problem has not yet been solved in full generality. However, the problem has been solved in continuous time. See R. R. Weber. Optimal search for a randomly moving object. J. Appl. Prob. 23:708-717, 1986. The reason the problem is easier in continuous time is that the state $x_1$ (the probability that the object is in location 1) changes continuously, rather than in jumps.

Let me emphasize that in Lecture 4, we used $F_s(x)$ to mean the value function of a MDP over $s$ steps, with $F_0(x)=0$. In the N case of $c(x,u)\geq 0$, $F_s(x)$ is clearly nondecreasing in $s$. By contrast, in this lecture, $F_s(x)$ was used to mean the minimum cost in a stopping problem in which we must stop within $s$ steps, and $F_0(x)=k(x)$. $F_s(x)$ is now clearly nonincreasing in $s$. That is because as $s$ increases we are being given more flexibility as to when we must stop. In both cases $F_s(x)$ satisfies an optimality equation and $F_s(x)\to$ a limit, say $F_\infty(x)$, but from a different direction.

Having completed these lectures you know all you need to do all questions on Examples Sheet 1.

Questions 7 and 8 use the idea of a one-step look-ahead (OSLA) rule that we have met in today's lecture. Question 8 is subtle, because although it is easy to guess the answer by thinking about a OSLA rule, how do you prove this answer is correct? Hint: use Theorem 4.2. Be careful when writing down the dynamic programming equation for Question 8 that you put the expected value (or integral and density function for an exponential random variable) in the right place relative to where you place your max{ , }).

Questions 9-11 are deeper, but that is mostly because of their lengthy descriptions. The solutions are not actually hard. In Q9, you'll want to use the idea of substituting an equation into itself. One of the reasons I include these questions is so you can see some typical research level problem in this field. I have written a research paper about Question 11, ABCs of the bomber problem and its relatives Annals of Operations Research, 2011. The fundamental question about the optimal policy in this model is, amazingly, still unsolved.

Tuesday, October 21, 2014

Lecture 4

In Section 4.3 (optimal gambling) we saw that timid play is optimal in the gambling problem when the game is favourable to the gambler ($p \geq 0.5$).

This should remind you of the question on the IB Markov Chains examples sheet 1 that begins "A gambler has £2 and needs to increase it to £10 in a hurry. The gambler decides to use a bold strategy in which he stakes all his money if he has £5 or less, and otherwise stakes just enough to increase his capital, if he wins, to £10."

In the case $p \leq 0.5$ bold play maximizes the probability that the gambler reaches N pounds. However, bold play may not be uniquely optimal. An example that exhibits this non-uniqueness of optimal strategy is contained in question 13 of the IB Markov Chains example sheet 1 (2012 version). 

When it was first discovered that bold play is not uniquely optimal, it was contrary to the accepted wisdom at that time (1955). It impressed Leonard Savage when it was presented to him by a Ph.D. student named Lester Dubins They developed a collaboration culminating in the famous monograph How to Gamble if You Must (Inequalities for Stochastic Processes). See the fourth paragraph of this obituary of Lester Dubins.

If $p=0.5$ all strategies are optimal. How could we prove that? Easy. Simply show that given any policy $\pi$ the value function is $F(\pi,i)=i/N$ and that this satisfies the dynamic programming equation. Then apply Theorem 4.2. You can read more about these so-called red and black games at the Virtual Laboratories in Probability and Statistics.

In Section 4.5 (pharmaceutical trials) I introduced an important class of very practical problems. One obvious generalization is to a problem with $k$ drugs, each of which has a different unknown probability of success, and about which we will learn as we make trials of the drugs. This is called a multi-armed bandit problem. The names comes from thinking about a gaming machine (or fruit machine), having $k$ arms that you might pull, one at a time. The arms have different unknown probabilities of generating payouts. In today's lecture we considered a special case of the two-armed bandit problem in which one of the arms has a known success probability, p, and the second arm has an unknown success probability, theta. I will say more about these problems in Lecture 7. The table on page 16 was computed by value iteration. The table is from  the book Multi-armed Bandit Allocation Indices.

Thursday, October 16, 2014

Lecture 3

Theorem 3.1 is our first serious theorem. It had an easy but non-trivial proof. It is important because it allows us to know that $F(x)$ satisfies a DP equation (3.7). It holds under the cases of D (discounted), N (negative) or P (positive) programming.

The problem of selling a tulip bulb collection in Section 3.5 is very much like the secretary problem in Section 2.3. The differences are that now (i) we observe values (not just relative ranks), (ii) wish to maximize the expected value of the selected candidate (rather than probability of choosing the best), and (iii) the number of offers is infinite, but with a discount factor $\beta$. We see that one way in which discounting by a factor beta can naturally occur is via a catastrophe, with probability $1-\beta$, bringing the problem to an end.

I asked if you can figure out the answer to the asset selling problem if past offers for the tulip bulb collection remain open (so long as the market has not collapsed). The state $x$ is now the best offer so far received. The DP equation would be
$$
F(x) = \int_0^\infty\max\Bigl[x,y,\beta F(\max\{x,y\})\Bigr] g(y) dy
$$
The validity of this equation is from Theorem 3.1 and that fact that this is a Positive case of dynamic programming.

In the proof of Theorem 3.1 I used that $\lim_{s\to\infty}EF_s(x_1)=E[\lim_{s\to\infty}EF_s(x_1)]$ when $F_s$ is either monotone increasing or decreasing in $s$, as it indeed is in the N and P cases. This is called the Lebesgue monotone convergence theorem. In the D case the interchange of $E$ and $\lim_{s\to\infty}$, it is true because $F_s(x)$ is close to its limit for large $s$, uniformly in $x$.

I remarked today that the D case can be recast as a N or P case. I have place this remark in Section 4.5 of the notes.

Wednesday, October 15, 2014

Notation: less is more

A student has asked, which of these is the correct way to write the DP equation for a deterministic plant equation $x_{t+1}=a(x_t,u_t,t)$.
\begin{align*}
F(x_t,t)& = \inf_{u_t} \Big[c(x_t,u_t) + F(a(x_t,u_t,t),t+1) \Big] \tag{1}\\
F(x,t)& = \inf_{u} \Big[c(x,u) + F(a(x,u,t),t+1) \Big]\tag{2}
\end{align*}
In fact, both are correct, since they express the same thing.

Recall that $F(x,t)$ is defined as $\inf_\pi C_t$, when $C_t$ is the total cost incurred over times $t,t+1,\dotsc,h$, given that we start in state $x$ at time $t$. Thus the two arguments of $F$ are the state and time. So (1) and (2) are saying the same thing. You may find it helpful to write $x_t$ as a reminder that the first argument is the state at time $t$, or you may prefer to just write $x$, since this is simpler. The choice is yours.

When I first encountered this subject the lecturer, Peter Whittle, was in the habit of aggressively omitting subscripts of $t$. I found that sometimes confusing, and I would go through my notes replacing $x$ by $x_t$. But actually, once one understands the meaning of (1) and (2) there is really no need to be confused. We can see (2) as more beautiful, and as an example of the dictum:
Less is more (architect Ludwig Mies van der Rohe speaking of minimalist design)

The typical stochastic DP equation is
\begin{equation}
F(x,t) = \inf_u \Big[ c(x,u,t) + E[F(x_{t+1},t+1) \mid x_t=x, u_t=u] \Big].\tag{3}
\end{equation}
Now it is helpful to show by $E[\ \cdot \ \mid x_t=x, u_t=u]$ that we are taking an expectation that is conditional on certain information, namely that $x_t=x$ and $u_t=u$. Remember that in (3) the random variable is $x_{t+1}$.

Tuesday, October 14, 2014

Lecture 2

The highlight of today's lecture was the Secretary Problem. This is the most famous of all problems in the field of optimal stopping. It is credited to Merrill M. Flood in 1949, who called it the fiancĂ©e problem. It gained wider publicity when it appeared in Martin Gardner's column of Scientific American in 1960. There is an interesting Wikipedia article about it. One of the interesting things said in this article is that in behavioural studies people tend to stop too soon (i.e. marry too soon, make a purchase too soon). See The devil is in the details: Incorrect intuitions in optimal search.

The story about Kepler's search for a wife is taken from the paper, Who Solved the Secretary Problem, by Thomas S. Ferguson. He also discusses the related game of Googol.

A variation of the problem that has never been completely solved is the so-called Robbin's Problem. In this problem we do observe values of candidates, say $X_1,\dotsc, X_h$, and these are assumed to be independent, identically distributed uniform$[0,1]$ random variables. The objective is to maximize the expected rank of the candidate that is selected (best = rank 1, second-best = rank 2, etc). It is known only that, as $h$ goes to infinity, the expected rank that can be achieved under an optimal policy lies between 1.908 and 2.329. This problem is much more difficult that the usual secretary problem because the decision as to whether or not to hire candidate t must depend upon all the values of $X_1,\dotsc, X_t$, not just upon how $X_t$ ranks amongst them.

Following this lecture you can do questions 1–4 and 10 on Example Sheet 1. Question 2 is quite like the secretary problem (and also has a surprising answer). The tricks that have been explained in today's lecture are useful in solving these questions (working in terms of time to go, backwards induction, that a bang-bang control arises when the objective in linear in $u_t$, looking at the cross-over between increasing and decreasing terms within a $\max\{ , \}$, as we did in the secretary problem with $\max\{t/h, F(t)\}$).

A student asked in the lecture in regard to Example 2.3 about the characterization of $a_s$ as the least $x$ such that $F_s(x)-x= -p$. 

Certainly $a_s\geq p$, since $F_s(p)-p> -p$. It might be that $a_s=\infty$ if $F_s(x)-x> -p$ for all $x$. This could happen, for example, if $\epsilon_t=1$ for all $t$. In that case the share price is guaranteed to be increasing and so one would never wish to exercise the option before the first day. An optimal policy is described by $(a_0,a_1,a_2,\dotsc)=(p,\infty,\infty,\dotsc)$. I have made a small change on page 7 of the notes so this case is mentioned.

Thursday, October 9, 2014

What is a state?

From time to time I will add a post to this blog which I hope will add to your appreciation of the course. This post relates to today's lecture, in which we had the idea of a state-structured model. The notion of a state is intuitive, or is it?

"What is a state?"

Warren B. Powell (a professor at Princeton and researcher in optimization) has mused upon this question. You can read his blog about this here: http://www.castlelab.princeton.edu/cso.htm

I think he makes a nice definition of a state, in these words:

A state variable is a minimally dimensioned function of history that is necessary and sufficient to compute the decision function, cost/reward/contribution function, and the transition function.


By "decision function" he means the $F(x,t)$ that I was today calling the "value function". For the other terms he is thinking of $c(x,u,t)$ and $a(x,u,t)$.

He discusses the fact that "state" can be a physical state, an information state, or a belief state.

Please be aware that a state can be a vector of more that one component. For example, consider the uncontrolled autoregressive plant equation,

$x_t = a_1 x_{t-1} + a_2 x_{t-2}$.

Here we would take the state to be $y_t=(x_t,x_{t-1})$, because $y_{t-1}$ is needed to compute $y_t$.

Warren is particularly interested reconciling the many communities of stochastic optimization, amongst which he includes
  • Dynamic programming (including Markov decision processes)
  • Stochastic programming (two-stage, multistage, chance constrained)
  • Stochastic search (including simulation optimization, infinitessimal perturbation analysis, and ranking and selection)
  • Optimal control (primarily engineering, but also economics and finance)
  • Approximate dynamic programming and reinforcement learning
  • ...
The first and fourth of these are the ones which our courses addresses. You may find it interesting to read his essay on what is a state?

Lecture 1

Today we had definitions and notation for state, control, history, value function, etc, and have developed dynamic programming equations for a very general case and a state-structured case,. Please be patient with the notation. It is not as complex as it may first appear. Things like $a(x,u,t)$, $F(x_t,t)$, $u_t$, and $U_t$ will begin to seem like old friends once you have used them a few times.

The terminology "plant equation" for $x_{t+1}=a(x_t,u_t,t)$ derives from the fact that early optimal control theory was developed with applications to industrial processes in mind, especially chemical plants. We also call it the dynamics equation.

From this first lecture you should be taking away the key idea of dynamic programming, and the fact that problems in stages (with separable cost and a finite time horizon) can often be solved by working backwards from the final stage. The minimum length path (stage coach) problem is trivial, but should have made these ideas very intuitive. You might like to read the Wikipedia entry for Richard Bellman, who is credited with the invention of dynamic programming in 1953.

The course page gives some hyperlinks to the recommended booklist. In particular, Demitri Bertsekas has a web page for his book and slides from his lectures. You might find these interesting to browse through at some later stage.

I mentioned that I had once appeared on ITV's Who Wants to be a Millionaire (October 2003) and that playing it has aspects of dynamic programming. There is a nice Part II exam question on this, including the model solution. You might like to look at this now – simply to see the sort of mathematical problem that this course will enable you to solve. You can also view the overhead slides for a little presentation called A Mathematician Plays "Who Wants to Be a Millionaire?" which I once gave to a Royal Institution workshop for school children. You might like to see how I made best use of my "Ask the audience" lifeline by employing an idea from statistics. Basically, I asked members of the audience not to vote if they felt at all unsure of the right answer.

Examples Sheet 1. Today's lecture has provided all you need to know to do question #1 on Examples Sheet 1. In doing this rather strange question you should grasp the idea that dynamic programming applies to problems that in which cost is incurred in stages. In many problems the stages are time points ($t=0,1,\dotsc$), but in others the stages can be different.

The remaining questions are on Markov decision problems, which we will be addressing in Lectures 2-6.

MathJax

In these blog posts I use MathJax, which claims to achieve "Beautiful math in all browsers". By using MathJax I can write normal LaTeX code within a post.

If MathJax does not look right, then you might need to refresh the page. Also, Javascript must be turned on. If you try to view using a browser that does not have Javascript then you will see the original LaTeX.

Wednesday, October 1, 2014

Course starts October 9, 2014

This is the blog page for the course of 16 lectures starting 9 October 2014 (Tue/Thu @ 12 in CMS meeting room 4). At the right is a link to my draft notes for all 16 lectures. 

My aim in these notes is to tread a Goldilocks path, by being neither too brief nor too verbose. I try to make each lecture a sort of self-contained seminar, with 4 pages of notes. I will slightly amend and change these notes as the course proceeds. In particular, I may be doing some things differently in the later lectures. Some students like to print notes in advance of the lecture and then write things in the margins when hearing me talk about things that are not in not in the notes. 

 I will use this space to talk about some extra things. Sometimes leaving a lecture I think, "I wish I had said ...". This blog gives me a place to say it. Or I can use this space to talk about a question that a student has asked. Or I might comment on an examples sheet question. There is a space after each post for you to write comments or ask questions using the IntenseDebate commenting system. 

 You can subscribe to be sent an email notification of new posts. 

 Some of you may be interested to know that A Careers Open Day is being held on by the Operational Research Society on Wednesday 19 November in Birmingham, www.theorsociety.com/careersopenday.