Evolution of Algorithm – Origin and History
Evolution of algorithms has taken a long time. It is an ancient notion. We utilize algorithms all the time, whether we realize it or not. You may think of them as an inseparable element of each activity we take in our daily lives. Algorithms are not only fascinating to study, but they are also critical to the functioning of our modern, digital world.
Algorithms, as you may be aware, are frequently employed in mathematics and computer science. However, you may be shocked to find that you yourself utilize them on a daily basis. An algorithm is a recipe for any food dish. Planning a tour and fixing routes is also a potential algorithm. Planning family functions is also an algorithmic process.
Algorithms are utilized in current applications such as mathematical determinations, data processing, and automated reasoning, to mention a few. Simply said, without them, the modern world would function quite differently.
In this article, we will look at the interesting and extensive history of algorithms in a nutshell. We’ll look at the history of algorithms, including their etymology (origin of the word), and then look at some of the most significant ones. We’ll also take you on a brief tour of some of their contemporary applications.
Etymology of the Word “Algorithm”
We will discuss the evolution of algorithms from etymology to evolution to recent trends in algorithms.
There is an interesting history behind the name “Algorithm“. Muhammad Ibn Musa al-Khwarizmi, a 9th-century scholar, astronomer, geographer, and mathematician, became well-known for his contributions to the study of algebra.
Al-Khwarizmi authored a book about Hindu-Arabic numbers in Arabic, which was eventually translated into Latin. Later, this book was translated in Latin with the title “Algoritmi de numero Indorum”. After then, the Latin word ‘algoritmi’ was translated into English as ‘algorithm’.
Some refer to Al-Khwarizmi as “the Father of Algebra,” and he is largely regarded as the scholar who introduced advanced mathematics to the West following the fall of Rome.
Surprisingly, Al-Khwarizmi appears to have built on the work of an older Indian polymath known as Brahmagupta.
The term “algorithm” is now used to refer to any technique of computing. This is especially true since the mid-twentieth century when it was frequently employed with respect to computing.
The term “algorithm” was coined by the Persian mathematician al-Khwarizmi in the ninth century.
Image Source: https://www.bbc.co.uk/ideas/videos/why-algorithms-are-called-algorithms/p07gdlwf
Evolution of Algorithm
According to historical documents and archaeological evidence, the Babylonians may have constructed the first identifiable algorithm about 1600 BC. These algorithms, which were recorded on clay tablets in a form of cuniform, were used for factorization and determining square roots, among other things, and were quite simple by today’s standards. This could be stated as the first step in the evolution of the algorithm.
In approximately 300 BC, the great Euclid created his renowned “Euclidean algorithm,” which was followed by Eratosthenes in 200 BC with his so-called “Sieve of Eratosthenes.” Lui Hui described Gaussian elimination in 263 AD, while Brahmagupta created Chakravala in 628 AD.
The contemporary algorithm saw significant development throughout the mid-to-late industrial revolution. During this period, George Boole famously created binary algebra, which served as the foundation for contemporary computer coding.
With his iconic Turing machine, Alan Turing formalized the idea of the algorithm for the first time in 1936. The world of computation has been totally changed since then.
The first-ever algorithm was proposed by an unknown Indian mathematician who used the concept of zero and decimal position of numbers. This algorithm provided a basis for many basic arithmetic operations, such as square roots, and cube roots.
During the 1940s and 1950s, research was oriented toward building efficient computer systems, so that they could be used in scientific, commercial, and engineering problems.
Structural programming came into existence after Alan Turing introduced the idea of Effective Procedure in 1936.
People realize that effective programming is as important as hardware resources.
The application of computers in diverse fields has led to the search for more efficient algorithms and the study of tractable and non-tractable problems.
Turing’s algorithm logic also laid the basis for variable-based operations. The calculation of the preceding symbols determines the value of the following symbol. Progressive algorithms are born as a result of this. “We may now design a machine to do the task of this computer,” Turing stated in his hypothesis.
Donald Knuth – Father of Algorithms
Donald Ervin Knuth is an American author. is an American computer scientist, and mathematician, and was a professor at Stanford University. He received the ACM Turing Award in 1974, which is regarded as the “Nobel Prize” in computer science. Knuth has been named the “Father of Algorithm Analysis.”
Image Source: https://www.frontiersofknowledgeawards-fbbva.es/galardonados/donald-e-knuth-2/
Knuth authored the seminal “The Art of Computer Programming” as an associate professor at Caltech, a seven-volume collection that rapidly became a go-to book for anybody interested in the how’s and why’s of computer programming.
Analysis of Algorithm
The branch of the study of tractable and non-tractable problems is known as complexity theory. Algorithms are being analyzed on various bounds. The focus of researchers was on minimizing the lower bound running time of algorithms.
Later, they developed formal methods of specification, which describe the precise nature of input to verify the correctness of the algorithm.
Typically, algorithms are designed to solve specific problems only, so they are bound to operate on specific inputs only. No algorithm works on every input. So, with the development of algorithms, it has been essential to specify the limits of input and expected output of the algorithm.
The study and development of efficient algorithms led to another aspect called the time-space trade-off. This opens up the study of problems that are both tractable in time and tractable in space. Tractable problems are those which can be solved in a reasonably acceptable time.
Approximation algorithms came into the picture to provide an approximate solution to non-tractable problems in a reasonably acceptable time.
Randomized algorithms have given a new direction for solving many time-consuming problems. Randomness can be thought of as an integral part of many algorithmic strategies, like simulated annealing and genetic algorithms.
Quicksort is sufficient to explain the importance of randomness. Quicksort runs in quadratic time for sorted data, but with randomized pivot selection, it can be reduced to n.log2n.
Algorithms in Daily Routine
Even if computers did not exist, it is probable that algorithms of some type would still play a significant part in your daily life.
We utilize algorithms in our everyday routine, whether we realize it or not. Any task, from simple to complicated, may be seen as a potential algorithm.
Having stated that, below are some examples of algorithms in use in everyday life.
Planning a Tour
Before you start on your journey, you will undoubtedly consider a lot of factors, including location, the best time to visit the location, method of transportation, nearby tourist attractions, accommodation, and so on. This action sequence is referred to as an algorithm.
Solving an Assignment
When a student needs to solve an assignment, he must follow a specific sequence of steps. For example, if he receives an assignment from his professor, he must find the right book or resources to answer the question. Students may use Google or ask their friends for assistance before completing the task. As a result, the entire procedure is an algorithm.
It’s your birthday next week, and you’ve decided to treat your pals. What are your plans? You consider the ideal venue, you will confer with someone about the theme of the party, the menu of the party, which cake should be excellent, the order of events, timings, and so on. Everything is meticulously planned by you. You go through your plans several times to ensure that they are as effective as possible. This process of ensuring desired output is nothing but an algorithm
Basic Arithmetic operation
You get milk bottles from the milkman every day, and you have to pay him the whole sum at the end of the month. So you’ll take the number of milk bottles you purchased over the past month and multiply it by the cost of each individual bottle. This will give you the entire amount you spent on milk over the course of a month.
When you go to a party with friends, and after dinner, when you compute the portion of each member from the overall cost, that method also follows the algorithm.
Thus, the evolution of algorithms has taken a shape from cuniform to digital computers.
Short Questions on Evolution of Algorithms
Q: Who is the pioneer of the study of Algorithms?
Muhammad Ibn Musa al-Khwarizmi, a 9th-century scholar, astronomer, geographer, and mathematician, became well-known for his contributions to the study of algebra.
Q: Who is known as the father of linear algebra?
Muhammad Ibn Musa al-Khwarizmi is known as the father of linear algebra
Q: Who is known as the father of algorithms?
Donald Ervin Knuth is an American author an American computer scientist, a mathematician, and a professor at Stanford University professor is known as the father of algorithms.
Q: Name the famous book of Donald Knuth
“The Art of Computer Programming” is a well-known book written by Donald Knuth.
Q: Enlist a few daily routine activities that can be described as an algorithmic process
Any routine work takes predefined steps, we can consider them all as an algorithmic processes such as,
- Making a tea/coffee
- Prepare food
- Be ready to go to the office
- Clearing the examinations
- Go on tour with friends
- Attend/arrange functions