Digital technology runs on algorithms, sets of instructions that describe how to do something efficiently. Application areas range from search engines to tournament scheduling, DNA sequencing, and machine learning. Arguing that every educated person today needs to have some understanding of algorithms and what they do, in this volume in the MIT Press Essential Knowledge series, Panos Louridas offers an introduction to algorithms that is accessible to the nonspecialist reader. Louridas explains not just what algorithms are but also how they work, offering a wide range of examples and keeping mathematics to a minimum.
After discussing what an algorithm does and how its effectiveness can be measured, Louridas covers three of the most fundamental applications areas: graphs, which describe networks, from eighteenth-century problems to today's social networks; searching, and how to find the fastest way to search; and sorting, and the importance of choosing the best algorithm for particular tasks. He then presents larger-scale applications: PageRank, Google's founding algorithm; and neural networks and deep learning. Finally, Louridas describes how all algorithms are nothing more than simple moves with pen and paper, and how from such a humble foundation rise all their spectacular achievements.
About the Author
Read an Excerpt
We like putting labels on time periods, perhaps because affixing a tab on time allows us to get a grip on its fluidity. We have therefore started speaking of the present as the dawning of a new algorithmic age, in which algorithms will reign supreme, and will govern larger and larger parts of our lives. It is interesting that we are not talking about the computer age or internet age anymore. We somehow take them for granted. It is when we add algorithms that we begin intimating that perhaps something qualitatively different has started taking place. “Behold the Almighty Algorithm, a snippet of computer code coming to stand for a Higher Authority in our secular age, a sort of god,” says Christopher Lydon, former New York Times journalist and host of the Radio Open Source show. And indeed, algorithms are taken to be some form of higher authority when they are used to organize political campaigns, follow our traces in the online realm, shadow our shopping and target us with advertising, suggest dating partners, or monitor our health.
There is an aura of mystery around all that, which perhaps flatters the acolytes of algorithms. Being described a “programmer” or “computer scientist” marks you as a decent, albeit somewhat technical, character. How much better to be a member of the tribe that is about to change almost everything in our lives?
There is definitely a sense in which algorithms are a sort of god. They are mostly held unaccountable, like gods; things happen, not because of human agency, but because they were decided by an algorithm, and the algorithm sits beyond the pale of responsibility. Machines, running algorithms, can surpass human performance in more and more fields so that it appears that the area of human superiority is reduced day by day; some believe that the day where computers will be able to surpass humans in every aspect of cognition is not far away.
But there is also a sense in which algorithms are nothing like gods, although we often lose sight of it. An algorithm does not produce its results by an act of revelation. We know exactly the rules that it follows and kinds of steps it takes. No matter how wonderful the outcome, it can always be traced back to some elementary operations. To people who are newcomers to algorithms, it may come as a surprise how elementary these may be. That is not to besmirch algorithms; seeing how something really works may take out some part of its mystique. At the same time, understanding how something works may allow us to appreciate the elegance of its design, even if it is no longer mysterious.
Table of ContentsSeries Foreword ix
1 What Is an Algorithm? 1
2 Graphs 43
3 Searching 79
4 Sorting 105
5 PageRank 143
6 Deep Learning 181
Further Reading 275