I’ll start by giving you a definition of an algorithm from Merriam-Webster.
A procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation: a step-by-step procedure for solving a problem or accomplishing some end especially by a computer.
So, what are these nine bits of magic that invisibly give us the modern computing experience? Here are MacCormick and Bishop’s choices with my elaborations.
1. Search Engines
I remember my first experience with the World Wide Web where I actually bought a printed directory of the different sites that could be accessed – how short sited. This was before Google, Yahoo, Bing and all of their cohorts. Current estimates are that there are more than 700 million websites. Search engines make them accessible.
2. Page Ranking
Search engines would be almost useless if the results were returned randomly, alphabetically or chronologically. The real guarded secret of Google and Bing is not their searching process but their page ranking algorithm. It offers you some assurance that the top results of your searches are the most trusted and relevant.
3. Public Key Encryption
This is the algorithm that allows for secure transmission of data between your browser and a website. Consider the ease of buying something with a credit card over the Internet today. The confidence you get from seeing that little padlock at the top of your browser window is the result of Public Key Encryption.
4. Error Correcting Codes
Internet transmissions are not flawless, in fact bits get dropped or scrambled regularly. How does the computer know this and correct for this condition? Through the magic of error correcting it can not only detect a lost or displaced bit, but often actually re-construct the message without it having to be re-transmitted.
5. Pattern Recognition
This is the tool that can often fool us into thinking that the computer is learning about our behavior or actually trick us into ascribing a degree of intelligence to a tiny box of wires and silicon.
6. Data Compression
Most of us have used zip files and understand the miracle of data compression, but how does it work? An algorithm does it by recognizing that most data consists of a lot of repeated characters and devising a “short-hand” that can squeeze out those repetitions and later re-insert them into the file.
7. Data Bases
How do you organize massive amounts of data so that it is available to users within seconds? Consider the complexity of organizing the trillions of words found on the World Wide Web (search engines actually do this) vs. the “Contacts” list on your smart phone. Both are done through data bases.
8. Digital Signatures
Can business be transacted over the Internet with the same legal assurances we have in face-to-face activities? Yes, through the algorithms that brought us digital signatures.
9. What is Computable?
This was not really an algorithm but a journey through some of the foundational truths about computing. It dealt with one of the founding fathers of computer science, Alan Turing, a British mathematician who did much of his work in the 30’s and 40’s. The reason this was included as the ninth algorithm was because of a paper that Turing wrote defining a category of problem called “Undecidable”. This is a decision problem where no algorithm exists that can make a determination – thus un-computable. After presenting the previous eight algorithms, it was the author’s intent to say not every problem is solvable.
Today’s computer systems are built on layer upon layer of innovative ideas that have been discovered over decades. The next time you enter a charge into your dental practice management software, taking a moment to consider the thousands of people who have contributed to make that process possible, would be a right click.
.