Klaus Breyer Tech Leadership, Product Delivery & Startup Strategy.

Algorithms to Live By, Christian & Griffiths, 2017

“Algorithms to Live By” explores the intersection of computer science and human decision-making, offering practical insights from algorithms that can enhance everyday life. The book covers various algorithms and their application to real-world problems, making complex concepts accessible and relatable.

It is one of those books that I like to bring on vacation. Although it is not directly related to my daily business, it is engaging and nerdish.

(A computer science degree is helpful but not mandatory.)

Key Concepts and Takeaways:

  1. Optimal Stopping: The optimal stopping theory suggests that when making a decision, you should evaluate 37% of the options before making a choice. This approach maximizes the likelihood of selecting the best option without unnecessary delay.
  2. Explore vs. Exploit: Balancing between exploring new opportunities and exploiting known resources is crucial. For example, trying new restaurants when you move to a new city (explore) versus sticking with familiar favorites when you’re about to leave (exploit). The “Multi-Armed Bandit” problem illustrates this balance, where exploration holds intrinsic value.
  3. Sorting and Searching: Efficiently organizing information is less about meticulous order and more about quick access. Embrace some level of messiness, as seen in methods like LRU (Least Recently Used) caching and the effectiveness of “self-organized mess.”
  4. Scheduling and Task Management: Prioritize tasks based on deadlines using strategies like sorting by the earliest due date or employing Moore’s Algorithm, which suggests discarding the largest tasks if not everything can be accomplished.
  5. Overfitting and Simplicity: Avoid overfitting in decision-making by not overcomplicating models with too many parameters. Simple heuristics and the principle of Occam’s Razor—preferring the simplest solution—often yield more accurate predictions and better decisions.
  6. Relaxation Techniques: When faced with complex problems, start by solving a simpler version (relaxation) and gradually reintroduce complexities. This method ensures you have a workable solution to build upon.
  7. Randomness and Serendipity: Embrace randomness through techniques like the Monte Carlo method, which relies on repeated random sampling to obtain results. Serendipity, or the occurrence of unexpected discoveries, is valuable in both science and everyday life.
  8. Game Theory and Mechanism Design: Understanding game theory helps in strategic decision-making and optimizing interactions with others. Mechanism design, a field within game theory, focuses on setting up rules that lead to desired outcomes.
  9. Philosophical Insights: The book delves into philosophical reflections, such as the importance of timing (e.g., “Now is better than never, although never is often better than right now”) and societal observations on connectivity and stress.