When Alan Turing noted in 1934 that the "Trapping problem" is the thing that slows Turing's machine, he made one of the most interesting findings in history. The Quanta magazine describes this problem like thins "As Turing noted in 1936, to compute something, a Turing machine must eventually halt — it can’t get trapped in an infinite loop. But he also proved that there’s no reliable, repeatable method for distinguishing machines that halt from machines that simply run forever — a fact known as the halting problem". (Quanta Magazine, How the Slowest Computer Programs Illuminate Math’s Fundamental Limits).
"The trapping problem" has two ways to make computers slower. The first thing is as in the "Quanta Magazine" has been described," there is no way to distinguish machines, that halt from machines that work forever". How to avoid the case that the machine is stuck in the loop, that continues forever?
The computer program must program the end code. And there must be a protocol for the case, that the data handling unit or server gets a higher priority code for handling. For the cases that some higher-level operators send data to the server, and the computer must cut the operation there must be points where the data is routed to storage. That thing guarantees that the computer can save processed data in the case of errors, and the data handling unit will not make unnecessary work.
The problem is that only the halted machines are ready for taking new missions. The second is when the program is done the system halts for waiting for the new command. And the system must tell others that the work is done.
So what this means? If the router sends the work to do for a group of Turing machines. There is the possibility that the router sends the data to the machine. Which is already working with some other problem.
For avoiding the problem and making sure that the work is done, the router can send the problem to many units at one time. That guarantees the work is done, but if the busy computer takes the job to the middle of its work, that new data can cause a terrible mess in the computer programs. If that thing is made many times, there are the expanding error-areas in the system, because more and more data handling units are getting error code in the system.
So how to avoid that thing? There must be a hierarchy in the data handling process. But there must also be a protocol for cases the higher priority of data is sent to the system. In the most urgent cases, the system must have a chance to stop the process and clean its memory before it will start the new process.
But that kind of data should anyway send for free servers or data handling units. That means the system should know if the server is done its work that the router would not cut routines or processes unnecessarily. The routine processes like updates and other kinds of things are the same way important as special duties. And in the worst case, the high-priority data is sent in the middle of the updating process, which causes a terrible mess.
As I just wrote, the data handling unit should tell the system, when it is done its work. That thing tells the router that the data handling unit is ready, to begin with, its new mission. And then what to do with fallen servers? There must be a protocol that the other servers would have a chance to clean the memory of some server if it is stuck with the loop, which continues forever.
The system must also have values like the description of the endless decimal numbers. So that means the computer would not try to calculate the ratio of the circle ring length to the diameter which is π, the endless decimal number. In those cases, the system must recognize this kind of case and there should be a limited value like 15 decimal numbers that are acceptable accuracy. Or the computer continues with that thing forever, because computers cannot end their mission automatically.
()https://www.quantamagazine.org/the-busy-beaver-game-illuminates-the-fundamental-limits-of-math-20201210/
Comments
Post a Comment