I recently finished Algorithms to Live by (the computer science of human decisions), by Brian Christian and Tom Griffiths. The book provides a fairly detailed popular science account of some major findings from computer science, relating computational algorithms to the way humans solve problems. As an example – how do we fit things in our busy lives? Let’s look at scheduling theory! Or, how should we organise our books and libraries and computer files? Let’s look at the theories behind Caching!

As an interloper into computer science I found the book particularly interesting; I know about a lot of CS and algorithmic concepts through working in CS but as I studied cognitive science for my first degree I haven’t studied algorithms formally. So sometimes i find myself bluffing about stuff like Big O notation, and optimisation. It’s quite fun to read a book which covers all this and relates it to real world human problems.

For example, with big O, the analogies used involved a dinner party. Cleaning the house in advance is O(1) as it takes the same amount of time however many guests are coming. Passing a dish around the dinner table with everyone taking some food is O(n), as it’ll take longer for each member, but is still linear. If each guest greets each other guest that’s O(n^{2}), as the amount of time goes up with the square of the number of guests.

The book is generally written in an approachable and fairly amusing way – it even has a cheeky rickroll at the start of the chapter on game theory. There’s a “but” though, and it’s one around gender; every now and then the authors talk about computing and computer scientists as if we are all guys. At the start of CS this wasn’t the case, and it certainly isn’t the case now.

Consider the problem of optimal stopping, for example: you are looking for a house, and you want to be sure you get the best house for your money, but you can only view one house at a time. At what point do you say “This house is good enough” and stop looking? It’s a tricky problem. The answer is that you have a calibration phase where you’re just looking, and then once that phase is over, you keep looking until you see a house which is better than any you’ve seen so far. The calibration phase is all about getting a feel for the market and should involve seeing about a third of the candidates. This problem is historically known as the secretary problem – and involves guys interviewing secretaries. It would have been possible to cover this, mention the historical name, and then use a bunch of examples from housebuying or other domains.

But no, the authors have guys choosing secretaries and proposing to girls, applying their optimal stopping theory to the selection of women from a pool. It’s the 21st century, boys. Do better.

One computer algorithm that I find useful is deliberately allocating some time to the lower priority tasks that otherwise would never rise to the top.