⏱️ The book in three sentences
For decades, computer scientists have grappled with the complexities of life, trying to determine which techniques produce the highest rates of success for any given problem.
Algorithms can help simplify life and help us make better, probability-based decisions.
Some problems simply cannot be solved by any algorithm.
🪞 Reflections
Life is complex; making decisions is not easy. Every consideration we make could involve an infinite selection of variables. Each variable opens up the potential for infinitely more to further meditate on. Once the inescapable constraint of time is included, the complexity of any given problem becomes almost inconquerable. This is the job we give to computer scientists. Tasked with programming decision-making machines, the question becomes: how can we maximally simplify life, while reaching the best outcome most of the time?
It's taken decades of thought and labour, but computer science has given us answers to many of life's previously impossible questions to answer. How long should a list of pros. and cons. be? How long should we search for a new home before making a decision? Should we try new flavours of ice cream, or stick with chocolate?
You might be surprised to hear these are the types of problems computer scientists have had to teach computers how to solve. Now, in turn, through those algorithms, computers have some things to each us as well. This is what Algorithms to Live By is about. Each chapter explores the history and utility of the world's most commonly used algorithms. From sorting files to predicting the future, the book explains each algorithm's impact on life, how the information relates to our own lives, and how many of the algorithms explain why the world works as it does.
In chapter 2, for example, the authors explain the infamous "Explore/Exploit" algorithm. How often should we try new things, and how often should we pick what we already know we like? If we try new things, we could discover a new favourite, but we also may not like it, missing out on the pleasures of what we could have had. The answer, of course, depends on how much time we have left.
If you're young, with plenty of time to enjoy your favourites and plenty of time to enjoy new ones, you should try new things. If you're old, stick with what you like. It makes sense and may even seem obvious. But what we gain from the perspective of computer science is that it is mathematically optimal and widely applicable. For example, it's not unreasonable or wrong for people to trim back their social circles as they age because their time is worth more. That time should be spent with who you most value.
This kind of insight is both the book's biggest strength and biggest weakness. It's fascinating to learn how mother nature has already solved computer science's biggest problems. As with the example of older people above, nature found the answer long before we did. The issue, however, is that the book frequently fails to deliver on its promise to show us how to use these algorithms in our own lives. Instead of getting specific with recommendations, the book either gets specific on the mathematical underpinnings of the algorithm or just moves on entirely.
Mathematics is notoriously difficult to verbalize effectively. It's easier to learn by viewing a formula than reading about it. It's easy to get lost, and that's exactly what happens in Algorithms to Live By. I imagine most of the book's readers don't care about how the math works, they just want to know how to use it. It results in a feeling of wasted time and disinterest when those pages could have been used to cover the application of the algorithm instead. When the mathematics are left out, the book just moves on to the next topic. It leaves the conversation cut short and screaming for an effective conclusion.
Algorithms to Live By is a book of half-fulfilled potential. In many parts, the book is captivating. It's fun to learn the history of algorithms that changed the world. But the reader's excitement is almost always cut short by a lacking conclusion. We just don't get information that is particularly useful for our own lives. If you're interested in basic computer science, how computer scientists have solved many of life's problems, and how mother nature outperforms them all, give the book a read. If you're looking for insights on optimizing your day-to-day life, your time may be better spent elsewhere.
💥 Personal impact
Algorithms to Live By's biggest weakness is its frequent failure to advance the discussion into applicable takeaways for life. It's therefore unsurprising that it hasn't had as much of an effect on my life as I had hoped. It has given me a better of understand of why things are the way they are but hasn't helped me to actually improve my life by any measurable amount.
With that being said, while the book failed to provide me with anything actionable, the chapter on sorting has calmed much of my anxiety towards the disorganized state of my email inbox. I don't know about you, but I have never been capable of effectively sorting and categorizing emails as they arrive. The topics are often too widespread and the sheer volume accumulates into a considerable time cost. Yet, despite this lack of organization, I've survived. If I need something, I just use the ever-improving search function of Gmail, and in a few seconds, I have what I need. What I failed to recognize until this book, is that it's actually the optimal strategy, and computers use it too.
If categorizing each email takes 10 seconds, and you receive 10 emails a day, the time can add up. Even worse, if your method of finding necessary information involves going through labels, folders and dates, the time cost grows exponentially as you accumulate more emails. If you have a highly effective search function, however, it's much more efficient to leave your inbox an unorganized mess and just search for what you need when the situation calls for it. Like most of the algorithms in the book, once you hear it, it seems obvious. But, my newly abandoned desire to organize any emails has lifted a weight off my mind and I use the guiding light of the search function with total confidence.
🗣 Top three quotes
Put broadly, the object of study in mathematics is truth; the object of study in computer science is complexity.
Sometimes "good enough" really is good enough.
In other words, most scheduling problems admit no ready solution. If trying to perfectly manage your calendar feels overwhelming, maybe that's because it actually is.