Tuesday, September 18, 2018

Book recommendation: Algorithms to Live By

Good book written by Computer Scientists.  Each chapter begins by describing how algorithms solve a class of problems, like Optimal Stopping, Sorting, Caching, Scheduling, and the Multi-arm Bandit problem. Then, the authors draw advice from the algorithms to solve analogous problems for humans.

For example, in the scheduling chapter, the authors describe early attempts to split CPU (Central Processing Unit) time among various tasks.  Scientists found that as the number of tasks increased, the CPU would start spending more and more time on the meta-task of scheduling.  When too many tasks where adding, the computer would spend all its time "thrashing," switching between tasks without getting any work done.

The metaphor to our own lives is obvious.  Set aside a certain amount of time for uninterrupted work, especially when writing, and avoid switching between lots of small tasks, e.g., answer e mail only once per day.  


  1. Could you include the name of the book? The link does not seem to be working. Thanks!