Back
Brian Christian, Tom Griffiths: Algorithms to Live By (Hardcover, 2016, Allen Lane) 4 stars

Review of 'Algorithms to Live By' on 'Goodreads'

5 stars

This book is more than I hoped it would be. I was expecting a bunch of clinical algorithm descriptions and proofs, with accompanying discussions about how each algorithm might apply to "the real world". That would have been interesting enough, and the early sections did have that sort of feel with quotes like:

If you want the best odds of getting the best apartment, spend 37% of your apartment hunt (eleven days, if you’ve given yourself a month for the search) noncommittally exploring options. Leave the checkbook at home; you’re just calibrating. But after that point, be prepared to immediately commit—deposit and all—to the very first place you see that beats whatever you’ve already seen. This is not merely an intuitively satisfying compromise between looking and leaping. It is the provably optimal solution.


That's interesting, and possibly practical. But a bit later we get this:

And it’s actually rational to emphasize exploration—the new rather than the best, the exciting rather than the safe, the random rather than the considered—for many of those choices, particularly earlier in life. What we take to be the caprice of children may be wiser than we know.


This is not just a clinical discussion of algorithms anymore. We're not talking about pure optimization of a problem in isolation. We're thinking through how goals, motivations, constraints and context affect the problem and solutions:

Sorting something that you will never search is a complete waste; searching something you never sorted is merely inefficient.


The discussions of overfitting, constraint relaxation and the value of randomness are probably my favorite parts of this book. I love the framing of overfitting and how it applies to overthinking, premature optimization, etc:

Fundamentally, overfitting is a kind of idolatry of data, a consequence of focusing on what we’ve been able to measure rather than what matters.


In complex cases, the best approach is often to think less and embrace randomness:

Up against such hard cases, effective algorithms make assumptions, show a bias toward simpler solutions, trade off the costs of error against the costs of delay, and take chances. These aren’t the concessions we make when we can’t be rational. They’re what being rational means.


I enjoyed this book cover to cover. It had me at an "oh, neat" level early on, and an "I need to be alone for a week" level later. There's a lot to chew on, and plenty of words to live by.

The road to hell is paved with intractable recursions, bad equilibria, and information cascades. Seek out games where honesty is the dominant strategy. Then just be yourself.