Error
Print this page
Thursday, 08 August 2013 07:49

The Algorithms that Support Modern Computing Featured

Written by 
Rate this item
(0 votes)

post55 picI recently read a book authored by John MacCormick and Chris Bishop entitled Nine Algorithms that Changed the Future: The Ingenious Ideas that Drive Today’s Computers

I’ll confess to being a geek about these kind of things and since this tome is likely not on your summer reading list, I’d like to recap these nine processes for you. 

Depending on your age, you may take them for granted and because of the magic of today’s computers they are often invisible to the casual user. 

But be assured, without them, modern computing might still exist only in large air-conditioned rooms accessible by just the largest companies. 

Read on and you may acquire a new appreciation for that smart phone, tablet or desktop computer you’re using to read this blog.

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.

.

Read 15984 times Last modified on Thursday, 08 August 2013 09:36
Bill Hockett

Latest from Bill Hockett

Related items

Login to post comments