The authors explain both simple and complex examples of algorithms and relate them to the human experience.
This is an extraordinary book, based on extensive research, including nearly 100 interviews with acknowledged experts in their field. In it, Brian Christian and Tom Griffiths explain both simple and complex examples of algorithms and relate them to the human experience. They manage to do this in simple non-technical language with an occasional touch of humour.
The word ‘algorithm’ stems from Algoritmi, the Latin name of a Persian mathematician called Muḥammad ibn Mūsā al-Khwārizmī, who used a method he called al-jabr to help solve quadratic equations. We now call that method ‘algebra’.
Brian Christian and Tom Griffiths define an algorithm as ‘just a finite series of steps used to solve a problem’. As the authors point out, long before algorithms were used by machines, they were used by people. This reassures the reader of the basic simplicity of the concept even though algorithms can be used to help resolve very complex situations.
However, the authors point out that there are many intractable problems which can not be handled by algorithms, or which lead to the use of algorithms to find a good solution rather than the best possible solution. They give examples where finding the best solution may be too costly or might take too long. The famous aphorism ‘the perfect is the enemy of the good’ applies.
In addition to an excellent introduction and a slightly disappointing conclusion, which comes across a little like a lecture, the book has 11 chapters, each devoted to a specific set of problems. One focuses, for example, on when to stop looking. How many apartments should you look at before you decide to buy? How many parking spots should you ignore before deciding to park? You may find that using a set of rules – that is, using an algorithm – helps you make a better decision than by following your gut feeling, but sometimes you may not. The authors warn, and demonstrate, that the best process does not necessarily result in the best outcome.
The chapters on sorting and caching may be of particular interest to readers with a working knowledge of computer programming, but they also include some interesting insights relevant to daily life. Readers of a review such as this almost certainly own many unsorted shelves of books. They may be happy to know that the optimal strategy for sorting and retrieving books from their personal library is to leave the books unsorted!
The ‘Bayes’s Rule’ chapter, about predicting the future, is one of the less satisfying entries, partly because so much of the future is still unpredictable. The authors’ conclusion, after many references to the work of people who have improved on Reverend Bayes’s work, is that ‘good priors’ – extensive knowledge of what has gone before – helps predict certain classes of phenomenon. Weather forecasting is a good example of this, though not specifically mentioned in the book. However, the Danish proverb quoted partway through the chapter is worth recalling: ‘It is difficult to make predictions, especially about the future’.
For some readers, parts of the book may be too complex; for others, parts of the book may be too elementary. But it would be an extraordinarily well-informed reader who would not gather some worthwhile insights from reading Algorithms To Live By. But as the chapter on ‘Overfitting’ advises, a person can think too much before making a decision. In it, the authors demonstrate that too much information may be deleterious – that some data may just be ‘noise’. It’s a comment worth considering when thinking of buying this book.
3 ½ stars out of 5
Paperback, 368 pages
HarperCollins Publishers UK
First published on
What the stars mean?
- Five stars: Exceptional, unforgettable, a must see
- Four and a half stars: Excellent, definitely worth seeing
- Four stars: Accomplished and engrossing but not the best of its kind
- Three and a half stars: Good, clever, well made, but not brilliant
- Three stars: Solid, enjoyable, but unremarkable or flawed
- Two and half stars: Neither good nor bad, just adequate
- Two stars: Not without its moments, but ultimately unsuccessful
- One star: Awful, to be avoided
- Zero stars: Genuinely dreadful, bad on every level