Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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)

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

3 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

4 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

5 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

6 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

7 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

8 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!

9 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

10 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>): 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

11 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 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! ) <T> =

12 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

13 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)

14 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}

15 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:

16 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?

17 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

18 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

19 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


Download ppt "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."

Similar presentations


Ads by Google