Reduction is a powerful technique in the field of computational complexity theory that plays a important role in proving undecidability. This technique allows us to establish the undecidability of a problem by reducing it to a known undecidable problem. By demonstrating that a known undecidable problem can be transformed into the problem at hand, we can conclude that the problem under consideration is also undecidable.
To understand how reduction works, let's consider two problems: problem A and problem B. We want to prove that problem A is undecidable. To do so, we assume that problem B is undecidable and then show that problem A can be reduced to problem B.
The reduction process involves constructing a mapping from instances of problem A to instances of problem B. This mapping should preserve the answer, meaning that if an instance of problem A has a positive answer, then the corresponding instance of problem B should also have a positive answer, and vice versa.
To prove the reduction, we need to show two things: correctness and completeness. Correctness means that the reduction mapping produces the correct output for each instance of problem A. Completeness means that every instance of problem B has a corresponding instance of problem A.
Once we establish the correctness and completeness of the reduction, we can conclude that if problem B is undecidable, then problem A must also be undecidable. This is because any algorithm that could solve problem A could be used, via the reduction, to solve problem B, which contradicts the assumption that problem B is undecidable.
Let's illustrate this with an example. Suppose we want to prove that the Halting Problem, which asks whether a given program halts on a given input, is undecidable. We assume that the problem of determining whether a program contains an infinite loop is undecidable. We then construct a reduction from the infinite loop problem to the Halting Problem.
Given an instance of the infinite loop problem, which is a program P, we construct a new program Q that simulates P and halts if P contains an infinite loop. Otherwise, Q enters an infinite loop. The reduction mapping is complete because every program Q corresponds to some program P. The mapping is correct because if P contains an infinite loop, then Q halts, and if P does not contain an infinite loop, then Q enters an infinite loop.
By showing this reduction, we establish that if the Halting Problem were decidable, then we could use the reduction to solve the infinite loop problem, which contradicts our assumption that the infinite loop problem is undecidable. Therefore, we conclude that the Halting Problem is undecidable.
The technique of reduction is a powerful tool in proving undecidability. It allows us to establish the undecidability of a problem by reducing it to a known undecidable problem. By constructing a mapping that preserves the answer between the two problems, we can demonstrate that if the known problem is undecidable, then the problem under consideration must also be undecidable.
Other recent questions and answers regarding Decidability:
- Can a tape be limited to the size of the input (which is equivalent to the head of the turing machine being limited to move beyond the input of the TM tape)?
- What does it mean for different variations of Turing Machines to be equivalent in computing capability?
- Can a turing recognizable language form a subset of decidable language?
- Is the halting problem of a Turing machine decidable?
- If we have two TMs that describe a decidable language is the equivalence question still undecidable?
- How does the acceptance problem for linear bounded automata differ from that of Turing machines?
- Give an example of a problem that can be decided by a linear bounded automaton.
- Explain the concept of decidability in the context of linear bounded automata.
- How does the size of the tape in linear bounded automata affect the number of distinct configurations?
- What is the main difference between linear bounded automata and Turing machines?
View more questions and answers in Decidability

