Summary of "Algorithms to Live By"

3 min read

Core Idea

  • Computational thinking solves recurring human problems: apply algorithmic patterns to dating, career, productivity, and relationships
  • Know when to stop optimizing: perfect solutions rarely arrive; "good enough fast" beats perfect-but-never

Decision-Making Under Uncertainty

Optimal Stopping

  • 37% Rule: explore 37% of your options without committing, then accept the first one better than everything you've seen
  • Combat natural impatience—you'll stop too early otherwise
  • Apply to: apartment hunting, job interviews, dating

Explore vs. Exploit

  • Young? Explore new careers, hobbies, people; unknown options deserve credit
  • Older? Exploit proven favorites; your time horizon shrinks, so experimentation costs more
  • Shift strategy gradually as you age, not abruptly

Prediction & Priors

  • Copernican Principle: expect things to last as long as they already have (Berlin Wall lasted 8 years, expect 8 more)
  • Good predictions require good priors; without relevant experience, predictions fail
  • With small data, use your existing knowledge, not just raw numbers

Work & Organization

Scheduling & Priorities

  • Match metric to goal: Shortest Processing Time clears your to-do list fastest; Earliest Due Date minimizes missed deadlines
  • Weighted priority: divide task importance by duration; tackle high importance-per-unit-time first
  • Batch similar tasks (email blocks, bill-paying day) to minimize context switching

Caching & Storage

  • LRU (Least Recently Used): keep frequently accessed items physically close to where you use them
  • Multi-level organization works: closet, basement, storage unit by access frequency
  • Geography matters—store exercise gear by the front door, vacuum near the stairs

Sorting

  • Sort only if you'll search repeatedly; unsorted is optimal for one-time lookups
  • Bucket Sort: rough-sort by major categories first, fine-sort later (saves effort)

Complex Problems

Relax, Don't Perfectionism

  • When optimization is intractable, solve an easier version first (remove constraints, allow approximations)
  • A 90% solution in 1% of the time beats perfection that never arrives
  • Add roughness to long-term plans; detailed planning fails under high uncertainty

Randomness as Strategy

  • Randomized algorithms solve hard problems faster than deterministic ones
  • Simulated Annealing: start hot/random, cool gradually toward the solution (escape local maxima)
  • Add controlled randomness to escape ruts and discover creative solutions

Relationships & Communication

Flow Control (AIMD)

  • Increase gradually ("a little more, a little more") but cut sharply when you hit limits ("too much")
  • Apply to career progression, projects, relationships: push until failure, reset to half-effort, rebuild
  • Prevents burnout and manages others' expectations

Active Listening

  • Provide constant small acknowledgments ("yeah," "uh-huh") to keep speakers engaged
  • Your feedback literally shapes what they say; distracted listeners destroy narratives

Exponential Backoff

  • When something fails, wait exponentially longer before retrying (1 sec, 2 sec, 4 sec)
  • Offers "finite patience with infinite mercy"—never permanently give up on people or problems

Game Design & Trust

Change the Game, Not Just Strategy

  • Rational individual choices often produce bad group outcomes (prisoner's dilemma, tragedy of commons)
  • Add consequences to bad behavior (make contracts binding, enforcement visible) to shift equilibrium toward cooperation
  • Don't rely on willpower alone

Design for Honesty

  • Structure systems where lying doesn't help (truthful bids, transparent incentives)
  • Eliminates recursive overthinking ("what do they think I think?")

Computational Kindness

  • Give concrete options ("Tuesday 2pm or Thursday 3pm") not open-ended choices
  • State your preferences explicitly; don't ask "what do you want?"—shift burden from group to you

Action Plan

  1. This week: Apply 37% Rule to one upcoming decision (apartment, hire, commitment)
  2. This month: Implement one scheduling/priority change (weighted priority formula or task batching)
  3. Ongoing: Shift explore/exploit balance based on your life stage; audit what you're optimizing for
  4. Relationships: Add one backchannel (active listening) or game-rule change (explicit preferences) to improve communication
  5. Long-term: Accept "good enough" solutions on 50% of decisions; stop perfecting things that don't recur
Copyright 2025, Ran DingPrivacyTerms
Summary of "Algorithms to Live By"