“What do you want for dinner?”
“I don’t care. What do you want to do?”
It’s the conversation had again and again by countless couples and friends. It’s also an example of an everyday event that could benefit from a bit of computer science. Actually, not so much an actual algorithm from computer science, although there’s surely an app for that, but rather one of the general approaches taken in computer science. Good computer science, as Algorithms to Live By suggests, minimizes the labor of thought by reducing harder problems into simpler ones.
Throughout this engaging, if occasionally dry, survey of comp sci logic and its quotidian applications, authors Brian Christian and Tom Griffiths make the case for better living through algorithms. Among the algorithmic approaches they describe are the 37% rule, the logic behind various sorting methods and information storage rules you can use to defend that pile of papers on your desk.
Algorithms To Live By may be at its best when Christian and Griffiths discuss issues of limitations, including the benefits of constraining complex problems down to approximations and the fundamental limits of algorithmic thinking more generally. Did you ever feel like there was just no best way to arrange your overstuffed schedule no matter how hard you try? Turns out that feeling is more right than you may know because a most efficient solution may not even be possible. On the flip side, if you ever thought you had too little information in certain situations, Laplace’s Law and the Copernican Principle give you reasonable places to start.
There is much to digest in Algorithms to Live By. It is not always the lightest of popular science reading, but it certainly benefits the willing and returning reader. As for dinner, don’t completely dump the problem on your friend. At least offer a constraint or two to simplify this complex but entirely solvable computation.