Algorithm

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 includetests on the status of related procedure variables.Simplealgorithms (e.g. for operational procedures, route directions and fault-finding) are sometimesrepresented graphically using a flow chart ( 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 involvedthan 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.Examples include

Name of Algorithm / Purpose / Developed by
Blowfish[1] / Encrypting digital data. / Bruce Schneier
Soundex[2] / Indexing names by their phonetic sound. / Robert Russell Margaret Odell
Shell Sort[3] / Sorting digital data / Donald Shell
PageRank[4] / Used by Google to assess the value of website references. / Larry Page & Sergey Brin

Background

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[5] (ca 780-850).Al-Khwarizmi studied at the Bayt al-Hikma (House of Wisdom) collegewhich 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 hostilityin 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 medievalLatin 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.

[1]Description Blowfish Cipher, Bruce Schneier (1993)

[2] The Story of Soundex, Gjenvick Gjønvik Archives

[3] A High-Speed Sorting Procedure, Donald Shell, Proceedings of the Association for Computing Machinery (1959)

[4]What Is PageRank and How Do I Use It?, Marziah Karch,

[5]Al-Khwarizmi: The Father of Algebra, Dr. Ibrahim B. Syed (2011)