The roots of decision theory and decision making under uncertainty can be traced to Blaise Pascal, if not earlier. Modern studies in the domain date to the 1920s and 1930s, generally in the context of economics or the nascent field of operations research. The last several decades have seen an increasing formalization of problems and methods in the area, and the work and literature in the area can be categorized as falling into two related sub-areas: human decision making and computational approaches to decision making. This book falls into the second category (computational models and methods), and distills the results of many researchers’ work over several decades into a single, accessible textbook. The title of the book is a little too general; the book touches on the equally important and complex subject of human decision-making only in passing, even though a single chapter on systems that involve humans is included.

Two main parts, on theory and applications, constitute almost the whole of this book. Kochenderfer is the primary author, having contributed the bulk of the first part (theory), which describes the formal foundations and the theory of various modeling and solution approaches, and the chapter on collision avoidance applications in the applications section. This section starts with the basics of probability theory, Bayes’ rule, and utility theory, and then continues to more advanced subjects such as Markov decision processes, Bayesian networks, dynamic programming for approximation, static and iterated games, reinforcement learning, and other approaches too numerous to list individually. The final chapter in the theory part, on cooperative decision making (contributed by Amato), addresses multi-agent decision making modeled in terms of Markov decision processes. There follows a part on applications, the bulk of which consists of four chapters on computational decision making under uncertainty in diverse areas, contributed by experts and researchers from academia, applied research, and commercial applications. The application areas are video search, speech recognition, airborne collision avoidance, and multi-agent planning and coordination. The applications described are advanced applied research, generally recently fielded or expected to be fielded in the near future, or new generations of existing systems (the last in particular for aircraft collision avoidance). A fifth chapter discusses considerations for systems integrating human and computational decision making, an important topic that should not be overlooked by readers even if their focus is on computational approaches.

The book is suitable for senior-level undergraduates, a first graduate course, or a two-course sequence for computer science or engineering students. Supplementation with selections from more advanced texts or from the research literature would be appropriate for graduate courses, particularly in computer science. Prior college-level coursework in data structures and algorithms, and some college-level mathematics courses would help as they would make the student’s progress easier, as would exposure to probability and machine learning concepts at least as part of a first or second course in artificial intelligence; however, for those without such a background, some necessarily abbreviated discussion of the basic concepts is included.

The clarity of exposition is extremely good. This is combined with generally sufficient depth in terms of formal models, mathematical sophistication, and algorithmic detail. The result is a pleasant surprise: a text that is highly readable and manages to hold the reader’s interest while still (mostly) retaining the detail and sophistication necessary to satisfy the educational needs of advanced students in engineering and computer science (or a non-student with the appropriate prerequisite knowledge). Advanced readers and practitioners intending implementation of the ideas will desire more than can be provided within the available space and educational constraints, and will need resources that provide advanced details; to this end, pointers for further reading on each topic are included in the theory chapters, and references are provided for each chapter in both the theory and applications parts. Most of the references cited are recent works, and many are graduate or undergraduate textbooks, rather than the classic research papers or books of the field (common practice for a textbook, though not entirely satisfactory to the academic reader). Exercises are not included, which is somewhat surprising, given the nature of the book and its intended audience.

The primary author and other contributors have done a good job of extracting, summarizing, and generally organizing the existing body of knowledge, research literature, and early works, as well as current and new research applications, into an orderly and informative treatment of computational decision making under uncertainty. I consider this book to be a valuable contribution to the already large collection of texts and research literature on the subject.

More reviews about this item: Amazon