Algorithms to Live By

Monday August 31, 2020

Saying it’s been a while since I’ve posted on this blog is an understatement, but better late than never right? Recently, I’ve been reading the book Algorithms to Live By by Brian Christian and Tom Griffiths with my good friend, Ash Nagarajan. We’ve been doing an informal sort of book club where each week we’ll read a few chapter and discuss them. I was really intrigued by this book because it essentially takes well-known computer science principles and discusses what we can learn in our every day lives. And partly to share with you and partly so I myself don’t forget these really unique lessons, I wanted to make a blog post about it–a TL;DR of the book, if you will.

If you plan on reading the book, STOP HERE! The rest of this post has many spoilers and I want you to enjoy the book if you’re going to read it. Otherwise, by all means, keep reading.

I’ll try to keep it short, but I’m going to list my main takeaways from each chapter, and at the end do an overall reflection of my thoughts. Hope you enjoy!

Chapter 1: Optimal Stopping

Chapter 2: Explore/Exploit

Chapter 3: Sorting

Chapter 4: Caching

Chapter 5: Scheduling

Chapter 6: Bayes’ Rule

Chapter 7: Overfitting

Chapter 8: Relaxation

Chapter 9: Randomness

Chapter 10: Networking

Chapter 11: Game Theory

Conclusion: Computational Kindness

Overall Thoughts

I really liked how the authors took computer science algorithms, something that is notoriously logic based and applied it into the more flexible realm of our daily lives. To me, it made these big scary algorithms seem a lot more familiar because we can and do utilize very similar concepts in our own lives, whether we do it consciously or not. However, I think the authors don’t really warn about what would happen if people solely guided their lives by these principles and how that could lead people to lose the beauty of the unexpected in life.

As an example, the chapter about caching suggests that libraries should be “turned inside out” because the books that are last recently used are most likely going to be checked out the soonest, thus it’s more efficient to put them in the front of the library as opposed to back to the shelves. While from a metric of efficiency, this may be accurate, organizing a library this way loses the likelihood of stumbling across a wonderful but less popular book; it increases everyone’s exploitation and decreases the exploration (referring back to a concept from an earlier chapter).

This idea kind of reminds me of ads, how the things that the providers think we would like always appear at the front, reinforcing the bubble of comfort that we already live in. Or how your ‘Discover Weekly’ playlists on Spotify never really seem to be that different from what you already listen to.

Still, I really loved the way the authors explained each algorithm in a friendly and inviting way and connected it to real life situations and examples. 10/10 recommend!

Best Quotes