Sunday, June 21, 2020

Thoughts on Christian's & Griffiths' Algorithms to Live By: Great Intuition for Important Concepts

I read with great interest Brian Christian and Tom Griffiths' Algorithms To Live By. The book does a fantastic job of connecting abstruse computer algorithms to real-life situations and intuitions. I couldn't stop jotting down various tidbits that I wanted to remember; I advise people to read it!

The book begins with a discussion of the stopping problem. It relates this to familiar situations in life, such as when people need to decide on a partner, rent a home, or otherwise gather information to make a decision. Then, the book focuses on sorting, connecting this to how people arrange books on a shelf, and also to how teams sort themselves in tournaments. The book also highlights how certain sorting algorithms are more robust to noise than others (eg bubble vs. merge sort).

The book discusses ways of storing information, providing useful hints on how to organize one's closet based on the LRU cache. The discussion of Bayesian mathematics is excellent. It explains how one uses different priors in common-sense reasoning; for instance, movie revenues follow a scale-free prior, whereas human age is centered on a mean, using a Gaussian prior.

The book also talks about various randomized algorithms, such as Monte Carlo and simulated annealing, giving a sense of how sampling randomly allows one to tackle problems that could not be addressed otherwise. Other techniques, such as constraint relaxation, also enable one to deal with intractable problems and start to get at solutions.

The book ends with chapters on networking and game theory. The discussion on networking highlights the importance of buffers and how our inundation of messages in the modern world reflects that we can essentially keep everything in a buffer (i.e. no tail drop). One prominent omission for me was that there was no discussion of network science, the analysis of connectivity patterns in large networks (e.g. hubs and bottlenecks). The section on game theory relates Alan Turing's famous discussion of the halting problem to the intractable regress that one has in playing poker or trying to estimate a stock price, where one is not thinking only of one's own estimation but what one's opponent thinks - and so on.

The book concludes with the notion of computational kindness, where one tries to interact with others so as to minimize the amount of computations they have to do. Altogether, the book was a great read that I would highly recommend to others.

Algorithms to Live By: The Computer Science of Human Decisions 0th Edition, Kindle Edition
by Brian Christian (Author), Tom Griffiths (Author)


My quotes:

My tag (associated with the book):