Definition and Uses
Algorithm for making a cup of coffee
An algorithm is a style of unambiguous procedural description. It focuses on precisely specified outcomes and step descriptions which often include tests on the status of related procedure variables. Simple algorithms (e.g. for operational procedures, route directions and fault-finding) are sometimes represented graphically using a flow chart. For example, the algorithm shown represents a procedure for making a cup of instant coffee. The precision required for algorithms can make them a useful template for computer programs. However, most cooking recipes would be difficult to represent as algorithms because of the judgemental elements that are usually included (e.g. 'cook till brown')
Most of the many hundreds of algorithms in use today are much more involved than this and are used for the
specialised calculations and decision-taking involved in Computer Systems, Mathematics and Astronomy.
They are usually presented as complex mathematical formulae using advanced expressions in addition to the
associated computer program listings.
|Name of Algorithm||Purpose||Developed by|
|Blowfish||Encrypting digital data.||Bruce Schneier|
|Soundex||Indexing names by their phonetic sound.||Robert Russell & Margaret Odell|
|Shell Sort||Sorting digital data||Donald Shell|
|PageRank||Used by Google to assess the value of website references.||Larry Page & Sergey Brin|
In the distant past algorithms were always in narrative form and used to record and communicate the procedures needed to perform various types of calculation. Some of the earliest attributable examples of such texts are in the work of 9th century Persian academic, Mohammed ibn-Musa al-Khwarizmi (ca 780-850). Al-Khwarizmi studied at the Bayt al-Hikma (House of Wisdom) college which formed part of the royal court in Baghdad. With the Islamic "Caliphate" at that time stretching from the Indus to the Iberian peninsula, Muslim culture and science was then viewed with suspicion and hostility in the Christian West. It would therefore be 400 years before al-Khwarizmi's was translated from the Arabic into Latin and made available in Europe. His original Arabic treatise On the Calculation with Hindu Numerals is thought to have been written in about 825. The medieval Latin translation was entitled Algoritmi de numero Indorum and led to the term "algorithm" which was a Latinised version of al_Khwarizmi's name. His later work The Compendious Book on Calculation by Completion and Balancing was published in 830. It provided perhaps the earliest known explanation of simultaneous equations and its Arabic title al-Kitab al-mukhtasar fi hisab al-jabr wa'l-muqabala led to the term "algebra" becoming popular.