Cathal Grogan – Verify Recruitment
Algorithms – a process or set of rules to be followed in calculations or other problem-solving operations. They have always held a certain fascination for me. I’ve dabbled in tomes from Sedgewick to Cormen, marvelled at the algorithms of the ancients from the Peasant Method of Multiplication to Euclid’s Greatest Common Divisor, and have watched animations of Dijkstra’s Algorithm on the daily commute. I like algorithms.
I also like history, from Ada Lovelace to the history of Smalltalk and APL, to the Cathedral and the Bazaar. And at the cross section of history and algorithms I found myself discovering Muhammad ibn Musa Al-Khwārizmī, the Persian mathematician born over 1000 years ago, from whose Arabic name, following a journey through Latin, Middle English, Greek and Old French, the word Algorithm is derived.
“The Man from Khwarezm”
Al-Khwārizmī lived in Baghdad in the early 9th Century. A scholar at Baghdad’s House of Wisdom, an intellectual centre during the Islamic Golden Age when science, culture and economic development flourished, he encountered and developed upon the ideas of ancient Greek and Indian mathematicians. So wide was his intellect, he made immense contributions across many disciplines including mathematics, astronomy and geography.
But it is his contribution to mathematics for which he is probably most renowned – algebra and algorism!
Who doesn’t want to write a book on algebra? And who wishes they could write a book on algebra with as magnificent a title as Al-Khwārizmī’s – The Compendious Book on Calculation by Completion and Balancing. This book explained solutions to different types of quadratic and linear equations.
It introduced ‘al-jabr’, the process of moving a subtracted quantity to the other side of an equation (completion) and ‘al-muqabala’. the process of subtracting equal quantities from both sides of the equation (balancing). And it applied these solutions to a wide range of problems in trade, surveying and legal inheritance that were prevalent during that age.
In 1140, following a Latin translation of his work, the word Algebra (al-jabr) was adopted to describe the whole process for solving equations.
Algorism to Algorithm
Before knowing Al-Khwārizmī I knew nothing about the history of numbering systems or about the evolution of the place-value number systems, where the value of a digit depends on its place, or position, in the number.
Al-Khwārizmī was an advocate of the Hindu place value numeric system based on 1,2,3,4,5,6,7,8,9 and 0 (sound familiar?) and how it could simplify mathematics. And it is his treatise on Hindu numerals that gave rise to the word Algorithm.
The Arabic text for this treatise is lost, but a Latin translation Algoritmi de numero Indorum (in English Al-Khwārizmī on the Hindu Art of Reckoning) gave us the transliteration of his name. This work describes the Hindu numeric system with methods for arithmetical calculations.
Originally the derivation meant Algorism -“the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits”. From this I also discovered that I was in fact a practitioner of Algorism, and could claim therefore to be an Algorist!
In the 18th century the word Algorithm evolved from Algorism to mean all definite procedures for solving problems or performing tasks and it is this meaning that has appeared in the modern day discipline of computer science.
So, on behalf of all you Algorists out there, and there are many, let me say thank you to “the man from Khwarezm” who set us on the path to Merge Sort and Heap Sort, data compression, secure hash, PageRank, and other such algorithms that dominate our world today!
Verify Recruitment is a specialist consultancy which recruits for technology organizations throughout Ireland, the UK and Europe. Founded in 2009, Verify Recruitment is the preferred consultancy of innovative technology clients, ranging from indigenous Irish start-ups to globally recognised brands.