problem X reduces to Problem Y solving X would be easy, if we knew how to solve Y

Similar documents
CSE 105 THEORY OF COMPUTATION

Computational Models Lecture 9, Spring 2009

Lecture 12: Mapping Reductions

Computation Histories

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

CSE 105 THEORY OF COMPUTATION

Computability and Complexity

Non-emptiness Testing for TMs

1 Reducability. CSCC63 Worksheet Reducability. For your reference, A T M is defined to be the language { M, w M accepts w}. Theorem 5.

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

CSCE 551: Chin-Tser Huang. University of South Carolina

CS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)

Lecture Notes: The Halting Problem; Reductions

Decidability and Undecidability

Reducability. Sipser, pages

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

CSE 105 THEORY OF COMPUTATION

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS154, Lecture 10: Rice s Theorem, Oracle Machines

1 Showing Recognizability

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE 105 Theory of Computation

4.2 The Halting Problem

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

ACS2: Decidability Decidability

Undecidable Problems and Reducibility

Chap. 4,5 Review. Algorithms created in proofs from prior chapters

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

Theory of Computation (IX) Yijia Chen Fudan University

SD & Turing Enumerable. Lecture 33: Reductions and Undecidability. Lexicographically Enumerable. SD & Turing Enumerable

Reductions in Computability Theory

Decidability. Overview. Preliminaries to Halting Problem. Decidable Problems of Regular Languages. Decidable Problems of Context-Free Languages

Computability and Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CSE 105 Theory of Computation

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Automata Theory CS S-FR2 Final Review

Mapping Reductions. Mapping Reductions. Introduction to Computability. Theory. Mapping Reductions. Lecture13: Mapping. Reductions

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Homework Assignment 6 Answers

Further discussion of Turing machines

Introduction to Languages and Computation

V Honors Theory of Computation

CSCI3390-Lecture 6: An Undecidable Problem

CS20a: Turing Machines (Oct 29, 2002)

Midterm II : Formal Languages, Automata, and Computability

Computational Models Lecture 8 1

Introduction to Turing Machines. Reading: Chapters 8 & 9

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

CSE 105 THEORY OF COMPUTATION

CSCE 551 Final Exam, Spring 2004 Answer Key

On Rice s theorem. Hans Hüttel. October 2001

CS154, Lecture 17: conp, Oracles again, Space Complexity

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Turing Machines, diagonalization, the halting problem, reducibility

Limits of Computability

Turing Machine Recap

Turing Machines Part III

Exam Computability and Complexity

CS20a: Turing Machines (Oct 29, 2002)

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

Decidable Languages - relationship with other classes.

CSE 105 THEORY OF COMPUTATION

Computational Models Lecture 8 1

Theory of Computation

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

Theory of Computation

Intro to Theory of Computation

CS21 Decidability and Tractability

Decidable and undecidable languages

Section 14.1 Computability then else

Decidability (intro.)

CS 361 Meeting 26 11/10/17

CpSc 421 Homework 9 Solution

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

Decidability (What, stuff is unsolvable?)

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

Introduction to Turing Machines

CS154, Lecture 13: P vs NP

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

Post s Correspondence Problem (PCP) Is Undecidable. Presented By Bharath Bhushan Reddy Goulla

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Definition: conp = { L L NP } What does a conp computation look like?

UNRESTRICTED GRAMMARS

CSCE 551: Chin-Tser Huang. University of South Carolina

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

Computational Models Lecture 8 1

CSCC63 Worksheet Turing Machines

Decidability: Reduction Proofs

Transcription:

CPS220 Reducibility A reduction is a procedure to convert one problem to another problem, in such a way that a solution to the second problem can be used to solve the first problem. The conversion itself must be doable by a Turing Machine that halts. That is, there must be a concrete algorithm for a conversion. REDUCTION: problem X reduces to Problem Y means solving X would be easy, if we knew how to solve Y Example 1. The problem of having a Ferrari reduces to the problem of obtaining $200K. Proof: Say that we could obtain $200K. The following algorithm leads us to drive a Ferrari: 1. Go to a Ferrari dealer. 2. uy a Ferrari (trivial, as several good models cost < $200K) Corollary. $200K is hard to obtain. Proof. ecause if it was easy, then having a Ferrari would be easy. Since that is not the case, the corollary follows. Example 2. The problem of traveling from oston to anywhere warm reduces to the problem of deciding on a warm location and buying a plane ticket to that location. This problem of buying a plane ticket reduces to the problem of earning the money for the ticket. This problem of earning the money reduces to the problem of finding a job. This idea of reducibility plays a part in classifying problems: if a A is reducible to and is decidable, A also is decidable. <A> Reduction algorithm <> Algorithm to decide yes no Algorithm to decide A 1

If A is undecidable and reducible to, is undecidable. Why? ecause if is actually decidable then we could build a machine and decide A therefore must not be decidable. HALT TM = { (M, w) M is a TM and halts on input w } Note: related to the A TM problem - A TM = { <M, w> M is a TM that s w } which determines whether a machine s a particular string (ance problem) Example. HALT TM = { (M, w) M is a TM and halts on input w } Theorem. HALT TM is undecidable. Proof. We will show that solving A TM would be easy, if we could solve HALT TM. Then, since we know that solving A TM is hard, we conclude that solving HALT TM is hard. More precisely, we will reduce A TM to HALT TM, which means that if HALT TM is decidable, then A TM is decidable which it isn t. < M,w > < M,w > Machine H to decide HALT TM No halt halt Simulate M on w Let a machine H decide HALT TM. Here is a machine S that decides A TM : A := On input (M, w), 1. Run H on input (M, w) 2. If H s, 3. If H s, simulate M on input w until it halts 4. If M s, ; if M s, Proof by contradiction. How? Classifying the Computability of Problems A language can be in one of the following categories: Decidable These are the problems that we call solvable by an algorithm. To prove a language decidable, find an algorithm run by a Turing Machine that always halts. 2

Recognizable To prove a language recognizable, find a Turing Machine that s all strings of the language and does not any strings out of the language. The Turing Machine is allowed to loop forever instead of ing. To prove the language not decidable, use a reduction from a recognizable problem that is not decidable. Non-recognizable Those are the hopeless problems! To prove a language is not recognizable, show that it is the complement of a language that is not decidable. Or, use a reduction from a non-recognizable language. E TM = { M M is a TM and L(M) = } Theorem. E TM is undecidable. Proof. We will reduce A TM to E TM. Say that there is a machine R deciding E TM. So R can decide, given a machine description (M), whether L(M) =. For a given string w, consider the following machine: M (w) := On input x, 1. If x w,. 2. Otherwise, simulate M on w. If M s,. If M s,. Notice that M (w) has w hardwired in it. What is L(M (w))? It is simply { w }, if M s w. ut it is if M does not w. < M,w > < M,w > Construct machine M (w) M E TM Given the description of M as an input, R s if M s w, and s if M s w. So here is a machine that decides A TM : S := On input (M, w), 3

1. Construct the machine M (w) as described above 2. Run R (E TM ) on input <M > 3. If R s,. If R s,. means its empty or w x means its not empty and x=w Since R always halts and decides whether L(M (w)) =, S always halts and decides whether M s w. EQ TM = { M, N M and N are TMs, and L(M) = L(N) } Theorem. EQ TM is undecidable. Proof. We will reduce E TM to EQ TM. Say that a machine R decides EQ TM. Here is a machine S that decides E TM : S := On input M, where M is a TM, 1. Run R on input (M, M 1 ) where M 1 is a trivial TM that s all inputs. 2. If R s,. If R s,. < M > < M > <N> Machine R to decide EQ TM Machine S to decide E TM Proof by contradiction: if EQ TM is possible then it would be possible (by simple reduction) to create E TM - however we know that E TM is undecidable therefore it must be impossible to create EQ TM Theorem. The complement of EQ TM, L(N) } is undecidable. EQ TM = { M, N M and N are TMs and L(M) Proof. Say it is decidable, and R is a machine that on input (M, N), it s if L(M) = L(N). We show how to construct S deciding A TM : S := On input (M, w), Construct the descriptions of the following machines: M 1 := On any input, 4

M 2 := On any input, Simulate M on w, and if M s,. Pass (M 1, M 2 ) to R. If R s,. If it s,. If R s, then L(M 2 ) = {w}, so M s w. Corollary. Therefore, both EQ TM and EQ TM are non-recognizable. <A> Mapping Reducibility eing able to reduce problem A to problem by using a mapping reducibility means that a computable function (reduction) exists that converts instances of problem A to instances of problem. Reduction algorithm Algorithm to decide A <> Algorithm to decide yes no Computable functions * A function f : " # "* is a computable function if some Turing machine M, on every input w, halts with just f(w) on its tape. - All math operations are computable functions. It is possible to make a machine that takes <M,N> and halts with M+N on its tape. - Computable functions may be transformations of machine descriptions. Formal Definition of Mapping Reducibility Language A is mapping reducible to language ( A " m ) if there is a computable function f : "* # " *, where for every w, w " A # f (w) " The function f is called the reduction of A to. 5

A f f Theorem 5.22 and is decidable, then A is decidable. Corollary 5.23 and A is undecidable, then is undecidable. <A> Reduction algorithm f(w) f(<a>)=<> Algorithm to decide yes no Algorithm to decide A Theorem 5.28 and is Turing-recognizable, then A is Turing-recognizable. Corollary 5.29 and A is not Turing-recognizable, then is not Turing-recognizable. Example 5.24 Reduction from A TM to HALT TM to prove HALT TM is undecidable Previously used: < M,w > < M,w > Machine H to decide HALT TM No halt halt Simulate M on w 6

Mapping reducibility from A TM to HALT TM must present a computable function f that takes <M,w> and returns output <M,w >, where M,w " A TM if and only if M #, w # " HALT TM f = On input <M,w>: 1. Construct the following machine M M = On input x: 1. Run M on x. 2. If M s,. 3. If M s, enter a loop. 2. Output <M,w>. Mapping function < M,w > < M,w > <M,w> Machine to decide HALT TM 7