algorithmsbooks/decisionmaking

Algorithms for Decision Making textbook

What it solves

This project is a full-length textbook that teaches how to make good decisions when the outcome is uncertain. It lays out the mathematical problems behind decision making — like choosing actions to maximise reward or minimise risk — and then walks through the algorithms that solve those problems. It is useful for students, researchers, and practitioners who need a structured, rigorous introduction to this area.

How it works

The book is organised into chapters and parts, each covering a family of decision problems (e.g., probabilistic models, planning, reinforcement learning, game theory). For every topic it states the underlying mathematical formulation, then presents the algorithm in pseudo-code or implementation, and often includes worked examples. The repository also tracks corrections to the printed edition via an errata list, with fixes for equations, figures, and code. Readers can file issues on GitHub to report errors, suggest improvements, or ask for missing topics.

Who it’s for

The intended audience is anyone with a solid background in mathematics and programming who wants to learn decision making under uncertainty — typical readers are advanced undergraduates, graduate students, or professionals in fields like AI, robotics, operations research, and economics. The README explicitly welcomes feedback from all readers, including suggestions for examples and exercises.

Highlights

  • Very broad coverage: from basic probability and Bayesian networks to Markov decision processes, partially observable MDPs, and game theory.
  • Every algorithm is paired with its mathematical derivation and a clear pseudo-code or code snippet.
  • The authors actively maintain an errata list that corrects dozens of typos and technical details across the print run.
  • The book is openly available online at algorithmsbook.com, with a public issue tracker for community input.

Related

  • Project
  • Project
  • Project
  • Project