Introduction to Turing Machines

Similar documents
Computability Theory. CS215, Lecture 6,

Decidability: Church-Turing Thesis

Fundamentals of Computer Science

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

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

Computability and Complexity

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

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

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

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

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

CS21 Decidability and Tractability

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

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

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

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

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

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

The Church-Turing Thesis

Turing Machines. Lecture 8

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

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

Turing Machines Part II

Chapter 3: The Church-Turing Thesis

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

1 Showing Recognizability

Most General computer?

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

1 Unrestricted Computation

Part I: Definitions and Properties

Theory of Computation (IX) Yijia Chen Fudan University

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

Theory of Computation

Lecture 12: Mapping Reductions

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Computation. Some history...

CSCC63 Worksheet Turing Machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Chapter 6: Turing Machines

CSE 105 THEORY OF COMPUTATION

Decidable Languages - relationship with other classes.

Two Way Deterministic Finite Automata

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

UNRESTRICTED GRAMMARS

The Unsolvability of the Halting Problem. Chapter 19

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

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

Embedded systems specification and design

Computation Histories

Theory of Computer Science

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

Lecture 13: Turing Machine

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

Decidability. William Chan

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

7.1 The Origin of Computer Science

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

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

Chapter 8. Turing Machine (TMs)

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

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

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

The Turing machine model of computation

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata.

Turing Machines Part III

CS4026 Formal Models of Computation

Lecture 14: Recursive Languages

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

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

SCHEME FOR INTERNAL ASSESSMENT TEST 3

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

Foundations of Computation. Ana Bove

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

CS20a: Turing Machines (Oct 29, 2002)

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Computational Models Lecture 8 1

Deterministic PDA s. Deepak D Souza. 21 October Department of Computer Science and Automation Indian Institute of Science, Bangalore.

Theory of Computation - Module 4

Theory of Computation

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936

ECS 120 Lesson 15 Turing Machines, Pt. 1

Computational Models Lecture 8 1

Computational Models Lecture 8 1

CSE 105 THEORY OF COMPUTATION

Exam Computability and Complexity

Opleiding Informatica

Introduction to Turing Machines. Reading: Chapters 8 & 9

Computable Functions

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

Reducability. Sipser, pages

TURING MAHINES

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University

CAPES MI. Turing Machines and decidable problems. Laure Gonnord

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

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

Propositions as Types

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

The Church-Turing Thesis. Chapter 18

Transcription:

Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015

Outline 1 Turing Machines 2 Formal definitions 3 Computability

Role of Automata Theory in other subjects Automated Verification Computability Logic Automata and Formal Languages Compilers Complexity Theory

Brief history of logic and computability David Hilbert 1928: Entscheidungsproblem (deciding validity of FO logic) Alonzo Church 1930: Undecidability of Entscheidungspr using Lambda calculus Kurt Godel 1929: Completeness of FO logic 1931: Incompleteness of FO arithmetic Alan Turing Kleene, Rosser, Scot, Rabin,... 1936: Undecidability of Entscheidungsproblem using TMs

How a Turing machine works a a b a b a a a p Finite control Tape infinite to the right Each step: In current state p, read current symbol under the tape head, say a: Change state to q, replace current symbol by b, and move head left or right. (p, a) (q, b, L/R).

How a Turing machine works Special designated accept state t and reject state r. These states are assumed to be sink states. TM accepts its input by entering state t. TM rejects its input by entering state r. TM never falls off the left end of the tape (i.e it always moves right on seeing ).

Example TM for a n b n c n

Exercise: TM for adding numbers in unary Design a TM that accepts {1 m #1 n #1 n+m m, n 0}.

Turning machines more formally A Turing machine is a structure of the form where M = (Q, A, Γ, s, δ,,, t, r) Q is a finite set of states, A is the input alphabet, Γ is the tape alphabet which contains A, s Q is the start state, δ : Q Γ Q Γ {L, R} is the (deterministic) transition relation, Γ is the left-end marker. Γ is the blank tape symbol. t Q is the accept state. r Q is the reject state.

Configurations, runs, etc. of a Turing machine A configuration of M is of the form (p, y ω, n) Q Γ ω N, which says M is in state p, with non-blank tape contents y, and read head positioned at the n-th cell of the tape. Initial configuration of M on input w is (s, w ω, 0). 1-step transition of M: If (p, a) (q, b, L) is a transition in δ, and z(n) = a: then (p, z, n) 1 (q, sb n (z), n 1). Similarly, if (p, a) (q, b, R) is a transition in δ, and z(n) = a: then (p, z, n) 1 (q, sb n (z), n + 1). M accepts w if (s, w ω, 0) (t, z, i), for some z and i. M rejects w if (s, w ω, 0) (r, z, i), for some z and i.

Language accepted by a Turing machine The Turing machine M is said to halt on an input if it eventually gets into state t or r on the input. Note that M may not get into either state t or r on a particular input w. In that case we say M loops on w. The language accepted by M is denoted L(M) and is the set of strings accepted by M. A language L A is called recursively enumerable if it is accepted by some Turing machine M. A language L A is called recursive if it is accepted by some Turing machine M which halts on all inputs.

Computability and languages Notion of a function f : N N being computable (informally if we can give a finite recipe or algorithm to compute f (n) for a given n.) We say f is computable if we have a TM M that given 0 n as input, outputs 0 f (n) on its tape, and halts. View f as a language L f = {(n, f (n)) n N}. Then f is computable iff L f is recursive.