6 Dynamic programming: Richard Bellman and recursive optimization
This chapter covers
- Richard Bellman’s Dynamic Programming (1957), which introduced and defined multi-stage decision-making
- How dynamic programming (DP) decomposes complex problems into smaller, tractable subproblems
- Why overlapping subproblems and optimal substructure make DP possible
- How recursive optimization guarantees globally optimal solutions
- How the same recurrence relation extends from classic problems to real-world sequential decisions under uncertainty
The preceding chapters traced a gradual progression from inference to action. Thomas Bayes showed how beliefs can be updated as new evidence becomes available, while Ronald Fisher developed methods for extracting information from data through estimation and likelihood. Jerzy Neyman and Egon Pearson then transformed statistical evidence into principled decisions through hypothesis testing, providing a rigorous framework for choosing among competing courses of action. Claude Shannon extended this progression by redefining information itself, showing how messages could be quantified, transmitted efficiently and reliably, and acted upon despite limited capacity, noise, and uncertainty. Richard Bellman addressed the next logical question: Given a sequence of interconnected decisions, how can the entire sequence be optimized rather than each decision considered in isolation?