1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.

Slides:



Advertisements
Similar presentations
Formal Models of Computation Part III Computability & Complexity
Advertisements

Introduction to Computability Theory
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Decidable A problem P is decidable if it can be solved by a Turing machine T that always halt. (We say that P has an effective algorithm.) Note that the.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture4: Non Regular Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata (cont.) Prof. Amos Israeli.
Lecture 8 Recursively enumerable (r.e.) languages
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Fall 2004COMP 3351 The Chomsky Hierarchy. Fall 2004COMP 3352 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free.
1 Introduction to Computability Theory Lecture4: Non Regular Languages Prof. Amos Israeli.
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
CS21 Decidability and Tractability
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Announcements Homework – HW8 due Tues 5/29 11am – HW5 grades are out Monday is Memorial Day; no office hours, etc. – Go see a parade, or some fireworks,
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
Recursively Enumerable and Recursive Languages
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
THE HALTING PROBLEM - PROOF. Review  What makes a problem decidable?  3 properties of an efficient algorithm?  What is the meaning of “complete”, “mechanistic”,
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
The Acceptance Problem for TMs
CSCI 2670 Introduction to Theory of Computing
Busch Complexity Lectures: Reductions
Undecidable Problems Costas Busch - LSU.
Reductions Costas Busch - LSU.
LIMITS OF ALGORITHMIC COMPUTATION
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
CS21 Decidability and Tractability
Theory of Computability
Theory of Computability
Theory of Computability
Automata, Grammars and Languages
CSE 105 theory of computation
Presentation transcript:

1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli

The rest of the course deals with an important tool in Computability and Complexity theories, namely: Reductions. The reduction technique enables us to use the undecidability of to prove many other languages undecidable. Introduction 2

A reduction always involves two computational problems. Generally speaking, the idea is to show that a solution for some problem A induces a solution for problem B. If we know that B does not have a solution, we may deduce that A is also insolvable. In this case we say that B is reducible to A. Introduction 3

In the context of undecidability: If we want to prove that a certain language L is undecidable. We assume by way of contradiction that L is decidable, and show that a decider for L, can be used to devise a decider for. Since is undecidable, so is the language L. Introduction 4

Using a decider for L to construct a decider for, is called reducing L to. Note: Once we prove that a certain language L is undecidable, we can prove that some other language, say L’, is undecidable, by reducing L’ to L. Introduction 5

1.We know that A is undecidable. 2.We want to prove B is undecidable. 3.We assume that B is decidable and use this assumption to prove that A is decidable. 4.We conclude that B is undecidable. Note: The reduction is from A to B. Schematic of a Reduction 6

1.We know that A is undecidable. The only undecidable language we know, so far, is whose undecidability was proven directly. So we pick to play the role of A. 2.We want to prove B is undecidable. Demonstration 7

2.We want to prove B is undecidable. We pick to play the role of B that is: We want to prove that is undecidable. 3.We assume that B is decidable and use this assumption to prove that A is decidable. Demonstration 8

3.We assume that B is decidable and use this assumption to prove that A is decidable. In the following slides we assume (towards a contradiction) that is decidable and use this assumption to prove that is decidable. 4.We conclude that B is undecidable. Demonstration 9

Consider Theorem is undecidable. Proof By reducing to. The “Real” Halting Problem 10

Assume by way of contradiction that is decidable. Recall that a decidable set has a decider R : A TM that halts on every input and either accepts or rejects, but never loops!. We will use the assumed decider of to devise a decider for. Discussion 11

Recall the definition of : Why is it impossible to decide ? Because as long as M runs, we cannot determine whether it will eventually halt. Well, now we can, using the decider R for. Discussion 12

Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slide we present TM S that uses R as a subroutine and decides. Since is undecidable this constitutes a contradiction, so R does not exist. Proof 13

S= “On input where M is a TM: 1. Run R on input until it halts. 2. If R rejects, (i.e. M loops on w ) - reject. (At this stage we know that R accepts, and we conclude that M halts on input w.) 3. Simulate M on w until it halts. 4. If M accepts - accept, otherwise - reject. “ Proof (cont.) 14

In the discussion, you saw how Diagonalization can be used to prove that is not decidable. We can use this result to prove by reduction that is not decidable. Another Example 15

Note: Since we already know that both and are undecidable, this new proof does not add any new information. We bring it here only for the the sake of demonstration. Another Example 16

1.We know that A is undecidable. Now we pick to play the role of A. 2.We want to prove B is undecidable. We pick to play the role of B, that is: We want to prove that is undecidable. 3.We assume that B is decidable and use this assumption to prove that A is decidable. Demonstration 17

3.We assume that B is decidable and use this assumption to prove that A is decidable. In the following slides we assume that is decidable and use this assumption to prove that is decidable. 4.We conclude that B is undecidable. Demonstration 18

Let R be a decider for. Given an input for, R can be run with this input : If R accepts, it means that. This means that M accepts on input w. In particular, M stops on input w. Therefore, a decider for must accept too. Discussion 19

If however R rejects on input, a decider for cannot safely reject: M may be halting on w to reject it. So if M rejects w, a decider for must accept. Discussion 20

How can we use our decider for ? The answer here is more difficult. The new decider should first modify the input TM, M, so the modified TM,, accepts, whenever TM M halts. Since M is a part of the input, the modification must be a part of the computation. Discussion 21

Faithful to our principal “ If it ain’t broken don’t fix it”, the modified TM keeps M as a subroutine, and the idea is quite simple: Let and be the accepting and rejecting states of TM M, respectively. In the modified TM,, and are kept as ordinary states. Discussion 22

We continue the modification of M by adding a new accepting sate. Then we add two new transitions: A transition from to, and another transition from to. This completes the description of. It is not hard to verify that accepts iff M halts. Discussion 23

Discussion 24

The final description of a decider S for is: S= “On input where M is a TM: 1. Modify M as described to get. 2. Run R, the decider of with input. 3. If R accepts - accept, otherwise - reject. ” Discussion 25

It should be noted that modifying TM M to get, is part of TM S, the new decider for, and can be carried out by it. It is not hard to see that S decides. Since is undecidable, we conclude that is undecidable too. Discussion 26

We continue to demonstrate reductions by showing that the language, defined by is undecidable. Theorem is undecidable. The TM Emptiness Problem 27

The proof is by reduction from : 1.We know that is undecidable. 2.We want to prove is undecidable. 3.We assume toward a contradiction that is decidable and devise a decider for. 4.We conclude that is undecidable. Proof Outline 28

Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slides we devise TM S that uses R as a subroutine and decides. Proof 29

Given an instance for,, we may try to run R on this instance. If R accepts, we know that. In particular, M does not accept w so a decider for must reject. Proof 30

What happens if R rejects? The only conclusion we can draw is that. What we need to know though is whether. In order to use our decider R for, we once again modify the input machine M to obtain TM : Proof 31

We start with a TM satisfying. Description of___ 32

Now we add a filter to divert all inputs but w. Description of___ 33 filter no yes

TM has a filter that rejects all inputs excepts w, so the only input reaching M, is w. Therefore, satisfies: Proof 34

Here is a formal description of : “On input x : 1. If - reject. 2. If - run M on w and accept if M accepts. ” Note: M accepts w if and only if. Proof 35

This way, if R accepts, S “can be sure” that and accept. Note that S gets the pair as input, thus before S runs R, it should compute an encoding of. This encoding is not too hard to compute using S ’s input. Proof 36

S= “On input where M is a TM: 1. Compute an encoding of TM. 2. Run R on input. 3. If R rejects - accept, otherwise - reject. Proof 37

Recall that R is a decider for. If R rejects the modified machine,, hence by the specification of,, and a decider for must accept. If however R accepts, it means that, hence, and S must reject. QED Proof 38