Computability Theory. CS215, Lecture 6,

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

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

CSCC63 Worksheet Turing Machines

Introduction to Turing Machines

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

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

Variants of Turing Machine (intro)

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

The Church-Turing Thesis

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

Chapter 3: The Church-Turing Thesis

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CS21 Decidability and Tractability

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Decidability: Church-Turing Thesis

Part I: Definitions and Properties

Foundations of

TURING MAHINES

Turing Machines (TM) The Turing machine is the ultimate model of computation.

CSE 105 THEORY OF COMPUTATION

Theory of Computation (IX) Yijia Chen Fudan University

CS4026 Formal Models of Computation

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

UNRESTRICTED GRAMMARS

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines

The Turing machine model of computation

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

Theory of Computation

Most General computer?

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

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

Turing Machine Variants

Turing s Thesis. Fall Costas Busch - RPI!1

CS154, Lecture 13: P vs NP

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

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

V Honors Theory of Computation

Turing Machines. Lecture 8

Chapter 8. Turing Machine (TMs)

Decidable Languages - relationship with other classes.

A Note on Turing Machine Design

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

CPSC 421: Tutorial #1

Homework Assignment 6 Answers

Lecture 12: Mapping Reductions

Foundations of

CS154, Lecture 13: P vs NP

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

7.1 The Origin of Computer Science

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

CSE 105 THEORY OF COMPUTATION

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

Turing Machines. Wolfgang Schreiner

Introduction to Languages and Computation

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

Further discussion of Turing machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

Computability and Complexity

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question

Turing Machine properties. Turing Machines. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions

Lecture 14: Recursive Languages

Asymptotic notation : big-o and small-o

Computational Models - Lecture 6

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Busch Complexity Lectures: Turing Machines. Prof. Busch - LSU 1

1 Showing Recognizability

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

Variations of the Turing Machine

CS151 Complexity Theory. Lecture 1 April 3, 2017

Decidability (What, stuff is unsolvable?)

Lecture 16: Time Complexity and P vs NP

Finish K-Complexity, Start Time Complexity

Decidability. William Chan

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Turing Machines and the Church-Turing Thesis

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

Complexity Theory Part I

CSCI3390-Assignment 2 Solutions

Fundamentals of Computer Science

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Turing s original paper (1936)

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

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

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

Turing Machines Part III

Turing Machines Part II

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

Turing Machines Part II

More About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties

Turing Machines, diagonalization, the halting problem, reducibility

Review of Complexity Theory

Transcription:

Computability Theory CS215, Lecture 6, 2000 1

The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David Hilbert, accepting this view, asked whether there is a process whereby it could be determined in a finite number of operations whether a given polynomial has an integral root In 1931 Kurt Gödel showed that every logical system general enough to deal with arithmetic contains statements that cannot be proven true or false What classes of mathematical problems lack effective solutions? CS215, Lecture 6, 2000 2

The Birth (cont d) In 1936 several papers appeared that shed light on that question: Church s Lambda calculus, Kleene s (general) recursive functions, Turing s system, now called Turing machines, and Post s production systems, similar to Turing machines All these systems were proved equivalent Church and Turing then proposed equivalent theses, viz, Church s Thesis,, Turing s Thesis,, or the Church-Turing Thesis, which states that the classes of mathematical problems that are effectively solvable in the intuitive sense are those that are effectively solvable in one of (and thus, any of) the three computational models The thesis also suggests that the notion of effective computability is model-independent CS215, Lecture 6, 2000 3

Turing Machines A Turing machine is a step-wise computing device, which consists of 1 an infinitely long tape that is divided into tape squares (or tape cells), 2 a head that scans (is positioned at) a particular tape square at each time step, and 3 a finite control that maintains the current state CS215, Lecture 6, 2000 4

Turing Machines (cont d) Each combination of a state and a scanned tape symbol determines the next state, the symbol written on the scanned square, and the move (L or R) of the tape head q 2 tape a b a b b c head finite control CS215, Lecture 6, 2000 5

$ # Turing Machines (cont d) A Turing machine is a 7-tuple are finite sets,, where 1 is a set of states, 2 is the input alphabet, 3 is the tape alphabet, where and is the special blank symbol, 4 is the transition function, 5 is the initial state, 6! "! is the accept state, and 7 $ &! "% " is the reject state CS215, Lecture 6, 2000 6

Computation of a Turing Machine In one step, a Turing machine: 1 Reads the symbol written on the tape square on which the head is located and, according to the transition function 2 Makes one move: It (a) updates its state, (b) writes on the current tape square, and (c) moves the head by one square either to the left or to the right, where the head stays at the same position if it is at the left end of the tape and a left move is specified by CS215, Lecture 6, 2000 7

$ # At the beginning Computation of a Turing Machine (cont d) 1 the tape contains the input on the leftmost squares, 2 the rest of the tape is filled with blank symbols, 3 the head is at the leftmost cell, and 4 the state is The Turing machine halts when it enters one of these states it accepts and rejects, respectively! "! and $ &! "% ", and in CS215, Lecture 6, 2000 8

Configurations A configuration of a Turing machine consists of the contents of its tape, the head position, and the state If the tape contents are, the head is located on the th square, and the state is, then we write to denote the configuration The segment of blanks filling the tape is omitted but at least one symbol (possibly ) is required after the state Thus a configuration is a word in a b a b b q 2 In the above, the configuration is CS215, Lecture 7, 2000 9

$ # Configurations (cont d) The action of a TM can be viewed as rewriting of the configuration A configuration in a single step yields if the Turing machine can go from to if yields yields yields if if if, where is if and An accepting configuration (A rejecting configuration) is one in which the state is ( ) Accepting configuration and rejecting configurations are halting configurations! "! $ &! "% " CS215, Lecture 6, 2000 10

The Languages of Turing Machines A Turing machine accepts (rejects) a string an accepting (a rejecting) state for input if it eventually enters A Turing machine recognizes a language on accepts if and only if, if for every input, A Turing machine halts on all inputs decides a language, if recognizes and A language is Turing-recognizable (or recursively enumerable) if there is a Turing machine that recognizes it A language is Turing-decidable (or simply decidable) if there is a Turing machine that decides it CS215, Lecture 6, 2000 11

Example A TM for recognizing 0,1 R 0 # R q 0 x,r 1 x,r p 1 0,1 R r 1 q 3 x R # R x R p 2 0 x,l 0,1,x L q 1 # L q 2 x R x # R R R 1 x,l r 2 q A All unspecified transitions go to a reject state 0,1 L CS215, Lecture 6, 2000 12

Multitape TMs & Nondeterministic TMs A multitape Turing machine is a Turing machine with additional tapes where each tape is accessible individually, with the input on the first tape, and with the others blank at the beginning For a -tape Turing machine, the transition function to is a mapping from A nondeterministic Turing machine is one in which the transition is mapping to the power set of A nondeterministic Turing machine accepts an input if it enters an accepting state for some computation path CS215, Lecture 6, 2000 13

Equivalence Between Single Tape TMs and Multitape TMs Theorem Every multitape Turing machine has an equivalent single tape Turing machine Proof From a -tape TM build a single tape simulator For each, let be a new symbol to signify that a head is located on the symbol Then concatenates the contents of s tapes, with a new symbol as a delimiter The tape configuration of in which the tape contents are positions are is encoded as: and the head memorizes s state using its own state CS215, Lecture 6, 2000 14

Proof (cont d) On input : 1 Convert into its initial form: 2 While has not halted, repeat: (a) Make a sweeping scan on the tape to find the symbols scanned by the heads of (b) Determine the next move of and modify the encoding accordingly Insert symbols if necessary 3 Accept or reject accordingly CS215, Lecture 6, 2000 15

Equivalence Between NTMs and TMs Theorem Every nondeterministic Turing machine has an equivalent deterministic Turing machine Proof From an NTM construct a three-tape simulator Let be a constant such that each transition has at most possible values Let Use a word in nondeterministic path, where for each, if the th symbol of the word is, this signifies that for the th move of, the th element among the available choices (if any) is selected The word is invalid if too few choices are available on Tape 3 to encode a CS215, Lecture 6, 2000 16

Proof (cont d) Use Tape 1 to keep the input, Tape 2 to simulate the tape of Tape 3 to keep an encoding of a computation path, and Define the lexicographic order of paths: if and only if either there exists some,, such that or and, and Eg, for are, the possible computation paths in lexicographic order CS215, Lecture 6, 2000 17

An algorithm for On input, write the word on Tape 3, then repeat: 1 Copy the input onto Tape 2 2 Try to simulate on using the word on Tape 3 as the path If successful and if has accepted, then accept and halt 3 Modify the path to the next smallest path by incrementing it 4 Erase Tape 2 Corollary A language is Turing-recognizable if and only if it is recognized by a multitape TM Corollary A language is Turing-recognizable if and only if it is recognized by an NTM CS215, Lecture 6, 2000 18

Enumerators An enumerator of a language is a TM with a special output tape such that the machine writes on the output tape all the members of with a special symbol as a delimiter Theorem A language is Turing-recognizable if and only if it has an enumerator Proof The if part: Simulate the enumerator, and accept if the input has been output The only if part: Simulate a recognizer For of lexicographic order of at most, simulate on for output if accepts in steps, for each steps and CS215, Lecture 6, 2000 19