Computation Histories

Similar documents
Non-emptiness Testing for TMs

Computability and Complexity

Lecture 12: Mapping Reductions

CSE 105 THEORY OF COMPUTATION

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

4.2 The Halting Problem

CSCE 551: Chin-Tser Huang. University of South Carolina

Reducability. Sipser, pages

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

Undecidable Problems and Reducibility

problem X reduces to Problem Y solving X would be easy, if we knew how to solve Y

1 Reducability. CSCC63 Worksheet Reducability. For your reference, A T M is defined to be the language { M, w M accepts w}. Theorem 5.

ACS2: Decidability Decidability

CSCE 551 Final Exam, Spring 2004 Answer Key

1 Showing Recognizability

The Power of One-State Turing Machines

CS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Introduction to Languages and Computation

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

V Honors Theory of Computation

Exam Computability and Complexity

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.

CSE 105 THEORY OF COMPUTATION

Part I: Definitions and Properties

Chapter 3: The Church-Turing Thesis

CS21 Decidability and Tractability

Theory of Computation

CSCC63 Worksheet Turing Machines

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Lecture 24: Randomized Complexity, Course Summary

DM17. Beregnelighed. Jacob Aae Mikkelsen

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Turing Machines, diagonalization, the halting problem, reducibility

CSE 105 THEORY OF COMPUTATION

Theory of Computation

Decidability (intro.)

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10

CSE 105 THEORY OF COMPUTATION

Lecture Notes: The Halting Problem; Reductions

Chap. 4,5 Review. Algorithms created in proofs from prior chapters

Variants of Turing Machine (intro)

CS154, Lecture 10: Rice s Theorem, Oracle Machines

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

Homework Assignment 6 Answers

Introduction to Turing Machines

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

CS 525 Proof of Theorems 3.13 and 3.15

CSCE 551: Chin-Tser Huang. University of South Carolina

ECS 120 Lesson 20 The Post Correspondence Problem

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2018, face-to-face day section Prof. Marvin K. Nakayama

On Rice s theorem. Hans Hüttel. October 2001

CpSc 421 Homework 9 Solution

CSE 105 Theory of Computation

The Church-Turing Thesis

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

SE 3310b Theoretical Foundations of Software Engineering. Turing Machines. Aleksander Essex

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

CS 361 Meeting 26 11/10/17

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Turing Machines. Lecture 8

TURING MAHINES

Turing Machines Part III

Introduction to Turing Machines. Reading: Chapters 8 & 9

5 3 Watson-Crick Automata with Several Runs

CPSC 421: Tutorial #1

Decidability: Reduction Proofs

MTAT Introduction to Theoretical Computer Science

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

CSE 105 Theory of Computation

Pushdown Automata. Chapter 12

Further discussion of Turing machines

Lecture 13: Turing Machine

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Turing Machines Part II

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2016, face-to-face day section Prof. Marvin K. Nakayama

jflap demo Regular expressions Pumping lemma Turing Machines Sections 12.4 and 12.5 in the text

COL 352 Introduction to Automata and Theory of Computation Major Exam, Sem II , Max 80, Time 2 hr. Name Entry No. Group

Theory of Computation

Formal Definition of Computation. August 28, 2013

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Theory of Computation (IX) Yijia Chen Fudan University

More Turing Machines. CS154 Chris Pollett Mar 15, 2006.

Computability and Complexity

Advanced Undecidability Proofs

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

Advanced topic: Space complexity

MTAT Complexity Theory October 13th-14th, Lecture 6

Chapter 2: Finite Automata

Automata and Computability. Solutions to Exercises

CSE 105 THEORY OF COMPUTATION

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Transcription:

208 Computation Histories The computation history for a Turing machine on an input is simply the sequence of configurations that the machine goes through as it processes the input. An accepting computation history for M on w is a sequence of configurations C 1, C 2,, C l, where C 1 is the start configuration q 0 w, C l an accepting configuration of M, and each C i legally follows from C i 1 according to the rules of M Similarly one can define a rejecting computation history Computation histories are finite sequences if M doesn t halt on w, no accepting or rejecting computation history exists for M on w 209 Linear Bounded Automata A linear bounded automaton (LBA) is a Turing machine that cannot use extra working space It can only use the space taken up by the input Because the tape alphabet can, in any case, be larger than the input alphabet, it allows the available memory to be increased up to a constant factor Deciders for problems concerning context-free languages If a LBA has q states g symbols in its tape alphabet, and an input of length n, then the number of its possible configurations is q n g n 1

210 Theorem 5.9 The acceptance problem for linear bounded automata A LBA = { M, w M is an LBA that accepts string w } is decidable. Proof. As M computes on w, it goes from configuration to configuration. If it ever repeats a configuration, it will go on to repeat this configuration over and over again and thus be in a loop. Because an LBA has only q n g n distinct configurations, if the computation of M has not halted in so many steps, it must be in a loop. Thus, to decide A LBA it is enough to simulate M on w for q n g n steps or until it halts. 211 Theorem 5.10 The emptiness problem for linear bounded automata E LBA = { M M is an LBA and L(M) = } is undecidable. Proof. Reduction from the universal language (acceptance problem for general TMs). Counter-assumption: E LBA is decidable; i.e., there exists a decider M ET for E LBA. Let M be an arbitrary Turing machine, whose operation on input w is under scrutiny. Let us compose an LBA B that recognizes all accepting computation histories for M on w. 2

212 Now we can reduce the acceptance problem for general Turing machines to the emptiness testing for LBAs: L( B) L( B) if if w L( M ) w L( M ) The LBA B must accept input string x if it is an accepting computation history for M on w. Let the input be presented as x = C 1 #C 2 ##C l. 213 B checks that x satisfies the conditions of an accepting computation history: C 1 = q 0 w, C l is an accepting configuration for M; i.e.accept is the state in C l, and C i-1 M C i : configurations C i-1 and C i are identical except for the position under and adjacent to the tape head in C i-1, and the changes correspond to the transition function of M. Given M and w it is possible to construct LBA B mechanically. 3

214 By combining machines B and M ET as shown in the following figure, we obtain a decider for the acceptance problem of general Turing machines (universal language). M, w L(M UT ) B L(M ET ) L(B) w L(M) M, w U This is a contradiction, and the language E LBA cannot be decidable. 215 M, w B M T E M ENC A decider M UT for the universal language U 4

216 5.3 Mapping Reducibility Let M =(Q,,,, q 0,accept,reject) be an arbitrary standard Turing machine Let us define the partial function f M : * * computed by the TM as follows: f M u, ( w) undefined if q 0 * w u q, M q {accept, reject} otherwise Thus, the TM M maps a string w * to the string u, which is the contents of the tape, if the computation halts on w If it does not halt, the value of the function is not defined in w 217 Definition 5.20 Partial function f is computable, if it can be computed with a total Turing machine. I.e. if its value f(w) is defined for every w Let us formulate the idea that problem A is at most as difficult as'' problem B as follows Let A *, B * be two formal languages A is mapping reducible to B, written A m B, if there is a computable function f: * * s.t. w A f(w) B w * The function f is called the reduction of A to B 5

218 Mapping an instance w of A computably into an instance f(w) of B and ' does w have property A?'' ' does f(w) have property B?'' * f A f B * 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m B and B is decidable, then so is A Proof. i. Let us choose f(x) = x as the reduction. ii. Let f be reduction of A to B and g a reduction of B to C. In other words, f: A m B, g: B m C. We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 6

220 1. his computable: Let M f and M g be the total Turing machines computing f and g. M REW replaces all symbols to the right of the tape head with and moves the tape head to the beginning of the tape. The total machine depicted in the following figure computes function h. 2. his a reduction: x A f(x) B g(f(x)) = h(x) C, hence, h: A m C. 221 x f(x) f(x) g(f(x)) M M f M REW g h(x) The TM computing the composite mapping 7

222 iii. (and iv.) Let f: A m B, M B the recognizer of B and M f the TM computing f. The TM depicted below recognizes language A and it is total whenever M B is. x f(x) f(x) M f M REW M B The TM recognizing A 223 We have already used the following consequence of Lemma J to prove undecidability. Corollary 5.23 If A m B and A is undecidable, then B is undecidable. Let us call language B { 0, 1 }* TR-complete, if 1. Bis Turing-recognizable (TR), and 2. A m Bfor all Turing-recognizable languages A 8

224 Theorem K The universal language U is TR-complete. Proof. We know that U is Turing-recognizable. Let B be any Turing-recognizable language. Furthermore, let B = L(M B ). Now, B can be reduced to U with the function f(x) = M B, x, which is clearly computable, and for which it holds x B = L(M B ) f(x) = M B, x U. Theorem L Let A be a TR-complete language, B TR, and A m B. Then also B is a TR-complete language. All ' natural'' languages belonging to the difference of TR and decidable languages are TR-complete, but it contains also other languages 225 The class of TR languages is not closed under complementation, thus it has the dual class co-tr = { A TR } TR co-tr = decidable languages (by Theorem 4.22) B { 0, 1 }* is co-tr-complete, if 1. Bco-TR and 2. A m Bfor all A co-tr A language A is co-tr-complete, if and only if the language is TR-complete Language TOT = { M M halts on all inputs } does not belong to either TR or co-tr 9

226 TR-complete co-tr-complete U NE TOT TR decidable co-tr 10