The Legacy of Algorithms: Ancient Roots and Recursive Thinking
The concept of algorithms has its roots in ancient civilizations, with early examples found in ancient mathematics (Daston, 2022). These early algorithms were systematic procedures for solving specific problems, rather than the complex computer programs we associate with the term today. By examining historical approaches, we can find inspiration for innovative methods and techniques.
Are there other examples of early algorithms I can and should add to this collection?
Babylonian Trigonometry
Between 1900 and 1600 BCE, the ancient Babylonians developed a unique form of trigonometry based on exact ratios of the sides of right-angled triangles (Mansfield & Wildberger, 2018). Their sexagesimal (base 60) number system allowed for a level of precision that even our modern decimal system struggles to match. The Plimpton 322 tablet shown below contains a sequence of Pythagorean triples, demonstrating the Babylonians' deep understanding of the relationships between triangle sides, surpassing even later trigonometric tables in their precision (Mansfield & Wildberger, 2017).
Babylonian trigonometry is simpler than modern trigonometry, as it does not involve irrational numbers, angles, or approximations. Its precision and versatility compared to modern trigonometry suggest that exploring alternative mathematical systems could lead to more powerful and efficient AI algorithms.
The Euclidean Algorithm
Another early and influential example of algorithmic thinking is the Euclidean algorithm, developed around 300 BCE by the Greek mathematician Euclid (Knuth, 1998). This algorithm is used to find the greatest common divisor (GCD) of two numbers, the largest number that divides them without leaving a remainder. The Euclidean algorithm elegantly demonstrates the power of recursive thinking, a concept that remains central to many modern algorithms. Despite its simplicity, the efficiency and effectiveness of this method are remarkable, as it systematically reduces the problem size until the solution is found.
Now, let's walk through an example of finding the greatest common divisor (GCD) of two numbers using the Euclidean algorithm: Let's find the GCD of 48 and 18. The algorithm works by repeatedly dividing the larger number by the smaller one, then taking the remainder and using it as the new smaller number. This process continues until the remainder is zero.
Since the remainder is now 0, we stop. The last non-zero remainder (6) is the greatest common divisor of 48 and 18. Therefore, GCD(48, 18) = 6
We can verify this result:
Indeed, 6 is the largest number that divides both 48 and 18 without leaving a remainder. This example demonstrates how the Euclidean algorithm efficiently reduces the problem size in each step until it reaches the solution, showcasing its elegance and effectiveness.
领英推荐
The Khipu
Urton (2003) presents a groundbreaking theory about the khipu (also spelled quipu), an Incan record-keeping system using knotted cords shown below. He proposes that the khipu represents a sophisticated binary recordkeeping system, with binary choices made at each step of the khipu-making process. This research underscores the existence of complex, binary-based information systems in non-Western cultures, predating modern computing.
Final Thoughts
These ancient mathematical procedures represent early forms of algorithmic thinking, providing systematic ways to solve complex problems and laying the groundwork for modern computational methods. Interestingly, for much of history, algorithms were often seen as less prestigious than other forms of mathematical reasoning—as tools for approximation and managing error when more elegant, deductive methods fell short (Daston, 2022).
Preview
In my next blog post, "The Legacy of Algorithms: The Industrial Revolution and the Birth of Modern Computing," I explore how the groundwork for our current algorithmic age was laid in the 19th and early 20th centuries.
References
Daston, L. (2022). Rules: A short history of what we live by. Princeton University Press.
Knuth, D. E. (1998). The art of computer programming: The: Seminumerical algorithms (3rd ed., Vol. 2). Addison-Wesley.
Mansfield, D. F., & Wildberger, N. J. (2017). Plimpton 322 is Babylonian exact sexagesimal trigonometry. Historia Mathematica, 44(4), 395–419. https://doi.org/10.1016/j.hm.2017.08.001
Mansfield, D. F., & Wildberger, N. J. (2018). Written in stone: The world’s first trigonometry revealed in an ancient Babylonian tablet. In M. Pitici (Ed.), The best writing on mathematics 2018 (pp. 179–184). Princeton University Press. https://doi.org/10.1515/9780691188720-016
Urton, G. (2003). Signs of the Inka Khipu: Binary coding in the Andean knotted-string records. University of Texas Press.
Randy Bennett, Ezekiel Dixon-Román, Nicole Sansone Ruiz, Kara McWilliams, and Jeremy Roschelle, I thought you would find this blog of interest.