Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.

Slides:



Advertisements
Similar presentations
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,
Advertisements

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.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
1 Introduction to Computability Theory Lecture12: 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.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
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.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
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.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Undecidable Languages (Chapter 4.2) Héctor Muñoz-Avila.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Course Overview and Road Map Computability and Logic.
A Universal Turing Machine
Remaining Discussions from Previous Class Please be precise in your writing –Specially because some of the proofs are written in plain English Queue automata.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
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.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computability Universal Turing Machine. Countability. Halting Problem. Homework: Show that the integers have the same cardinality (size) as the natural.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
The Acceptance Problem for TMs
A Universal Turing Machine
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Gödel's Legacy: The Limits Of Logics
Recursively Enumerable and Recursive Languages
This statement is false.
Busch Complexity Lectures: Reductions
Undecidable Problems Costas Busch - LSU.
Lecture12 The Halting Problem
Reductions Costas Busch - LSU.
Great Theoretical Ideas in Computer Science
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 8: Undecidability, Mapping Reductions
Turing-Enumerable (Part II)
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Decidable Languages A language L is decidable if there is a Turing machine ML such that given any word w  0*, then: Input of ML: a  b  … w Output of.
CS21 Decidability and Tractability
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
CS21 Decidability and Tractability
Theory of Computability
Instructor: Aaron Roth
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
CSCI 2670 Introduction to Theory of Computing
Cpt S 317: Spring 2009 Reading: Chapter 8 & 9
Theory of Computability
Properties of Relational Logic
Instructor: Aaron Roth
Lecture 4: Unsolvable Problems
Turing Machines Everything is an Integer
Presentation transcript:

Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises 4.2, 4.7 (countable or Turing-enumerable are the same) Problem 4.10, 4.12, 4.16 (Hint: think about the Pumping lemma for regular languages)

Undecidability (Chapter 4) Héctor Muñoz-Avila

A Bit of History Irrational number exist Greek mathematicians Deadly controversial 6th century BC Turing machines Formal model of computation Decidable languages and enumerability results There are many more Real numbers than there are natural numbers There are as many rational numbers as there are natural numbers controversial Late 1800’s Cantor Turing machines capture any algorithm Some problems cannot be solved by computers Gödel incompleteness theorem Gödel numberings 1930’s

A bit of History: Axioms An axiom is an statement that is assumed to be true Given a theory T, an axiomatization of T is a collection of statements, A, in T such that: Every statement in A is an axiom Every truth statement in T follows from A In computer science: think of rule-based systems or programs in Prolog Axioms Rule # 1: If H is the head of an organization O  H belongs to O … Fact # 1: John is the head of Kappa-Phi Induced Fact # 1: John belongs to kappa-Phi Domain Theory

A bit of History: Axiomatization of The Arithmetic We all agree that for any numbers A and B the following holds: A + B = B + A An open problem for a long time was to obtain an axiomatization A for the Arithmetic All attempts failed. Either: A was incomplete, or A was not sound, or both! Statements that were true couldn’t be proved with A Statements that were false could be proved with A

Gödel Incompleteness Theorem: Such an Axiomatization is not possible Theorem. If a proof system for arithmetic is sound then there must be a true formula that is not provable. The proof is by contradiction and a crucial construction of the proof, the Gödel numberings, is used to proof that some problems are not decidable

Enumerability and Turing Machines Definition: A language L is Turing-enumerable if there is a Turing machine that enumerates all words in L in its tape (may run forever): w1 w2 w3… Our book does not define Turing-enumerability Rather it says that there is an Enumerator Turing machine that enumerates all words in L in Chapter 3 And defines countable sets (Definition 4.14) as those having the same size as the natural numbers These three notions are equivalent

The collection of All Turing Machines Are Enumerable Idea: For every Turing machine T= (S, , , s, H), we will assign a unique binary number <T>, called the encoding of T If we can make this assignment, then we have an enumeration. Let T be the set of all Turing machines and N be the set of all natural numbers: T  <T> Tendless Tendless is assigned to every natural number that is not <T> for a Turing machine T N 1 2 3 4 … T T’ T’’ T’’’  Do we have an enumeration of all Turing machines? Yes!

Encoding a Turing Machine in a unique Binary We are given a Turing machine T= (Q, , , s, h). Assumptions: States: For all Turing machines the initial state will be q1, Thus, For all Turing machines the halting set will be q2 All states for all Turing machines are taken from Q= {q1, …,q10, …} Symbols: a1 represents , a2 represents , a3 and a4 represents  and  All symbols that in  are taken from A = {a1, …,a10, …} − {a3, a4} s = q1 h = q2 S = {q1, …,qn}, for some n  is a finite subset of A that contains a1 and a2

Encoding a Turing Machine in a unique Binary (II) We are given a Turing machine T= (Q, , , s, h). Take a transition: t = ((q23,a42),(q77,a3,a3)) will be translated as, (and denoted as <t>): 02310421077103103 If  = {t1, t2, …, tm} will be translated as: 11< t1>11< t2>11…< tm>11 We define: <T> = 11< t1>11< t2>11…< tm>11 Note that given <T>, we can easily reconstruct T

Example of <T> Question: If  = {t1, t2, …, tm} are the transitions of a Turing machine T, then we define: <T> = 11< t1>11< t2>11…< tm>11 Question: Obtain Turing machine T number 722827740192965100 Answer: {((q1,a5),(q1,a6,a4)), ((q1,a2),(q1,a8,a4)), ((q1,a1),(q1,a7, a4)), ((q1,a6),(q2,a34,a6))} (or something like that! ) 1101000001010000110100101000011010101000011010000001001000000 <T> =

Proofs of Undecidability for Some Problems We use the result that the set of all Turing machines is enumerable We are going to make 2 proofs: An existence proof: We show that a problem P must exist that cannot be solved with Turing machines without actually showing P A constructive proof We show that the halting is not decidable (halting is Turing-recognizable) We show that haltingC is not even Turing-recognizable We use the result that the Turing machines can be represented as binary encodings. Therefore we can construct Turing machines that simulate other Turing machines

The Existence Proof Let F be set of all functions f: N  N Theorem. F is not enumerable Proof. Another (Cantor) diagonal argument similar to the one we did to proof that the set of the real numbers is not enumerable Corollary. There must exist a function f in F that is not Turing computable (i.e., you can’t write a program in C++/Java/Prolog/etc. that computes f)

The Constructive Proof We are going to show that there is no Turing machine that decides the following language: The proof if by contradiction: assuming that such a Turing machine exists and yielding a contradiction For doing this, we need to construct a Turing machine that can simulate other Turing machines Halting = {M(w) : M is a Turing machine that halts on w}

The Universal Turing Machine The Universal Turing Machine is a 3-tape Turing machine that runs any Turing machine T. It maintains the current word w in the tape of T and the current state qk: Tape 1: <T> Tape 2: <w> Tape 3: <qk> Note: If w = a15a45a7a66 its encoding <w> is: 101510451071066

Idea of the Concrete Proof We will construct a double-contradiction such as: In the town of Neverland, there is a shaver called Bob, who only shaves anyone who doesn’t shave himself. Question: Does Bob shaves himself?

Halting is Not Decidable Proof by contradiction: suppose that Halting = {T(w) : T is a Turing machine that halts on <w>} is decidable. Then, H0 = {T: T is a Turing machine that halts on T(<T>)} Must also be decidable. Why? Because we can use the same Turing machine deciding Halting to decide if T(<T>) halts or not

Halting is Not Decidable We assume that H0 = {T: T is a Turing machine that halts on T(T)} is decidable. Then, H0C is also decidable. H0C = {T : T(<T>)} Since H0C is decidable, then H0C is also Turing-recognizable. Let MC the Turing machine that recognizes H0C MC(<T>) halts if T is in H0C MC(<T>) if T is not in H0 C Question: Does is in H0C? MC A contradiction is easily reached for a Yes and a No answer

Halting is Not Decidable (2) If MC is in H0C Then MC(<MC>)  (by definition of H0C) However, MC is the machine that recognizes H0C Thus, if MC(<T>), then T is not in H0C, so MC cannot be in H0C If MC is not in H0C Then MC(<MC>) halts (by definition of H0) However, MC is the machine that recognizes H0C Thus, if MC(<T>) halts, T is in H0C, so MC must be in H0C So we have a contradiction H0C is not even Turing-recognizable and Halting is not decidable