Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths. Brian is the author of The Most Human Human, a Wall Street Journal bestseller, New York Times editors’ choice, and New Yorker favorite book of the year. Tom is a professor of psychology and cognitive science at Princeton University. In addition, he directs the Institute of Cognitive and Brain Sciences.
At first glance the idea of brining algorithms into our daily lives seems a bit too much, even for a budding computer nerd. At the same time, Brian and Tom prove that most of us are already doing this daily.
I recall spending many hours programming SQL while living in Chicago and realizing how much more efficient my grocery shopping would be if I actually transformed my shopping list into a SQL table:
So I can certainly agree. Yet this idea still may seem daunting. If you begin thinking about repeating tasks you perform, even laundry should certainly make you believe there is a better way.
Algorithms will certainly make this possible. Therefore, you may be spending too much time repeating tasks. This is where the book reveals how you can become efficient, by sharing the history and development of many common algorithms. You will certainly discover a few frameworks.
Different types of sorting
Chapter Three, Sorting: Make Order certainly provides a fun appreciation of how sorting socks by undergraduate mathematicians becomes an algorithm:
The roommate pulled a sock out of the clean laundry hamper. Next he pulled another sock out at random. If it didn’t match the first one, he tossed it back in. Then he continued this process, pulling out socks one by one and tossing them back until he found a match for the first.
With just 10 different pairs of socks, following this method will take on average 19 pulls merely to complete the first pair, and 17 more pulls to complete the second. In total, the roommate can expect to go fishing in the hamper 110 times just to pair 20 socks. It was enough to make any budding computer scientist request a room transfer.
Now, just how socks should be sorted is a good way get computer scientists talking at surprising length. A question about socks posted to the programming website Stack Overflow in 2013 prompted some twelve thousand words of debate.
pg. 113
In addition, learning about different types of sort algorithms was very rewarding. From Bubble Sort and Insertion Sort. In addition learning about the Hollerith Machine is very interesting.
The birth of IBM
Built to count and sort train tickets, Herman Hollerith was awarded a patent in 1889. The Hollerith company merged with several others in 1911 to become the Computing-Tabulating-Recording Company. Then with new leadership it was rebranded as International Business Machines. Ultimately this machine contributed to Mergesort. However, I was most impressed with Bucket Sort. I think you will be too.
Above all, the impact of sort and sports did not disappoint. Charles Lutwidge Dodgson developed a wonderful algorithm sort solution to lawn tennis. And of course, Dodgson was more famous than being a noted mathematician. Furthermore, his pen name Lewis Carroll created Alice’s Adventures in Wonderland and other works of literature.
Scheduling for humans
Scheduling is a very intriguing fifth chapter: First Things First. I can certainly appreciate algorithms of single-machine scheduling. On the other hand, it was fun to see how Brian and Tom reveal this algorithm into tasks by humans instead:
Minimizing the sum of completion times leads to a very simple optimal algorithm called Shortest Processing Time: always do the quickest task you can.
p. 206
Understanding differences between Priority inversion and Priority inheritance is just as fascinating. Even more, Brian and Tom reference comedian Mitch Hedberg. Worth a laugh. But seriously get to know this.
Yet it was interesting to also understand the benefit of delay as they reference Frank Partnoy’s Wait, which I really enjoyed reading last summer.
In conclusion, Algorithms to Live By provides a wonderful examination of how we can adapt to slight changes in our daily routines. I am confident we have been hoping to find these solutions all along.
Talks at Google | Algorithms to Live By
TEDx Talks | The Computer Science of Human Decision Making
Devoxx | Algorithms to Live By
Rotman School of Management | Algorithms To Live By
Long Now Foundation | Algorithms To Live By