History has witnessed the birth of computing in a series of fascinating events marked by the abridgement of the human capability of solving problems. The invention of computing has transpired time and again when mathematics crossed paths with computing. We, computer enthusiasts, reminisce a great picture of Charles Babbage with his models of different engines and analytic engines when marked the history of computing, which were results of an adamant mathematician trying to reduce efforts in calculation promising better accuracy for the time. Ideas established dating way ahead of their time forming a breakthrough in the field of computing. A similar mathematical event marked the accidental birth of computer science, a monumental legacy conceived from trying to answer a very abstract question about the foundation of mathematics highlighting the interconnectedness between these two fields.
In the early 1900’s it had come to light an ambiguity about the very core of the mathematical study. No one seemed to be really sure what they were studying when they were studying mathematics. Mathematicians weren’t quite sure if math was a study of real-world objects or abstract entities. Did it exist in our minds or in some other realm of existence? A theory was already put forward by Plato describing that the mathematical entities and their relationships belong to their own ideal world separate from ours. A world of forms where these entities existed in perfect harmony. The modern-day mathematicians mostly discredited the theory trying to discover a definite answer. David Hilbert, a renowned mathematician tried to axiomatize whole mathematics into a formal system eliminating all the ambiguity and inconsistencies prevailing by answering these 3 questions:
1) Is mathematics complete?
i.e. a proof was required that all true mathematical statements which existed within the system could be proven within the system.
2) Is mathematics consistent?
i.e. no contradictions can be proven within the system.
2+2=4 and 2+2≠4 (contradiction mustn’t exist)
3) Is mathematics decidable?
i.e. there should exist and effective procedure for deciding the truth or falsity of any mathematical statement.
Hilbert wanted to construct a system that governed mathematics with a fixed set of rules which defines the term formal system. At the time the Euclidean geometry was famously defined as a formal system as it was designed under some fixed axioms and Hilbert wanted to do the same, constructing a foundational axiom for mathematics itself.
Alan Turing, a young mathematician alongside Hilbert was working on the decidability problem. The concept of effective procedure which we now famously term an ‘algorithm’, in the 30s was pretty vague. Turing firstly gave a clear picture of effective procedure defining it as anything a human computer could do by mindlessly following a list of instructions using no genius or insights was an effective procedure. Computers as a machine back then didn’t exist and were referred to as humans who performed calculations. Turing firstly divided the basic components of human computing as:
- Read Instructions
- Read and Write symbols on a piece of paper
- Editing/Erasing symbols replacing it with a new one
- Stop when the computation is over
Thus, this approach was then replicated by a simple theoretical machine which can perform any task as human computers. The machine is famously known as the Turning machine. The machine consisted of the component called the scanning head which functioned over an infinitely long tape carrying symbols performing the following functions:
- Read one symbol at a time
- Erase one symbol at a time
- Write one symbol at a time
The machine was conceptualized so well that it could predict exactly what to do next. Turing designed the concept of states which tells the machine what to perform next which he termed internal states. Turing later realized that we can encode any internal state table into the lists of 1’s and 0’s which made it possible to feed the problems as well as instructions into a new machine. This machine could function as per the given set of instructions. By this the machine was now able to do any sort of task, may it be simple operations like addition subtraction, multiplication or any set of problems that a human computer could do. Today we know these kinds of computers as programmable computers. This was a remarkable event theorizing a whole new concept of computing. Turing then defined the Turing machine itself as an effective procedure rephrasing the famous decidability question as “did there exist a Turing machine for deciding the truth or falsity of any mathematical statement?”. Answering in terms of the Turing machine Turing discredited the possibility of axiomatizing mathematics in a general form. This led to a huge disgrace in the field of mathematics, but the concept of the machine itself took a life form of its own. The abstract concept of a machine proved to be so powerful that we cannot imagine modern machinery and devices without the concept of the Turing machine. Turing machines overtook the vague concept of computers into a form of a machine which provided the world with a blueprint of modern-day computers. By making a definition of computation that was so rigorous people were able to study the nature of computation and its limitations like never before. The world saw an accidental birth of computer science, a field that deals with the study of what computers can do and cannot do, the complexity of algorithms and the overall nature of computations.