Evolution of algorithm has taken a long time. It is a very old 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 of 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 maths 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 in 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 first step in evolution of 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 made significant development throughout the mid-to-late industrial revolution. At 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 then after
The first-ever algorithm was proposed by unknown Indian mathematician who used the concept of zero and decimal position of numbers. This algorithm provided a base for many basic arithmetic operations such as square root, cube roots.
During the 1940s and 1950s, research was oriented towards building efficient computer systems, so that they can 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.
Application of computers in the diverse field led the search for more efficient algorithms and study of tractable and non-tractable problems.
Turing’s algorithm logic also laid the basis for variable-based operations. The value of the following symbol is determined by the calculation of the preceding symbols. 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, mathematician, and was professor at Stanford University professor. 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 developed formal methods of specification, which describes 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 input only. No algorithm works on every time of input. So with the development of algorithms, it has been essential to specify the limits of input and expected the output of the algorithm.
Study and development of efficient algorithms led to another aspect called the time-space trade-off. This opens up the study of problems which are 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, genetic algorithm.
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 routing, 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 the dinner, when you compute the portion of each member from the overall cost, that method also follows algorithm.
Thus evolution of algorithm has taken a shape from cuniform to the digital computer.