260 likes | 427 Views
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 .
E N D
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 3 Area = 137.5 30 10 60 12.5 5 25 11 5
Simple Examples • In a very similar way, OpenGL 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.
DA acc acc IB IA R DB rej rej Reducibility and Decidability
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.
acc acc DA acc M, w U M, w DH rej rej rej The Halting Problem for Turing Machines
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.
Mw acc acc x = w M, w U x COMP rej rej xw The Emptiness Problem for Turing Machines
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.
DA acc rej M, w Mw CONVERT DE acc rej The Emptiness Problem for Turing Machines
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.
DE acc acc M M, M DEQ rej rej The Emptiness Problem for Turing Machines
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.