Exploring Reducibility in Language Theory
250 likes | 322 Views
Discover how problems are reduced in complexity through examples and theorems in language theory, including the undecidability of the Halting Problem and Equivalence Problem for Turing Machines.
Exploring Reducibility in Language Theory
E N D
Presentation Transcript
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.