Why halting problem is important




















Halting problem says that is not the case. These kinds of practical questions are at the essence of how we approach modern computing, and the undecidability of the halting problem sets some limits. Aside from the more straightforward and perhaps even obvious implications of the halting problem, there are issues involving machine ethics which is seemingly impossible to solve due to the undecidability of the halting problem. As we enter the future of autonomous machines and robots, it is no secret that we are not well prepared for it economically, politically and more importantly, ethically.

For instance, can we trust autonomous drones and weapons to choose the right target if and when used in a war zone? In , Englert et al. While a thorough reading of the article is highly recommended, let us briefly examine here one of the scenarios presented in the paper, which is a modified version of the famous philosophical and ethical thought experiment known as the Trolley Problem. Computer science and AI have come a long way since Turing, and have effectively taken over the lives of many across the globe.

But the transformation has been reasonably quick, and there are many unanswered questions about our relationship with these technologies. It is also worth noting that we are still in nascent stages of this transformation, so it is safe to assume that further philosophical, ethical and scientific questions will pile up.

There is a lot more to learn. Alan Turing tackled questions which became the foundation of this technology and our understanding of computing theory. Rohit Arora obtained his Ph. Post-PhD he worked as a postdoc in France in collaboration with a major pharmaceutical company. He enjoys reading about the history of mathematics, geometry, and philosophy. Pawan Nandakishore is Data Scientist working at Colaberry.

He started out as a was a Ph. He has applied them through his Ph. He now leads product development at Colaberry and in his spare time helps out people in making a transition to Data Science. If he has any more spare time left during the week dabbles with various research problems in computer vision. She pursued her Ph. To unwind herself she plays mandolin and eagerly looks for a corner at a coffee house to slide herself in with a good read or company.

Follow her on Twitter. Her research area focuses on cellular and molecular neuroscience. She is a fun, enthusiastic and curious person, passionate about traveling, loves celebrations and bringing smiles around her. International Trailer of The Imitation Game Enigma machine , was a typewriter-like machine which generated polyalphabetic substitution ciphers to provide necessary encryption to transmitted radio messages. That is how enigmatic Enigma worked!

Image source: Wikimedia Commons. Enigma L and Bombe R The Halting Problem If you were asked to write a series of instructions to find all prime numbers between , in a finite amount of time, you would eventually execute the task. In python, it will be written as: Now let us assume that a halting function exists which can always tell if any function f on input x will halt stop or if it will go on infinitely 4.

This is the superpower of the halting function, and it can do this for any f and x. Then along comes someone more clever than us who wants to ruin our business, and writes another function, call it paradox , and it is defined as follows: This one is a bit of a head-scratcher because someone more clever than we wrote it, so let us try to follow the logic to the end.

We observe the following: Next, the intelligent person did something more clever, i. So the clever person has successfully destroyed our business model. Following are the simplified breakdown of the problems under consideration: An uncontrolled trolley is racing down an abandoned track — completely harmless. However, there is a lever at the junction which, when pulled, will divert the cart on a different track and at the end of this track there is a group of workers who will get severely hurt if the trolley crashes into them.

There is a person, who is known to be evil, is now at the lever and can pull it to divert the train towards the workers. Now consider the following replacements in this scenario: i You are replaced by a robot. The evil person swears they have had a change of heart and the software is clean. They offer the robot to the check source code before using the software. A robot will have to be equipped with an algorithm which can analyze the code for bugs which may make the software go on forever.

As a consequence of the halting problem, we know that such an algorithm is impossible. So a robot will not be able to make this decision. In this case, should it stop the evil person or let them proceed? I will continue to discuss more topics like this in future articles. Some aspects of their work will be discussed in future articles. At the start of the 20th century, the belief was that this was true.

Mathematicians there were no computer scientists back then! Using some very clever techniques, he showed that as soon as we devise a system that's sufficiently powerful and well-behaved to encompass mathematical reasoning, that system will necessarily contain a statement that we could never prove is true, even though it is true. A few years later, Alan Turing proved an analogous theorem in Computer science.

He showed that there must exist undecidable problems, questions for which there is no definable solution. Here, I present an adaptation of Turing's proof. Here's a problem: given a computer program and some input to that program, will the program go into an infinite loop when fed that input?

One could imagine this being a useful tool - you could detect infinite loops in your program before you ever ran it, saving yourself some debugging nightmares later. Note that the naive solution, running the program on the input and waiting to see if it stops, isn't valid because it could potentially run forever. You don't learn anything. Assume that I was particularly inspired one day and I managed to write a solution to the halting problem. It might look something like this:. Don't worry about the specifics of the something terribly clever ; just assume I managed to write it somehow.

I could now use this program to check, without actually running a program, whether it will loop forever on a particular input. In computer science, the computational complexity, or simply complexity of an algorithm is the amount of resources required for running it. Decision problems — A decision problem has only two possible outputs yes or no on any input. In computability theory and computational complexity theory, a decision problem is a problem that can be posed as a yes-no question of the input values.

Like is there any solution to a particular problem? The answer would be either a yes or no. Turing machine — A Turing machine is a mathematical model of computation. A Turing machine is a general example of a CPU that controls all data manipulation done by a computer. Turing machine can be halting as well as non halting and it depends on algorithm and input associated with the algorithm.

Now, lets discuss Halting problem:. Skip to content. Change Language.



0コメント

  • 1000 / 1000