Intro to Theory of Computation

Slides:



Advertisements
Similar presentations
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Advertisements

INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
8/27/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 2 Theory of Computation Finite Automata Operations on languages Nondeterminism L2.1.
Reducibility Sipser 5.1 (pages ). CS 311 Fall Reducibility.
Reducibility Sipser 5.1 (pages ).
The Halting Problem Sipser 4.2 (pages ). CS 311 Mount Holyoke College 2 Taking stock All languages Turing-recognizable Turing-decidable Context-free.
The Halting Problem Sipser 4.2 (pages ).
Decidable and undecidable problems deciding regular languages and CFL’s Undecidable problems.
CHAPTER 4 Decidability Contents Decidable Languages
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
CS 310 – Fall 2006 Pacific University CS310 The Halting Problem Section 4.2 November 15, 2006.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 18 Instructor: Paul Beame.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
CS21 Decidability and Tractability
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Computability Universal Turing Machine. Countability. Halting Problem. Homework: Show that the integers have the same cardinality (size) as the natural.
CS 461 – Nov. 7 Decidability concepts –Countable = can number the elements  –Uncountable = numbering scheme impossible  –A TM undecidable –Language classes.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 20 Last time Mapping reductions Computation history method Today Computation history method.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
CSCI 2670 Introduction to Theory of Computing
The Acceptance Problem for TMs
Discrete Mathematics CS 2610
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Theory of Computability
CSCI 2670 Introduction to Theory of Computing
This statement is false.
CSCI 2670 Introduction to Theory of Computing
Lecture12 The Halting Problem
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
Theory of Computability
Intro to Theory of Computation
MCC 2093 Advanced Theoretical Computer Science
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Reducibility The Chinese University of Hong Kong Fall 2010
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
CS21 Decidability and Tractability
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
More undecidable languages
Theory of Computability
CS21 Decidability and Tractability
CSE 105 theory of computation
More undecidable languages
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Theory of Computability
Computability and Undecidability
Automata, Grammars and Languages
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Intro to Theory of Computation LECTURE 16 Last time Designing deciders. Countable/uncountable sets. Diagonalization Today Undecidable/unrecognizable languages ATM is undecidable CS 464 Homework 6 due Homework 7 out Sofya Raskhodnikova 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

How to compare sizes of infinite sets? Two sets are the same size if there is a bijection between them. A set is countable if it is finite or it has the same size as ℕ, the set of natural numbers 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Theorem. There is no bijection from the positive integers to the real interval (0,1) Proof: Suppose f is such a function: n 1 2 3 4 5 : f(n) 0.28347279… 2 0.88388384… 8 0.77635284… 6 0.11111111… 1 0.12345678… 5 : Construct 𝒃∈(𝟎,𝟏) that does not appear in the table. b=0. 𝒅 𝟏 𝒅 𝟐 𝒅 𝟑 …, 𝒘𝒉𝒆𝒓𝒆 𝒅 𝒊 ≠𝒅𝒊𝒈𝒊𝒕 𝒊 𝒐𝒇 𝒇 𝒊 . 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Diagonalization The process of constructing a counterexample by “contradicting the diagonal” is called DIAGONALIZATION 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper What if we try this argument on ℚ instead of ℝ? Proof: Suppose f is such a function: n 1 2 3 4 5 : f(n) 0.28347279… 2 0.88388384… 8 0.77635284… 6 0.11111111… 1 0.12345678… 5 : Construct 𝒃∈(𝟎,𝟏) that does not appear in the table. b=0. 𝒅 𝟏 𝒅 𝟐 𝒅 𝟑 …, 𝒘𝒉𝒆𝒓𝒆 𝒅 𝒊 ≠𝒅𝒊𝒈𝒊𝒕 𝒊 𝒐𝒇 𝒇 𝒊 . 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

I-clicker question (frequency: AC) What if we try Cantor’s diagonalization argument on ℚ instead of ℝ? It works. It fails because there are some rational numbers that cannot be represented in decimal point notation. It fails because the 𝑖-th number might have no digit in the 𝑖-th position after the decimal point. It fails because the constructed number is not rational. None of the above. {madam, dad, but, tub, book}

Sofya Raskhodnikova; based on slides by Nick Hopper Let L be any set and P(L) be the power set of L Theorem: There is no bijection from L to P(L) Assume, for a contradiction, that there is bijection f : L  P(L) Proof: We construct a set S that cannot be the output, f(y), for any y L. Let S = { x  L | x  f(x) } Make less general If S = f(y) then y  S if and only if y  S 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper How is it diagonalization? x y1∈f(x)? y2∈f(x)? y3∈ f(x)? y4 ∈ f(x)? … y1 Y N y2 y3 y4   Y Y N Y (yi ∈ S) = Y iff (yi ∈ f(yi)) = N 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

EXAMPLE {0,1} Let L = {0,1,2}. Then P(L) = {Ø, {0}, {1}, {2}, {0,1}, {0,2}, {1,2}, {0,1,2}} Let f(0) = {1}, f(1) = Ø, f(2) = {0,2}. Then: x 0 ∈ f(x)? 1 ∈ f(x)? 2 ∈ f(x)? N Y 1 2 S = {0,1} L16.10

Sofya Raskhodnikova; based on slides by Nick Hopper For all sets L, P(L) has more elements than L 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Not all languages over {0,1} are decidable TM Deciders Languages over {0,1} Sets of strings of 0s and 1s Strings of 0s and 1s L P(L) 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Not all languages over {0,1} are recognizable Turing Machines Languages over {0,1} Sets of strings of 0s and 1s Strings of 0s and 1s L P(L) 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper A specific undecidable language ATM = { 𝑴, 𝒘 ∣ M is a TM, w is a string, and M accepts w } 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

𝑯 𝑴,𝒘 = 𝐚𝐜𝐜𝐞𝐩𝐭 𝐢𝐟 𝑴 𝐚𝐜𝐜𝐞𝐩𝐭𝐬 𝒘 𝐫𝐞𝐣𝐞𝐜𝐭 𝐢𝐟 𝑴 𝐝𝐨𝐞𝐬 𝐧 ′ 𝐭 𝐚𝐜𝐜𝐞𝐩𝐭 𝒘 Theorem. ATM is undecidable. Proof: For contradiction, suppose a TM H decides ATM. 𝑯 𝑴,𝒘 = 𝐚𝐜𝐜𝐞𝐩𝐭 𝐢𝐟 𝑴 𝐚𝐜𝐜𝐞𝐩𝐭𝐬 𝒘 𝐫𝐞𝐣𝐞𝐜𝐭 𝐢𝐟 𝑴 𝐝𝐨𝐞𝐬 𝐧 ′ 𝐭 𝐚𝐜𝐜𝐞𝐩𝐭 𝒘 Idea: Use 𝑯 to check what TM M does on its own description (and do the opposite). D is a decider. What does it do on 𝐷 ? TM D = `` On input 𝑴 where M is a TM: Run 𝐻 on input <M, 𝑴 >. Accept if it rejects. O.w. reject.’’ 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Is it diagonalization again? Does M accept 𝑴 ? TMs 〈𝑴 𝟏 〉 〈𝑴 𝟐 〉 〈𝑴 𝟑 〉 〈𝑴 𝟒 〉 … 𝑴 𝟏 Y N 𝑴 𝟐 𝑴 𝟑 𝑴 𝟒   Y Y N Y D accepts 𝑴 𝒊 iff entry (𝒊,𝒋) is N . 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Is it diagonalization again? Does M accept 𝑴 ? TMs 〈𝑴 𝟏 〉 〈𝑴 𝟐 〉 〈𝑴 𝟑 〉 〈𝑴 𝟒 〉 … 〈𝑫〉 𝑴 𝟏 Y N 𝑴 𝟐 𝑴 𝟑 𝑴 𝟒   D Y Y N Y ? 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper

Sofya Raskhodnikova; based on slides by Nick Hopper Classes of languages recognizable ATM decidable ATM CFL {0 𝑛 1 𝑛 0 𝑛 ∣𝑛≥0} {0 𝑛 1 𝑛 ∣𝑛≥0} regular 1* 2/23/2019 Sofya Raskhodnikova; based on slides by Nick Hopper