An algorithm is a machine that can be used to reproduce a unique pattern of behavior. The history of the word traces back to the Greeks and the instruments they used for mathematics; for example, the sieve. In the context of Media Futures, imagine that algorithms are tightly woven filters that capture the full range of human Automata and slowly sift through them to produce the most meaningful, intentional gestures.
Finding its root in algorism, a reading of the name of Abu Ja’far Muhammad ibn Musa Al-Khwarizmi, the 9th century Persian mathematician who described a set of rules for solving both Linear and Quadratic equations, algorithm came to its present state by way of an 18th century European Latin translation and soon expanded its meaning to encompass all definite procedures for solving problems or performing tasks. The very first algorithms are a part of the Babylonian mathematical legacy – a legacy which not only left us with algorithms for factorization, finding square roots and performing long division, but which also left us with the base 60 system that gives 60 minutes to an hour, 60 seconds to a minute, 360 degrees to a circle and 24 hours to a clock. Babylonians were in fact able to calculate things with the same accuracy as Renaissance mathematicians due to their use of number tables, like the Plimpton Tablet, a table of Pythagorean Triples from about 1700 B.C.
While the Babylonians based their mathematical system in large part on algebra, the Greek system of mathematics was heavily based upon geometry. It is speculated, though, that the founder of Greek science and mathematics, the philosopher Thales of Milet, visited Egypt and Babylon during his lifetime (634 – 546 B.C.) and brought back knowledge of their astronomy and geometry. The Egyptians made great contributions in the fields of medicine, astronomy and applied mathematics, and while the former triumphs are well documented, there exist no records of the process by which they reached their mathematical conclusions. Thales built on the knowledge brought back from his trips, inventing deductive mathematics and proving a number of theorems – a circle is bisected by a diameter; the base angles of an isosceles triangle are equal; and pairs of vertical angles formed by two intersecting lines are equal.
The foremost text on geometry came from fellow Greek Euclid, whose Elements put together former geometric knowledge with definitions, postulates and opinions – and, of course, Euclid’s elegant and rigorous proofs of the above. In that text, he discussed the algorithm for finding the greatest common divisor of two numbers, which is today referred to as the Euclidean algorithm. One hundred years later around 200 B.C., the world saw the next great algorithm – the Sieve of Eratosthenes, which was used to find prime numbers.
Sieve of Eratosthenes is a simple, ancient algorithm for finding all prime numbers up to a specified integer. It is the predecessor to the modern Sieve of Atkin, which is faster but more complex. It was created by Eratosthenes, an ancient Greek mathematician.
Another important site in the history of the algorithm was Alexandria, home to Hero, Ptolemy, and Diophantos. Hero, whom we will remember as the inventor of the steam eolipile and other Automata, published widely on geometrics, optics and mechanics – as well as mathematics. Though sources suggest his work is derivative of Archimedes and the work of the Babylonians, his Formula to calculate the area of a triangle in terms of its sides and his Method to extract a root are important contributions to the world of mathematics. Ptolemy published widely on astronomy and geography and calculated the best approximation of ‘pi’ for his time. And Diophantos, known as the ‘father of algebra’, wrote his thirteen-volume Arithmetica on the solution of algebraic equations and the theory of numbers and introduced the use of algebraic symbolism with an abbreviation for the unknown for which he was solving.
But Diophantos shares the title of the ‘father of algebra’ with the aforementioned Al-Khwarizmi, whose work was responsible for significant advances in the world of mathematics.
It was Al-Khwarizmi’s work that promoted the use of Hindu-Arabic numerals that not only pushed forward the numeral system we use today, but that gives us the very term algorithm. From the very first algorithms of the Babylonians to those of Al-Khwarizmi – to John Napier’s 1614 method for performing calculations using logarithms to the 19th century work of Boole, Frege and Peano, which set out to reduce arithmetic to a series of symbols which could be manipulated by rules – to the work of Babbage, Lovelace and Turing, which took these rules and transformed them into agents of action in computing, these feats of problem-solving are instrumental in understanding man’s quest for a grasp of the workings of the world at large.
Babbage and Turing
One great advantage which we may derive from machinery is from the check which it affords against the inattention, the idleness, or the dishonesty of human agents.
From Babbage’s 1832 work “On the Economy of Machinery and Manufactures”
In our discussion of rules that govern the Internet, we must turn to the work of Babbage and Turing, for it serves as the important foundation for computing at all. Babbage’s work grew out in part out of a need for more accurate mathematical tables, which were essential calculating aids used in navigation and astronomy, insurance and civil engineering. These tables were produced by human computers and by hand – and as such, they were prone to error in terms of computation and reporting. Even the slightest errors in navigational or astronomical tables can be costly – so it is no surprise that in the years leading up to Babbage’s project, government sources were willing to fund projects that would minimize the costs of troubleshooting.
For example, the British Nautical Almanac, the world’s first permanent table-making project – had a reputation for ever-improving accuracy since its inception in 1766. But moving into the 19th century, that seaman’s bible swung into a dangerous territory of inaccuracy and error, and the British government recognized the promise of producing mathematical tables mechanically and typesetting them by the same machine.
So Babbage set out, with financial support (and the admirals’ prayers) to improve the accuracy of those ever-important mathematical tables by constructing algorithm-driven machines. It was a move that mechanized the production of thought, a move that would eliminate human folly in computation, transcription and typesetting. The result would be better answers, answers which would in turn be used for giving new instructions, as inputs in other algorithms.
Babbage never finished his Difference Engine – though, in 1832 his manufacturing engineer did construct a working portion of it, which measured two and a half feet high by two feet wide by two feet deep. Babbage moved forward to conceptualizing what would be the world’s first programmable digital computer – the Analytical Engine. Babbage’s designed the engine such that it would separate the sites of arithmetic computation from the storage of numbers. The computation would be carried out through a series of steps recorded on punch cards, such as the ones used in the technology of the Jacquard loom.
But however intriguing and important the technology seemed, Babbage’s Analytical Engine – due to factors financial and logistical – was never built. It comes to us only through Ada Lovelace’s annotated translation of a French introduction to the machine – a piece of writing that established the algorithm for the computation of Bernouilli numbers, and a piece of writing that established the idea of computer programming. Turing would later build on the work of Lovelace and Babbage, formalizing their concepts in the Universal Machine.
When Turing introduced the mathematical description of the Universal Machine in the 1936 paper “On Computable Numbers”, he set out to answer the Entscheidungsproblem, the third question left by mathematician David Hilbert. Gödel had already answered Hilbert’s first two questions – No, mathematics was not complete, and it was not consistent. Turing showed that mathematics was not decidable. And that recipe to solve a particular problem, gave us an answer that begs the asking of a new set of questions.