Theorem: Turing decidable languages are closed under intersection.

Slides:



Advertisements
Similar presentations
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
Advertisements

THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
Turing -Recognizable vs. -Decidable
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
Decidable A problem P is decidable if it can be solved by a Turing machine T that always halt. (We say that P has an effective algorithm.) Note that the.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
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 ).
More Turing Machines Sipser 3.2 (pages ).
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.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS 310 – Fall 2006 Pacific University CS310 Variants of Turing Machines Section 3.2 November 8, 2006.
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.
1 Which languages do the following TM’s accept over the alphabet Σ={a, b}? Recall: A TM M accepts a language L defined over an alphabet Σ if M halts on.
1 More About Turing Machines “Programming Tricks” Restrictions Extensions Closure Properties.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
Computability Chapter 5. Overview  Turing Machine (TM) considered to be the most general computational model that can be devised (Church-Turing thesis)
1 Design a PDA which accepts: L= { a n b m : n ≠ m }
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Turing -Recognizable vs. -Decidable
1 Draw the machine schema for a TM which when started on a blank tape (input  ) halts with abbb on the tape in our standard input format.
Computability Review homework. Video. Variations. Definitions. Enumerators. Hilbert's Problem. Algorithms. Summary Homework: Give formal definition of.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
1 Which languages do the following TM’s accept over the alphabet Σ={a, b}? Recall: A TM M accepts a language L defined over an alphabet Σ if M halts on.
1 M is a TM with start state s defined over the alphabet {#,(,),0,1,a,q,,}: NumStateHead 0hL 1sR 2t# 3( 4) a 8q 9, 2. Does M halt on input “M”?
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 1. Design a TM which on a input w  {0, 1}*, shifts w over one position to the right. That is: (s, # w [#]) ├ * (h, # # w [#]). 2. Show the computation.
Decidability Decidable/Undecidable problems. Jaruloj Chongstitvatana Decidability2 Accepting: Definition Let T = (Q, , , , s) be a TM. T accepts.
1 Introduction to Turing Machines
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
Lecture 7: Turning Machines 虞台文 大同大學資工所 智慧型多媒體研究室.
Theory of Computation Automata Theory Dr. Ayman Srour.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
1 Assignment #5 is posted.. 2 An artist's rendition of a steam-powered Turing machine. There is a mural of this between the second and third floors in.
Chapters 11 and 12 Decision Problems and Undecidability.
Turing’s Thesis.
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
COSC 3340: Introduction to Theory of Computation
Reductions Costas Busch - LSU.
(Universal Turing Machine)
CSE 105 theory of computation
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Undecidable Problems (unsolvable problems)
Decidable Languages Costas Busch - LSU.
The Off-Line Machine Input File read-only (once) Input string
Variations of the Turing Machine
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Cpt S 317: Spring 2009 Reading: Chapter 8 & 9
More Undecidable Problems
CSE 105 theory of computation
Presentation transcript:

Theorem: Turing decidable languages are closed under intersection. Proof: Let M1 be a TM which decides L1, and let M2 be a TM which decides L2. Let C be a TM which makes a copy of the input: (s, # w #) ├* (h, # w # w [#]). Finish the proof by drawing a machine schema for a TM which decides L= L1  L2.

Two-way infinite tape: … … # a b How can this be simulated with a Turing machine that has 2 tracks?

Conceptually, the infinite tape is “bent” and wrapped around at the as follows, with $ to mark the bend:

To initialize the tape: … Shift right and convert to two track mode with end of tape marker:

M1: # w [#] changes to [#] # w # M2: 2-track formatting.

Old Transitions: s # s L s a h # s b s R Add: Upper and lower track states and transitions. Reformat of # squares to 2-track. If we hit $ change tracks.

Careful: if we are going left on the original tape, this corresponds to left for squares 0, 1, 2, … but right for squares -1, -2, -3, … on the 2-track simulation.

Theorem: Turing decidable languages are closed under complement. Proof: Let M be a TM which decides L. It is easy to construct the machine schema for a TM which decides the complement of L. Algorithm: Run M. Change Y to N and N to Y at end then position head appropriately.

Theorem: All Turing-decidable languages are Turing-acceptable. Recall: Decide means to halt with (h, #Y[#]) when w is in L and (h, #N[#]) when w is not in L. Accept means that the TM halts on w when w is in L and hangs (head falls off left hand end of tape or there is an undefined transition) or computes forever when w is not in L. Proof: Given a TM M1 that decides L we can easily design a machine M2 which accepts L.

Theorem: Turing-decidable languages are closed under Kleene star. Example: w= abcd Which factorizations of w must be considered?

w1 w2 w3 w4 a b c d cd bc bcd ab Kleene abc Star abcd Cases

public static void testW(int level, String w) { int i, j, len; String u, v; len= w.length( ); if (len == 0) return; for (i=1; i <= len; i++) u= w.substring(0,i); for (j=0; j < level-1; j++) System.out.print(" "); System.out.println( "W" + level + " = " + u); v= w.substring(i, len); testW(level+1, v); }

Output W1 = a W2 = b W3 = c W4 = d W3 = cd W2 = bc W3 = d W2 = bcd W1 = ab W2 = c W2 = cd W1 = abc W2 = d W1 = abcd Output

Thought question: what would you do to determine if a string w is in L1 ۰ L2 if you have TM’s which decide L1 and L2? High level pseudo code is fine. It would not be fun to program this on a TM.

* - need proof (coming soon) Summary: Closure Operation Turing-decidable Turing-acceptable Union yes Concatenation Kleene star Complement no * Intersection * - need proof (coming soon)

Argue that the following languages are Turing-decidable: (a) {“M” ”w” : M halts on w after at most 700 steps} (b) {“M” “w”: M halts on w without using more than the first 100 tape squares} For part (b): we only have to simulate M for a finite number of steps and in that time frame it will either halt, hang, use more than the first 100 tape squares, or it will never halt. How many steps must we run M for?

Tutorials: What happens in them Tutorials: What happens in them? Would you prefer more structured ones (posted problems to solve) or do you prefer to just ask questions in your trouble areas? How could they be structured to better help you to learn the class material? Do you like our unusual grading scheme?