The term ‘algorithm’ is used extensively in the tech and startup world, so much so it may appear as a convenient must-use buzzword. A deeper look into the definition of algorithm, however, suggests that every modern business is, in fact, very likely to be algorithmically-boosted or driven.
While algorithms may fairly conjure images of computer programs performing mathematically complex processes, algorithms can simply be understood as a set of rules to solve a problem. To that end, the origins of the algorithm are surprisingly primal.
The ancient times
1600 BC, the Babylonians, in their construction of cisterns and the like, explored a methodology for the math behind the square root. They did so by converging best-guess estimates.
As a simplified example, to solve for the square root of 13, one would start with 3 as an estimate, and take 13 divided by 3. Seeing that the reciprocal (13/3=4.33333) clearly did not solve the problem — the square root of 13 should be one identical number, not 3 and 4.33333.
One would then converge on the answer by taking the average of 3 and 4.333 and divide 13 by that number (3.66667) to get 3.54545. By repeating the process (the next step being to divide 13 by the average of 3.66667 and 3.54545), one would essentially narrow in on the square root, and the answer would eventually be discovered.
While clearly tedious, this methodological convergence was a process. In fact, a modern-day computer might follow a similar methodology, except at tremendously greater speeds.
The father of algebra
Other following mathematical landmarks include Euclid’s algorithm and the Gaussian elimination method. Clearly, the origins of the algorithm are very much mathematically rooted, and this relationship is a fundamental of computer science that explains the two field’s shared development.
In fact, 9th Century Persian mathematician Muhammad ibn Musa al-Khwarizmi is often cited as ‘The father of Algebra’, and the word algorithm came from the Latin form of his name.
Not always mathematical
Understanding the development of algorithms also need not be as obviously mathematical in nature as solving for a square root. Some would say the (algorithmic) process of sorting — which, as its namesake implies, is the arrangement of things in a certain order — was the harbinger of the computer age.
Sorting is perhaps something so fundamentally necessary in our daily lives that we easily look past its results and processes around us every day — from the way products are displayed on e-commerce sites to the methodology by which sports teams are ranked.
The clear benefits of sorting thus spurred the demand for machines that performed such a function — computers! — which, before they became user-friendly and lifestyle-oriented as consumers know them today, were very simply machines designed to perform algorithmic functions to solve problems and expedite processes. The proliferation of computers, in turn, catalysed the advancement of algorithms in the areas of complexity and (computing) speed.
Fast-forward to today, and perhaps the most prominent modern-day algorithm is something that powers what we use everyday. Google’s search database is powered by PageRank, which is essentially a sorting algorithm that determines which websites are the most important — and hence how they should be ranked — based on the number of links to the website, among other features.
In fact, a glance at the technological advancements that have taken place around us might indicate that the computerised incorporation of algorithms is already well underway. However, a look back at the fundamental definition of an algorithm and its history suggests that there are immeasurably more activities for algorithms to optimise.
Featured Image Copyright: brandont / 123RF Stock Photo