Nine Algorithms That Changed the Future
You may not recognise these as things you use every day, but indeed they are. Without error-correcting codes there would be no internet communications; without compression no DVDs; without public key cryptography no secure spontaneous online transactions between strangers; without databases no e-commerce or government benefits systems; without pattern recognition no spam filtering.
MacCormick leaves in a lot more detail than you'll usually find in a book aimed at a general audience. MacCormick writes in a very clear, simple style, leading the reader step by step through even the most complex explanations. He does, of course, elide some aspects — no-one could fit a complete explanation of the inner workings of cryptography algorithms in a single chapter.
Having said that, he leaves in a lot more detail than you'll usually find in a book aimed at a general audience. The result ought to be understandable to a wide variety of readers, including science and maths-oriented secondary school students. At the end of the book, MacCormick spends a chapter exploring the limits of what can be computed, and these are pretty significant, as anyone who has studied computer science theory knows: it is provably impossible to write a program that can detect all possible crashes in another program as a university sophomore, my computer science class was assigned this proof as one of a dozen problems to complete by the end of the semester.
- A Trajectory Description of Quantum Processes. I. Fundamentals: A Bohmian Perspective!
- Constructions of European Identity: Debates and Discourses on Turkey and the EU;
- More about this book.
By "provably impossible", MacCormick is referring to the unique characteristic of his own field of mathematics, which is that once something is proven it stays proven — and mathematics is the base upon which computer science is built. If those in charge of making public policy read only that last chapter, it would be a vast societal benefit.
They would learn this: computers are not magic, after all, and expecting them to do the impossible is a good way to spend a lot of money on failed IT projects. The Smart-Enough City, book review: Putting people first.
London exhibitions reviewed: Secrets, autonomous vehicles and AI. Thanks to Apple's year-long free trial program, Apple TV Plus has the potential for incredible reach. But can Apple sustain that reach after the year is up? Here's what Apple might I believe these arguments are a bit shaky because in my view they apply to many other algorithms as well. I suspect the criteria are written ad hoc like an introduction most often is.
That does explain the selection, because there is no argument possible against personal preference. But whatever the reason is, the selected algorithms solve problems that everyone is familiar with while most people never thought about the mechanisms behind them and MacCormick is good at explaining the basics in a very accessible way. So here is what has been selected. Chapter 2 and 3 deal with search engines for the WWW.
The origin of indexing the web pages which made AltaVista great and then the ranking mechanism used by Google. Mind you, although PageRank is basically solving a huge eigenvalue problem, nothing of that sort is ever mentioned, but the basics of hyperlinks, authorities and random surfer are neatly explained with a toy problem where people are referring to a page giving a recipe for scrambled eggs.
This kind of remark also applies to the other chapters. For example, the next one explains public key cryptography, and although there are pretty hard mathematics behind involving prime numbers, elliptic curves etc. Paints become numbers only at a later stage of the chapter. Similarly other mechanisms are introduced in the subsequent chapters like error correcting codes, pattern recognition e. A somewhat unexpected subject for me is the one on databases. This explains how databases are protected against crashes or unfinished operations and how replicas are kept synchronized avoiding inconsistencies at all cost.
Digital signatures on the other hand are a more obvious choice. All these algorithms are tacitly used on a daily basis by millions of people when they use a keyboard or a touch screen, often without realizing that these things are happening at the other side of the screen. The next chapter however is somewhat out of the main track.
What MacCormick tries to do is explain the undecidability problem. A somewhat unexpected subject for me is the one on databases.
- Flesh of the Gods: Ritual Use of Hallucinogens!
- Floating Your Company: The Essential Guide to Going Public.
- Proceedings of the 9th International Symposium on Linear Drives for Industry Applications, Volume 1.
This explains how databases are protected against crashes or unfinished operations and how replicas are kept synchronized avoiding inconsistencies at all cost. Digital signatures on the other hand are a more obvious choice. All these algorithms are tacitly used on a daily basis by millions of people when they use a keyboard or a touch screen, often without realizing that these things are happening at the other side of the screen.
Nine Algorithms that Changed the Future: The Ingenious Ideas that Drive Today's Computers
The next chapter however is somewhat out of the main track. What MacCormick tries to do is explain the undecidability problem. The impossibility to construct an algorithm that always leads to a correct yes-no answer. Here he starts with convincing the reader that any program on a computer can run on any file and strongly encourages to try that out. I hope that the experiments of the grandmas following this advise will not damage their computer too much so that their grandsons can restore the original operational mode.
Anyway the author hypothetically constructs a sequence of programs that read programs as input and give a yes-no answer along the lines explaining what a proof by contradiction is.
He so can show the reader that they must come to the conclusion that it is impossible to write a crash-detecting program since it will give a contradiction when it uses itself as input. This brings the reader who managed to finish the chapter up to the halting problem , the Church-Turing thesis and the related philosophical considerations.
[PDF] Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers
Whether you agree with the choice of algorithms made or not, they form a good set of samples of what made some of the ICT applications a success. The world would be different if they had not been there. MacCormick did an excellent job is explaining the basic ingredients without needing any programming skills. Anyone who is used to a computer is able to grasp the ideas.
His afterthoughts about what the great algorithms of the next generation or century will be are a bit thin, but nobody really knows what the future will be. If we ever get quantum computing to work, we shall have to rethink almost everything.