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

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

The Church-Turing Thesis

Chapter 3: The Church-Turing Thesis

CSE 105 THEORY OF COMPUTATION

CS4026 Formal Models of Computation

CS21 Decidability and Tractability

CSCC63 Worksheet Turing Machines

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

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

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

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

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

1 Unrestricted Computation

Computability Theory. CS215, Lecture 6,

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

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

Turing Machines Part II

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

Further discussion of Turing machines

Lecture 14: Recursive Languages

1 Showing Recognizability

The Turing machine model of computation

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

Foundations of

Part I: Definitions and Properties

CS154, Lecture 10: Rice s Theorem, Oracle Machines

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

CSE 105 THEORY OF COMPUTATION

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

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

TURING MAHINES

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

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK

ECS 120 Lesson 15 Turing Machines, Pt. 1

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

Most General computer?

Homework Assignment 6 Answers

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

Turing Machines. Lecture 8

V Honors Theory of Computation

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 III

Introduction to Turing Machines

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Turing Machines. Fall The Chinese University of Hong Kong. CSCI 3130: Formal languages and automata theory

Lecture 12: Mapping Reductions

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

Computability and Complexity

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

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

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

CSCI3390-Assignment 2 Solutions

Automata Theory CS S-12 Turing Machine Modifications

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

Introduction to Turing Machines. Reading: Chapters 8 & 9

Variants of Turing Machine (intro)

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

Computational Models - Lecture 6

CSE 105 THEORY OF COMPUTATION

Theory of Computation (IX) Yijia Chen Fudan University

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

Homework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages

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

CS20a: Turing Machines (Oct 29, 2002)

CSE 105 THEORY OF COMPUTATION

Chapter 8. Turing Machine (TMs)

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

Turing Machines. Chapter 17

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.

Turing Machines. Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage.

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS

CSE 105 THEORY OF COMPUTATION

Decidability and Undecidability

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

Computation Histories

Theory of Computation Turing Machine and Pushdown Automata

Decidability (What, stuff is unsolvable?)

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

Reducability. Sipser, pages

Turing Machine Variants

Equivalent Variations of Turing Machines

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

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

Midterm II : Formal Languages, Automata, and Computability

Lecture Notes: The Halting Problem; Reductions

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

CS20a: Turing Machines (Oct 29, 2002)

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Computability Theory

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Pumping Lemma for CFLs

The Power of One-State Turing Machines

Theory of Computation

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

CPSC 421: Tutorial #1

Two Way Deterministic Finite Automata

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

Turing Machines Part One

Undecidable Problems and Reducibility

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

Transcription:

CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine)

Objectives Introduce the Turing Machine (TM)? Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger computing device than the DFA or PDA

What is a TM? control = blank symbols a b a b Control is similar to (but not the same as) DFA It has an infinite tape as memory A tape head can read and write symbols and move around the tape Initially, tape contains input string (on the leftmost end) and is blank everywhere

What is a TM? (2) Finite number of states, with two special states: accept, reject Based on the current state and the tape symbol under the tape head, TM then decides the tape symbol to write on the tape, goes to the next state, and moves the tape head left or right When TM enters accept state, it accepts the input immediately; when TM enters reject state, it rejects the input immediately If it does not enter the accept or reject states, TM will run forever, and never halt

TM versus DFA Similarities: Finite set of states Differences: TM has an infinite tape and TM can both read and write on the tape Tape head can move both left and right Input string of TM is stored in tape The special states in TM take effect immediately

TM in Action Let us introduce a TM that recognizes the language B = { ww w is in {,}* } We want the TM to accept if the input is in B, and to reject otherwise What should the TM do?

TM in Action (2) Use multiple passes Starts matching corresponding chars, one on each side of To keep track of which chars are checked already, TM crosses off each char as it is examined

Snapshots of Execution () Tape head moves to right

Snapshots of Execution (2) Tape head moves to left

Snapshots of Execution (3) Tape head moves to right

Snapshots of Execution (4) Tape head moves to left

Snapshots of Execution (5) Tape head moves to right

Snapshots of Execution (6) Tape head moves to left

Snapshots of Execution (7) accept Tape head moves to right

TM (Formal Definition) A TM is a 7-tuple (Q,,,, q, q Acc, q Rej ) Q = finite set of states = finite input alphabet, where blank symbol = finite tape alphabet, where and is the transition function of the form: : Q x Q x x { L, R }, where L, R indicates whether the tape head moves left or right after the transition q is the start state q Acc = accept state, q Rej = reject state

Computation of TM Let M = (Q,,,, q, q Acc, q Rej ) be a TM First, M receives input w = w w 2 w n * on the leftmost n squares of the tape Rest of tape is blank (i.e., filled with s) Note: as, first blank on the tape marks the end of input Once M has started, the computation proceeds according to the transition function

Computation of TM (2) (important) If M tries to move its head to the left of the leftmost end of tape, the head simply stays for that move The computation continues until M enters accept state or reject state. Otherwise, M goes on forever

Configuration of TM The configuration of a TM specifies the current state, and the current string in the tape, and the current location of the tape head When the configuration of a TM is: current state = q, current string w = uv with tape head over the first symbol of v, we write: u q v as a shorthand notation E.g., q 7 represents the configuration of TM when tape is, current state is q 7, and the tape head is over the 3 rd in the tape

Configuration of TM (2) We say a configuration C yields another configuration C if the machine can go from C to C in a single transition step E.g., if (q, b) = (q, c, R) ua q bv yields uac q v special case when off the left end: E.g., q bv yields q cv if (q, b) = (q, c, L) How to represent the start configuration?

Configuration of TM (3) More special cases: In an accepting configuration, the current state is the accept state q Acc In a rejecting configuration, the current state is the accept state q Rej These two kinds of configuration are called halting configurations and will not yield further configurations

Acceptance of TM (Formal Definition) Turing Machine M= (Q,,,, q, q Acc, q Rej ) accepts input w if a sequence of configurations C, C 2,, C k exists with C = q w i.e., this indicates C is the start configuration For i = to k-, C i yields C i+ i.e., M moves according to transition function C k is an accepting configuration i.e., M enters accept state in the end

Example of TM Let us try to describe formally a TM that recognizes { ww w in {,}* } Also, let us use the shorthand a b, L to denote current tape symbol is changed from a to b after transition, and tape head moves to L and a L to mean a a, L

Reject state not shown for simplicity start, R, R, R R, R R R R R R, L, L R L,, L R, L = accept state

Example of TM (2) Giving full details of TM are sometimes timeconsuming Usually, people give only high-level details instead (but they must be precise enough for understanding) Let us try to describe the high-level details of a TM M 2 that recognizes the language { a i b j c k i x j = k and i,j,k }

High-Level Details of M 2 On any input string w Scan the input from left to right to check if the string is in the form a + b + c + (rejects if not) (how?) Return the head to left end of tape (how?) Cross off an a. Scan right to find the first b. Zig-zag the input string, so that we match each b with each c by crossing off a b and a c each time. If not enough c, rejects Restore all crossed b. Repeat the above step if there are a remaining (how?) If all a are gone, check if all c are crossed. If yes, accepts. If no, rejects

Recursively Enumerable Language The set of strings that M accepts is called the language of M, or the language recognized by M, and is denoted by L(M) We call a language Turing-recognizable (or, recursively enumerable) if there is some Turing machine that recognizes it

Recursive Language On a given input to a TM, there are three possible outcomes: TM accepts, TM rejects, or TM loops forever A TM machine that halts (i.e., never loops) on all inputs is called a decider We say a TM M decides a language L if M accepts all strings in L and M rejects all strings not in L (so, M is a decider) A language is Turing-decidable (or, recursive) if there is some TM that decides it

Is the following true? Quick Quiz. If L is Turing-decidable, L is Turingrecognizable 2. If L is Turing-recognizable, L is Turingdecidable _ 3. If L is Turing-decidable, so is L _ 4. If L is Turing-recognizable, _ so is L 5. If both L and L are Turing-recognizable, L is Turing-decidable

Next Time Multi-tape Turing Machine Non-deterministic Turing Machine (NTM)