Algorithm - Managers-Net

advertisement
Algorithm
Definition and Uses
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
(http://www.managers-net.com/flowcharting.html).
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. Examples include
Name of
Algorithm
Blowfish1
Soundex2
Shell Sort3
PageRank4
Purpose
Developed by
Encrypting digital data.
Indexing names by their
phonetic sound.
Sorting digital data
Used by Google to
assess the value of
website references.
Bruce Schneier
Robert Russell &
Margaret Odell
Donald Shell
Larry Page &
Sergey Brin
Background
In the distant past algorithms were always in narrative form Algorithm for making a cup of coffee
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-Khwarizmi5 (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
1
Description Blowfish Cipher, Bruce Schneier (1993) http://www.schneier.com/paper-blowfish-fse.html
The Story of Soundex, Gjenvick Gjønvik Archives http://www.gjenvick.com/Students/TheStoryOfSoundex.html
3
A High-Speed Sorting Procedure, Donald Shell, Proceedings of the Association for Computing Machinery (1959)
http://penguin.ewu.edu/cscd300/Topic/AdvSorting/p30-shell.pdf
4
What Is PageRank and How Do I Use It?, Marziah Karch,
http://google.about.com/od/searchengineoptimization/a/pagerankexplain.htm
5
Al-Khwarizmi: The Father of Algebra, Dr. Ibrahim B. Syed (2011) http://www.onislam.net/english/readingislam/research-studies/islamic-history/454243-al-khwarizmi-the-father-of-algebra.html
2
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.
Download