Algorithms to Live By- The Computer Science of Human Decisions
- A must read for computer science graduates.
- Not an easy read. But definitely worth to read for multiple times.
-
Lots of knowledge and insights compiled in an applicable manner.
- Interesting principles/concepts to take away:
- Optimal Stopping: 37% rule of “optimal stopping” (when to stop looking and just commit);
- Explore/Exploit: The Latest vs. the Greatest (how to perform AB test: Explore/Exploit is better than random test; chance of finding a new gem vs. certainty of enjoying a known)
- Sorting: Making Order (last recently used-LRU sorting as an efficient strategy for searching; soccer tournament as robust sorting)
- Caching: Forget About It (layered caches as metaphor for human memory, like “cache miss”)
- Scheduling: First Things First
- Bayes’s Rule: Predicting the Future by considering priors (p. 128)
- Overfitting: When to Think Less (when interpreting data: prefer simple accuracy to complex precision)
- Relaxation: Let It Slide (constraint relaxation as a technique)
- Randomness: When to Leave It to Chance (cases of the importance and usage of sampling)
- Networking: How We Connect (buffer-bloat: when backlog bad, best to reject all incoming requests until it clears)
- Game Theory: The Minds of Others (e.g., exponential back-off, double your wait time before trying again); Computational Kindness p. 256 (by reducing the options on the table as a good strategy to help people communicate and collaborate)