Undecidable Problems From Language Theory Lecture 33 Section
Undecidable Problems From Language Theory Lecture 33 Section 5. 1 Wed, Nov 7, 2007
Reducibility • A problem A is reducible to a problem B if a solution to B gives us a solution to A. • More specifically, an instance of problem A can be restated as an instance of problem B. • We will have a precise definition of reducibility later.
Simple Examples • Sorting a list of numbers reduces to the pair of problems • Find the smallest number in a list. • Swapping two numbers in a list.
Simple Examples • How could we reduce the problem of finding the area of the hexagon to simpler problems? 6 10 2 3 10 5 11 5
Simple Examples • How could we reduce the problem of finding the area of the hexagon to simpler problems? 6 10 2 3 10 5 11 5
Simple Examples • How could we reduce the problem of finding the area of the hexagon to simpler problems? 6 10 2 10 10 3 30 60 25 11 12. 5 5 5 Area = 137. 5
Simple Examples • In a very similar way, Open. GL reduces the problem of shading polygons to the problem of shading triangles.
Reducibility and Decidability • Theorem: If A is reducible to B and B is decidable, then A is decidable. • Proof: • Let R be a Turing machine that reduces A to B. • Let DB be a decider of B.
Reducibility and Decidability DA I A acc R I B DB acc rej
Reducibility and Decidability • Theorem: If A is reducible to B and A is undecidable, then B is undecidable. • Proof: • This is the contrapositive of the previous theorem.
The Halting Problem for Turing Machines • Define the language HALTTM to be HALTTM = { M, w | M halts on w}.
The Halting Problem for Turing Machines • Theorem: HALTTM is undecidable. • Proof: • We will show that ATM is reducible to HALTTM. • Suppose that HALTTM is decidable. • Let DH be a decider for HALTTM. • We build a decider DA for ATM.
The Halting Problem for Turing Machines DA M , w acc U rej DH rej acc rej
The Halting Problem for Turing Machines • Thus, we could build a decider for ATM, which we know to be impossible. • Therefore, HALTTM is undecidable.
The Emptiness Problem for Turing Machines • Define the language ETM to be ETM = { M | L(M ) = }.
The Emptiness Problem for Turing Machines • Theorem: ETM is undecidable. • Proof: • Suppose ETM is decidable. • Let DE be a decider for ETM. • Let COMP be a Turing machine that compares two strings. • Given M, w , build the Turing machine Mw as follows.
The Emptiness Problem for Turing Machines Mw x x = w M , w COMP x w acc U rej
The Emptiness Problem for Turing Machines • What is the language of Mw? • Let CONVERT be a Turing Machine that will read the M, w pair and construct the Turing machine Mw.
The Emptiness Problem for Turing Machines DA M , w acc CONVERT M w DE rej acc
The Emptiness Problem for Turing Machines • Thus, we could build a decider for ATM, which we know to be impossible. • Therefore, ETM is undecidable.
The Equivalence Problem for Turing Machines • Define the language EQTM to be EQTM = { A, B | L(A ) = L(B)}.
The Equivalence Problem for Turing Machines • Theorem: EQTM is undecidable. • Proof: • Suppose EQTM is decidable. • Let DEQ be a decider for EQTM. • Let M be a Turing machine that accepts no input.
The Emptiness Problem for Turing Machines DE M acc M, M DEQ rej acc rej
The Emptiness Problem for Turing Machines • What is the language of DE? • Thus, we could build a decider for ETM, which we know to be impossible. • Therefore, EQTM is undecidable.
- Slides: 24