Skip to main content

Once upon and Algorithm - Martin Erwig ***

I've been itching to start reading this book for some time, as the premise was so intriguing - to inform the reader about computer science and algorithms using stories as analogies to understand the process.

This is exactly what Martin Erwig does, starting (as the cover suggests) with Hansel and Gretel, and then bringing in Sherlock Holmes (and particularly The Hound of the Baskervilles), Indiana Jones, the song 'Over the Rainbow' (more on that in a moment), Groundhog Day, Back to the Future and Harry Potter.

The idea is to show how some aspect of the story - in the case of Hansel and Gretel, laying a trail of stones/breadcrumbs, then attempting to follow them home - can be seen as a kind of algorithm or computation and gradually adding in computing standards, such as searching, queues and lists, loops, recursion and more.

This really would have been a brilliant book if Erwig had got himself a co-author who knew how to write for the public, but sadly the style is mostly heavy academic, so the cleverness is rather wasted. Sometimes this comes across in labouring points and at others in spending a lot of effort on what is little more than defining labels for things, rather than providing useful information and context for the reader. It's not that there's not a lot of good material in there, just that it's hard work to dig it out, where I'm sure the whole idea of using the stories was to make it more approachable.

Part of the problem is that the stories themselves don't always work very well as an analogy for what's happening in the computation. So, for example, in the section dealing with sorting he comes up with the task of sorting the tasks and places that Indiana Jones needs to deal with to find the Lost Ark. The unsorted list includes the likes of: disc, sunbeam, Marion and Nepal. The algorithm used involves finding the 'smallest' element... which somehow we are supposed to instantly see is Nepal. Using numbers would not have been so well-linked to the story, but at least it would have made some sense to the reader.

Perhaps the low point is the section that uses a part of the song 'Over the Rainbow' (giving us a tenuous story connection to The Wizard of Oz) to examine language and meaning. If you aren't familiar with musical notation, I'm not sure it's a very helpful analogy... and if you are, some of the ways it's used (particular the assertion of what bars are for) doesn't entirely make sense.

I was a professional programmer for a number of years, but without a computer science background. So I was very familiar with how to do this stuff, but knew nothing of the theory behind it. As such, I found the content of the book really interesting - and the story idea should have made it doubly brilliant - but the execution meant that it didn't deliver anywhere near as well as it could have. Even so, there's a lot to savour, and it's definitely worth persevering to get a feel for why computer programs involve far more than just 'cutting code.'


Hardback:  

Kindle:  

Using these links earns us commission at no cost to you

Review by Brian Clegg

Comments

Popular posts from this blog

Luna: Moon Rising (SF) - Ian McDonald ****

I'm not the natural audience for this book. Game of Thrones l eaves me cold - and it's hard not to feel the influence of GoT (and a whole lot of Dune )   underneath a veneer of science fiction and the trappings of a South American drug cartel in the cod-medieval family power battles and chivalric details. There are even dragons (of a sort). I'd be really sad if the future did involve this sort of throwback feudalism. However, remarkably, despite this I found Luna: Moon Rising kept me engaged. The fact is that Ian McDonald can put together a good plot with intricate machinations, which is enough to carry the reader through what can be a bewildering collection of characters. The two page scene-setter saying who did what to whom at the start was useful, but I could have done with family trees for the main family as I was constantly forgetting who was who - especially easy as McDonald endows many families with characters with the same first initial (e.g. Ariel and Al...

Adventures of a Computational Explorer - Stephen Wolfram ***

Stephen Wolfram, the man behind the scientist's mathematical tool of choice, Mathematica, plus a whole host of other software products, including the uncanny Wolfram Alpha knowledge engine, is undoubtedly a genius of the first order. In this book, we get an uncensored excursion into the mind of genius - which is, without doubt, a fascinating prospect. The book consists of a collection of essays and speeches that Wolfram has produced over the last ten to fifteen years, covering an eclectic range of topics. Like all such collections, the result is something that lacks the coherence of a book with a narrative that runs through it, inevitably introducing a degree of repetition and a mix of interesting and not-so-interesting topics - but there's likely to be something to catch the attention anyone who is into computing or mathematics. One of the most interesting pieces is the opening one, where Wolfram describes being a consultant on the SF movie Arrival. He seems to hav...

The AI Paradox - Virginia Dignum ****

This is a really important book in the way that Virginia Dignum highlights various ways we can misunderstand AI and its abilities using a series of paradoxes. However, I need to say up front that I'm giving it four stars for the ideas: unfortunately the writing is not great. It reads more like a government report than anything vaguely readable - it really should have co-authored with a professional writer to make it accessible. Even so, I'm recommending it: like some government reports it's significant enough to make it necessary to wade through the bureaucrat speak. Why paradoxes? Dignum identifies two ways we can think about paradoxes (oddly I wrote about paradoxes recently , but with three definitions): a logical paradox such as 'this statement is false', or a paradoxical truth such as 'less is more' - the second of which seems a better to fit to the use here.  We are then presented with eight paradoxes, each of which gives some insights into aspects of t...