A broad introduction to algorithms for decision making under uncertainty, introducing the underlying mathematical problem formulations and the algorithms for solving them.
Automated decision-making systems or decision-support systems—used in applications that range from aircraft collision avoidance to breast cancer screening—must be designed to account for various sources of uncertainty while carefully balancing multiple objectives. This textbook provides a broad introduction to algorithms for decision making under uncertainty, covering the underlying mathematical problem formulations and the algorithms for solving them.
The book first addresses the problem of reasoning about uncertainty and objectives in simple decisions at a single point in time, and then turns to sequential decision problems in stochastic environments where the outcomes of our actions are uncertain. It goes on to address model uncertainty, when we do not start with a known model and must learn how to act through interaction with the environment; state uncertainty, in which we do not know the current state of the environment due to imperfect perceptual information; and decision contexts involving multiple agents. The book focuses primarily on planning and reinforcement learning, although some of the techniques presented draw on elements of supervised learning and optimization. Algorithms are implemented in the Julia programming language. Figures, examples, and exercises convey the intuition behind the various approaches presented.
“Its remarkable clarity, range, and depth make this a magnificent book both to learn from and to teach. It opens the door to so many modern techniques while firmly grounding them in the statistical and mathematical theory given us by the founders. Truly exceptional.”
Thomas J. Sargent, Department of Economics, New York University; Senior Fellow, Hoover Institution, Stanford University
“I love the topics covered—a great mix of classical approaches and more recent trends. It will be my main textbook for teaching reinforcement learning.”
Michael L. Littman, Professor of Computer Science, Brown University