CS21 Decidability and Tractability

Slides:



Advertisements
Similar presentations
February 6, 2015CS21 Lecture 141 CS21 Decidability and Tractability Lecture 14 February 6, 2015.
Advertisements

Reducibility 2 Theorem 5.1 HALT TM is undecidable.
CS21 Decidability and Tractability
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Reducibility Sipser 5.1 (pages ). CS 311 Fall Reducibility.
Reducibility Sipser 5.1 (pages ).
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Mapping Reducibility Sipser 5.3 (pages ). CS 311 Fall Computable functions Definition 5.17: A function f:Σ*→Σ* is a computable function.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Linear Bounded Automata LBAs
CS21 Decidability and Tractability
February 4, 2015CS21 Lecture 131 CS21 Decidability and Tractability Lecture 13 February 4, 2015.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
 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
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
February 1, 2016CS21 Lecture 121 CS21 Decidability and Tractability Lecture 12 February 1, 2016.
Recursively Enumerable Languages
The Halting Problem.
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions.
Undecidable Problems Costas Busch - LSU.
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
CS21 Decidability and Tractability
Context Sensitive Languages and Linear Bounded Automata
Intro to Theory of Computation
Pumping Lemma Revisited
CS154, Lecture 7: Turing Machines.
MCC 2093 Advanced Theoretical Computer Science
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Reducibility The Chinese University of Hong Kong Fall 2010
Intro to Theory of Computation
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Summary.
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
CS154, Lecture 8: Undecidability, Mapping Reductions
CSE 105 theory of computation
Computability & Complexity I
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
CS21 Decidability and Tractability
Undecidable problems:
Reducability Sipser, pages
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Formal Languages, Automata and Models of Computation
CS21 Decidability and Tractability
Decidability and Tractability
CS21 Decidability and Tractability
Theory of Computability
CSE 105 theory of computation
Theory of Computability
Instructor: Aaron Roth
More undecidable languages
Instructor: Aaron Roth
Theory of Computability
Instructor: Aaron Roth
Instructor: Aaron Roth
CSE 105 theory of computation
Presentation transcript:

CS21 Decidability and Tractability Lecture 12 February 4, 2019 February 4, 2019 CS21 Lecture 12

Outline reductions many-one reductions undecidable problems computation histories surprising contrasts between decidable/undecidable February 4, 2019 CS21 Lecture 12

Example reduction We proved ATM = {<M, w> : M accepts input w} undecidable, by reduction from HALT = {<M, w> : M halts on input w} ETM = {<M> : L(M) = Ø} undecidable by reduction from ATM February 4, 2019 CS21 Lecture 12

Definition of reduction Can you reduce co-HALT to HALT? We know that HALT is RE Does this show that co-HALT is RE? recall, we showed co-HALT is not RE our current notion of reduction cannot distinguish complements February 4, 2019 CS21 Lecture 12

Definition of reduction More refined notion of reduction: “many-one” reduction (commonly) “mapping” reduction (book) A B f yes yes reduction from language A to language B f no no February 4, 2019 CS21 Lecture 12

Definition of reduction A B f yes yes f no no function f should be computable Definition: f : Σ*→ Σ* is computable if there exists a TM Mf such that on every w ∈ Σ* Mf halts on w with f(w) written on its tape. February 4, 2019 CS21 Lecture 12

Definition of reduction Notation: “A many-one reduces to B” is written A ≤m B “yes maps to yes and no maps to no” means: w ∈ A maps to f(w) ∈ B & w ∉ A maps to f(w) ∉ B B is at least as “hard” as A more accurate: B at least as “expressive” as A February 4, 2019 CS21 Lecture 12

Using reductions Definition: A ≤m B if there is a computable function f such that for all w w ∈ A ⇔ f(w) ∈ B Theorem: if A ≤m B and B is decidable then A is decidable Proof: decider for A: on input w, compute f(w), run decider for B, do whatever it does. February 4, 2019 CS21 Lecture 12

Using reductions Main use: given language NEW, prove it is undecidable by showing OLD ≤m NEW, where OLD known to be undecidable proof by contradiction if NEW decidable, then OLD decidable OLD undecidable. Contradiction. common to reduce in wrong direction. review this argument to check yourself. February 4, 2019 CS21 Lecture 12

Using reductions Theorem: if A ≤m B and B is RE then A is RE Proof: TM for recognizing A: on input w, compute f(w), run TM that recognizes B, do whatever it does. Main use: given language NEW, prove it is not RE by showing OLD ≤m NEW, where OLD known to be not RE. February 4, 2019 CS21 Lecture 12

Many-one reduction example Showed ETM undecidable. Consider: co-ETM = {<M> : L(M) ≠ Ø} f(<M, w>) = <M’> where M’ is TM that on input x, if x ≠ w, then reject else simulate M on x, and accept if M does f clearly computable f yes yes f no no ATM co-ETM February 4, 2019 CS21 Lecture 12

Many-one reduction example f(<M, w>) = <M’> where M’ is TM that on input x, if x ≠ w, then reject else simulate M on x, and accept if M does f clearly computable f yes yes f no no ATM co-ETM yes maps to yes? if <M, w> ∈ ATM then f(M, w) ∈ co-ETM no maps to no? if <M, w> ∉ ATM then f(M, w) ∉ co-ETM February 4, 2019 CS21 Lecture 12

REGULAR = {<M>: M is a TM and L(M) is regular} Undecidable problems Theorem: The language REGULAR = {<M>: M is a TM and L(M) is regular} is undecidable. Proof: reduce from ATM (i.e. show ATM ≤m REGULAR) what should f(<M, w>) produce? February 4, 2019 CS21 Lecture 12

Undecidable problems Proof: f(<M, w>) = <M’> described below on input x: if x has form 0n1n, accept else simulate M on w and accept x if M accepts is f computable? YES maps to YES? <M, w> ∈ ATM ⇒f(M, w) ∈ REGULAR NO maps to NO? <M, w> ∉ ATM ⇒ f(M, w) ∉ REGULAR February 4, 2019 CS21 Lecture 12

Dec. and undec. problems the boundary between decidability and undecidability is often quite delicate seemingly related problems one decidable other undecidable We will see two examples of this phenomenon next. February 4, 2019 CS21 Lecture 12

Computation histories Recall configuration of a TM: string uqv with u,v ∈Γ*, q ∈ Q The sequence of configurations M goes through on input w is a computation history of M on input w may be accepting, or rejecting reserve the term for halting computations nondeterministic machines may have several computation histories for a given input. February 4, 2019 CS21 Lecture 12

Linear Bounded Automata LBA definition: TM that is prohibited from moving head off right side of input. machine prevents such a move, just like a TM prevents a move off left of tape How many possible configurations for a LBA M on input w with |w| = n, m states, and p = |Γ| ? counting gives: mnpn February 4, 2019 CS21 Lecture 12

Dec. and undec. problems two problems we have seen with respect to TMs, now regarding LBAs: LBA acceptance: ALBA = {<M, w> : LBA M accepts input w} LBA emptiness: ELBA = {<M> : LBA M has L(M) = Ø} Both decidable? both undecidable? one decidable? February 4, 2019 CS21 Lecture 12

Dec. and undec. problems Theorem: ALBA is decidable. Proof: input <M, w> where M is a LBA key: only mnpn configurations if M hasn’t halted after this many steps, it must be looping forever. simulate M for mnpn steps if it halts, accept or reject accordingly, else reject since it must be looping February 4, 2019 CS21 Lecture 12

Dec. and undec. problems Theorem: ELBA is undecidable. Proof: reduce from co-ATM (i.e. show co-ATM ≤m ELBA) what should f(<M, w>) produce? Idea: produce LBA B that accepts exactly the accepting computation histories of M on input w February 4, 2019 CS21 Lecture 12

Dec. and undec. problems Proof: f(<M, w>) = <B> described below is B an LBA? is f computable? YES maps to YES? <M, w> ∈ co-ATM ⇒ f(M, w) ∈ ELBA NO maps to NO? <M, w> ∉ co-ATM ⇒ f(M, w) ∉ ELBA on input x, check if x has form #C1#C2#C3#...#Ck# check that C1 is the start configuration for M on input w check that Ci ⇒ 1 Ci+1 check that Ck is an accepting configuration for M February 4, 2019 CS21 Lecture 12