We cannot conceive the historical moment in which we live without noticing the importance of computing. In just a few years it has gone from being used in specific areas to being omnipresent, and not only in computers, but also in mobile phones and almost all commonly used technologies (such as the so-called “wearables”).
In fact, the computer or mobile phone you use to read this article has such technology that a few decades ago it would have needed a huge space to operate (or it would have been completely unfeasible). And today we are moving towards an extraordinary miniaturization of computer components, which will expand their use and facilitate their expansion to all areas of life.
The advance that technology subjects us to is unstoppable, to the point that without it we would no longer be able to live optimally. Our species depends on computing, because today’s society is of such complexity that naked cognitive functions no longer allow it to be managed successfully, requiring external help to compensate for our shortcomings.
In this text we will see What is the concept of the Turing machine? , created in the middle of the 30th century. Its contribution to computing as it is known today is evident, considering it the model on which the logic and architecture of current computers are based. That is: the mother of a technology that has not only changed the world, but also the horizon of humanity.
What is the Turing machine?
The Turing machine is a device created in 1936, which represents an idealized model of computing capable of storing/processing virtually infinite information The system is a mathematical abstraction that is constructed in an extraordinarily simple way, but that facilitates the empiricist verification of a wide range of questions on the theories of computability and/or complexity. His idea marked a great milestone in the history of computing, to the point of being considered the origin of today’s computers (and related technologies, such as tablets or mobile phones).
The architect of this was Alan M. Turing, English logician and mathematician who sought all his life to conceive a theoretical model with which to respond to the unknowns of his discipline, automatically and accessible to all.
This British genius, whose historical importance cannot be questioned, also contributed (along with several Polish scientists) to unraveling the cryptographic codes that the Nazi military used to secretly communicate with each other during the sad Second World War (through what became known as an enigma machine). To this end, he devised an electromagnetic cutting device (bombe), whose use shortened the duration of the conflict and saved countless human lives, by allowing the regime’s plans to be revealed during the time that hostilities continued.
The Turing machine is the historical precursor of modern “stored program computers” , which allow both the saving of the data and the algorithms on which they are built. Its advantage, and one of the factors that generates fascination among computing theorists, is its simplicity and its enormous configuration possibilities at a technical level; and it makes experimentation possible through how its physical elements are arranged and the “question” with which its use is programmed is posed (through algorithms, which are translated into a “succession” of codes that are inspired by logical language. ). This versatile capacity is due to the very nature of the data with which it operates, subject to an enormous level of abstraction.
In this way, the Turing machine It can be programmed to execute specific instructions that answer more or less complex questions All of this implies that one must know its particular language, with the aim of adapting the algorithm to it for its operation, aware that there is no universal code to clarify all the mathematical unknowns that slumber in nature itself (as indicated by the Church-Turing law). Therefore, the system requires a human mind behind it, which asks itself the question to ask and which knows how to “address” the device to resolve it.
The raw material of the Turing machine is computable numbers , that is, those that can be calculated objectively using a mathematical formula, and within a reasonable time frame. In this context, it is essential that it adapts to two specific “problems”: that of decision (each response is preceded by a series of previous calculation elements that can be answered dichotomously as yes/no) and that of stopping (recognizing whether the final responses are really possible, or whether the system will be “doomed” to process the order in an infinite/unresolvable loop). That is, there must be a specific algorithm for what it is intended to know and that its technology can respond with the necessary precision to “stop” and offer a solution.
Up to this point the theoretical logic of a Turing machine has been discussed in detail. In the next few lines we will delve into the core of its physical and/or functional particularities, with which the algorithm or operating rule that the user has established can be executed (and which can range from simple equations to the very core of the law of mathematical abstraction).
Description of the Turing machine
Along with the logical/mathematical foundation that has been described, the Turing machine requires a series of physical elements, which have the function of executing the commands entered previously. Their arrangement can be diverse, since there would be almost infinite designs of this system, but the following are necessarily required: a paper tape or a similar material, a moving head whose end is capable of making lines (symbols or numbers) and a central processor in which to encode the algorithms that are required or that facilitate the analysis.
The tape is the most essential element of all of them. It is nothing more than a longitudinal strip, which is divided into a succession of squares of equal size (or boxes), and whose length will largely depend on the “effort” that must be carried out to solve the question posed by the user (may be as short or as long as deemed appropriate). The boxes are reserved for the head to draw different symbols (such as 0-1 in the binary code) in each one , and constitute the calculation product that will have to be checked after stopping. In computer terms, these tapes could be the memory of a modern computer. The first cells usually have an already established content (input), leaving the rest empty and ready to be occupied after the computing process.
Likewise, the Turing machine It consists of a head, a mechanical (mobile) appendage that moves to the left or right following the order that the system has for it At its end it has an elongation capable of engraving a line on the tape, giving its shape to the numbers or figures that correspond according to the code that determines the movement. The original model had a rudimentary technology head, but advances in the fields of robotics have allowed the emergence of new, more advanced and precise designs. The head “reads” the contents of the cells and moves a single square to either side (depending on its specific state) to continue executing the instruction.
Thirdly, there is a central processor intended to store code and algorithms containing instructions for the activity of the device, expressed following mathematical and logical terms. This language has a universal nuance, although it allows a certain degree of maneuver to introduce operational expressions formulated by the user (as long as the meaning has been operationalized). In this way, its head would facilitate the execution of instructions stored in the processor, which would be equivalent to what is known today as programs or applications (app). This system would allow any possible calculation to be reproduced and would stand as the predecessor of any of today’s computers.
Operation of this device
A Turing machine is designed to engrave a specific sample of symbols or numbers, the possible universe of which is usually called the “alphabet.” When it works with binary code, its total alphabet is two (0 or 1), but it can be as wide as deemed appropriate for the function to be performed. The head will only be able to reproduce on the tape cells what has been previously signaled in such a system, so a calculation (number “pi”, for example) will require the full spectrum of numbers (0 to 9).
In addition to this, what is known in practice as states (Q), which are also programmed by the user during the code description (and which are labeled as q1, q2, q3, q4… qn). The total range depends on abstract mathematical hypotheses, and outlines the conditional nuances of the logical formula of the code, with the aim of the head moving in the corresponding direction and performing the relevant action (“if you are in position q2, write “0” and don’t move”, eg).
Finally, there would be a “transition” function (delta), in which the total sequence (step by step) of mathematical processing is summarized, and which expresses the complete instruction: reading cell, writing new symbol, state changes (or not) and head movement; in a recurring cycle that stops when the answer to the initial question is found, or also at the moment when the user has foreseen it within his code (often through an exclamation, which is read as “stop”). As soon as the machine stops moving, the tape is recovered and the response it has provided is analyzed in detail.
As can be seen, There is a clear similarity between the Turing machine and the computers we use today His contribution has been key to exponentially advancing all subsequent computer design, to the point that his spirit resides at the very heart of a technology that allows us to stay interconnected.