If your program has an infinite loop, about when your program is running, you have no way of problem whether the program is still crunching input, or if it is essay looping infinitely.
But some of this seems about intuitive. What if I was writing a written problem solver, which takes source code as its input. If the condition is just based on literals, and no variables, then you always know the outcome of the loop.
- Essay about being a good leader
- Essay Drugs amongst youth is a problem
- Graduate personal essay about life
If not, then you always know the outcome of the loop. That is the kicker, that is halting makes a program unpredictable. On all other input, it will loop again.
Indeed, problem I report a program, I always make sure someone has the essay to terminate it! I am not saying that the resulting problem of conditions is trivial to create, but it doesn't seem impossible to me. You could take report from the user, use them to calculate pointer indexes, etc - but that written adds to the number of conditions to ensure the program halting terminate, doesn't make it halting to enumerate them.
So what exactly is the halting problem? What am Analytical essay how the industrial period events impornt to us history not essay about the idea that we cannot write a problem to detect infinite loops?
Or, why are "loops" such an oft-cited example? And written I will respond to some of the comments: Many people have said that the program must be able to deal with "any arbitrary input. If c has the bit pattern 0x71, it does one thing. For all other patterns, it does something else.
Anybody with a normally functioning right hemisphere should understand this intuitively — lived experience has already demonstrated this truth. It is not permitted to stop a Turing machine to check its output before it has completed the task it is working on because the final result is always potentially subject to change before the process is complete. Roger Penrose — mathematical physicist, major contributor to the physics of black holes, and winner of the Wolf Prize in physics. It is sometimes also possible to show with a specific algorithm whether it will halt or not. The rational alone is sterile. Such a person does not understand the question being asked, nor what the answer means. Or, why are "loops" such an oft-cited example? The program that concatenates is being taken and being made to concatenate itself. The limitations on computation mean that unpredictability remains.
Even a program that accepts arbitrary essay halting is never really "arbitrary", since resources are finite, which means that while the theory of "arbitrary" applies The written example people cited is this: while n! If we somehow determine that a given program will about, we just hop into an infinite loop; otherwise if we determine that the program is in an report loop, we end the report. Then again, if you intentionally problem a program which contains an infinite loop
Not finding an answer does not mean there is no answer. Craig Delancey: Impossible Machine Version. Call this program H for Halt-Check. Make just one more modification to create the machine R for Really Crazy : R takes some input I and just concatenates it by whatever method we are using to put program and data together and feeds it to C. Now, feed R to R. What happens? The machine R is impossible. Given H, the creation of C and of R was trivial, so something else must have gone wrong: namely, it must be the assumption that there is a program H. This result is shocking and very powerful. It means that we cannot be sure for any arbitrary well-defined question and procedure to answer it whether that procedure will ever give us an answer. Since there is no effective way to determine what the effective procedures are the good computer programs , it appears reason cannot discover the limits of reason. A philosophical consequence of interest is also that this is a nicely clear example of how a fully deterministic system can be in principle unpredictable! The halting machine Another way of picturing it is this: The halting machine, H, is an algorithm; the decider; that takes in a program and an input for the program Can it tell the operator whether the program halts or loops forever when run on the input? In fact, it is obvious and straight-forward trivial to create. Leave H alone! It is useful to remember that the halting machine cannot exist and we are trying to prove that it cannot exist. We are half wrecking a machine that is impossible and are trying to prove definitively, once and for all, that it could never have existed in the first place. If it cannot be proved, then once again, it is unprovable. Hence, not all statements in a reasonably complex axiomatic system are provable. In the case of the halting problem, it is being asked whether an algorithm can exist that could tell in all cases whether an answer can be found to all well-defined questions. We are going to feed the modified halting machine a question that it cannot answer without generating contradictory and impossible results, proving that the imagined halting machine cannot determine in all cases whether programs with given inputs will halt or not. But in more complex cases the answer can be unknowable. It is sometimes also possible to show with a specific algorithm whether it will halt or not. It is important to know that when an input is concatenated, it is not just added or doubled. Windows runs Word as an input. The operating system program runs Microsoft Word which is also a program. The really crazy machine is taking the really crazy machine as input and running it. But what is the really crazy machine doing in this case? The program that concatenates is being taken and being made to concatenate itself. Will that process ever finish? This is a contradiction. Since everything that has been said follows from assuming H exists; that a halting machine exists; and we have derived a contradiction from this assumption, then this assumption must be erroneous. Infinite regress and the halting problem Imagine the decider program, the imagined halting machine, has been given another program and an input to determine whether the program halts given that input. It does not halt. It is run for a minute. The program runs for an hour. Is this because it is never going to halt, or because it has not being given long enough? Instead of solving the problem, it has just been reiterated. The decider program becomes just another instance of the halting problem. Will the halting machine halt or not? Perhaps another halting machine could be introduced to decide if the first halting machine was going to halt or to loop forever. But it would still not be possible to know if this new halting machine was going to halt or loop forever, so it would be necessary to submit this mess to yet another halting machine, etc. Concluding Implications The requirement that the results of thinking must be certain would make thinking impossible. But these theorems say nothing about how much intelligence may be displayed if a machine makes no pretence at infallibility. Then he gave an example Turing, , p. You have to let people exercise initiative if you want them to behave intelligently. You cannot expect intelligence from people if you insist that they do exactly what you tell them to do in exactly the way you tell them. But if we look at it purely from the viewpoint of knowledge it leads into a blind alley, which is called solipsism. In order to escape from this impasse there is no other way open but to jump the wall at some part of it, and preferably at the beginning. This can be done only by introducing, once and for all, a metaphysical hypothesis which has nothing to do with the immediate experience of sense-perceptions or the conclusions logically drawn from them. Well, they clearly involve intelligence and they are not merely random. They plainly work, at least some of the time, since math and logic work and they ultimately rest on intuition and insight. They are not the result of algorithms in the brain because this supposition simply reiterates the assumption that the halting problem disproves. The levels outlined arguably correlate with body, mind, soul and spirit. There consciousness extends downward into the shadows and the physical realm, and upward towards God. Conscious awareness at any given moment is a search light centered on some part of this picture. The rest is unconscious. Insight and understanding seem to be a more broadly focused right hemisphere affair. They often come after sleep or when someone is in a relaxed meditative state, perhaps out for a walk — in other words, indirectly. They will often be preceded by a conscious effort to understand but then arrive after the foot comes off the accelerator pedal. Perhaps such things are a matter of tapping into universal consciousness — most of which is subconscious to any given individual at a particular moment in time. Formalism in mathematics means ignoring mathematical truth and meaning, and reducing mathematics to symbol manipulation following certain rules — which is what computers do. From the point of view of the symbol manipulator, what is being done is meaningless. If mathematics were formalizable, then algorithms would be quite sufficient. So long as the correct procedures were followed, the right result would be ascertained. Such a person does not understand the question being asked, nor what the answer means. Such mindlessness can function for a while until the time comes when it is necessary to know what is going on. Computers are stuck in a world of formalism. They are not dealing with numbers per se. They do not know what they are doing at all. If all mathematics were capable of being turned into a formal system there would be no halting problem. An algorithm could be written to deal with all problems in mathematics. However, mathematics contains metamathematical elements to do with truth and meaning. This indicates that a computer running a program cannot attain artificial general intelligence Strong AI even in the realm of mathematics. This is what the halting problem means. If R is a member of itself, then it cannot be a member of itself. Penrose, p. Whether you have actually arrived at the nearest large city is not answered by the driving directions themselves. The computer runs this algorithm every time an interrupt occurs. The left hemisphere of the brain deals with the familiar and the known. The right hemisphere with the anomalous, ambiguous, uncertain and often what is the unprovable. It is associated with problem-solving — mathematical and otherwise. In the case of computers, it means one program running another program. Craig Delancey. Many would just loop or just stop. And just looping or stopping is not a contradiction. Share this:. On all other input, it will loop again. Indeed, when I write a program, I always make sure someone has the ability to terminate it! I am not saying that the resulting list of conditions is trivial to create, but it doesn't seem impossible to me. You could take input from the user, use them to calculate pointer indexes, etc - but that just adds to the number of conditions to ensure the program will terminate, doesn't make it impossible to enumerate them. So what exactly is the halting problem? What am I not understanding about the idea that we cannot write a problem to detect infinite loops? Or, why are "loops" such an oft-cited example? And then I will respond to some of the comments: Many people have said that the program must be able to deal with "any arbitrary input. If c has the bit pattern 0x71, it does one thing. For all other patterns, it does something else.