Algorithm is the step-by-step process done to solve a specific problem. It entails a series of operations done sequentially in a repetitive pattern. Algorithms are well-defined. From the initial state, instructions are entered as an input to the computation which is then executed to come up with the output. Oftentimes, algorithms are used to eliminate inconsistencies and to determine the series of steps that can be done in the shortest possible time.
Algorithms exist as early as the 9th century when a Persian mathematician named Al- Khwarizmi penned the term algorism. He used it to refer to arithmetic operations of Hindu-Arabic numerals. Since then, different kinds of algorithms were created. Euclid devised one to calculate the greatest common divisor. Archimedes used it to come up with the Pi approximation. Eratosthenes created an algorithm to determine the prime numbers. Numerous calculations involve generating different algorithms to solve mathematical problems. By 18th century, algorithm refers not only to arithmetic operations but also to all problem solving procedures.
It was in 1936 when the concept of algorithm was truly formalized. Alan Turing developed the concept of a Turing machine which is considered by many as the ideal model for computation. He dissected the human computer as a set of actions wherein he will behave in accordance to the symbols and instructions he is currently observing. The more symbols he wishes to observe, the more succession has to be done. Therefore, Turing deduced that operations should include various symbols, the changes it brings upon the entities observing it and the changes it possess in response to the changes of others.
Algorithms are expressed in a variety of codes from flowcharts and pseudo codes to natural and programming languages. It can be expressed as a logical deduction, deterministic, quantum, parallel, recursive or any other orientation depending on its design, purpose and implementation.
Today, algorithms are applied in varied ways. It can be applied in mathematics, data processing and reasoning. Different purpose and implementation also gave rise to a new set of applications like cryptography, algorithmic information theory such as Chaitin’s constant and algorithmic game theory such as prisoner’s dilemma and Nash equilibrium.