
Algorithms to Live By
Brian Christian
Discover how the same mathematical principles that power computers can be used to solve the messy, everyday dilemmas of human life. By mastering concepts like optimal stopping and game theory, you will learn to navigate uncertainty with confidence and make more efficient decisions in everything from dating to time management.
Optimal Stopping: Knowing When to Quit
Explores the mathematical solution for when to stop searching and start committing, whether in dating, apartment hunting, or hiring.
The 37 Percent Rule
Real World Stopping
Explore vs. Exploit: The Balance of Novelty
Analyzes the tension between trying new things and sticking with what works, applicable to restaurants and life stages.
The Multi-Armed Bandit
Strategies for Discovery
Sorting: The Burden of Order
Examines why keeping things perfectly organized might be a waste of time compared to the cost of searching.
The Agony of Comparison
Sort vs. Search
Caching: Design for Forgetting
How computers and humans manage memory by prioritizing what was used most recently.
The Hierarchy of Memory
Human Forgetting
Scheduling: The Chaos of To-Do Lists
Applying CPU scheduling algorithms to human productivity and time management.
Prioritizing the Flow
Thrashing and Interrupts
Bayes's Rule: Predicting the Future
Using prior knowledge to make better guesses about everything from movie runtimes to life expectancy.
The Power of Priors
Small Data Wisdom
Overfitting: When Less is More
Why the most detailed plan is often the most likely to fail in the real world.
Complexity and Noise
Regularization in Life
Relaxation: Solving the Unsolvable
Techniques for finding 'good enough' solutions to problems that are mathematically impossible to perfect.
Constraint Satisfaction
Accepting Imperfection
Randomness: The Power of the Roll
How introducing a bit of chance can break deadlocks and find solutions that logic cannot reach.
Breaking the Tie
Simulated Annealing
Networking: The Etiquette of Congestion
Learning from the internet's protocols to manage communication and social overload.
The Handshake
Bufferbloat
Game Theory: The Rules of the Game
Analyzing how we interact with others and how to design systems that encourage cooperation.
Nash Equilibrium
Mechanism Design
Computational Kindness
Start reading with AI
Interactive Socratic dialogue, level by level