Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski

Slides:



Advertisements
Similar presentations
Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
CS21 Decidability and Tractability
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Lecture 5 Turing Machines
Turing Machines.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Chapter 9 Turing Machine (TMs).
Lecture 14: Church-Turing Thesis Alonzo Church ( ) Alan Turing ( )
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
Turing Machines A more powerful computation model than a PDA ?
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
Lecture 16b Turing Machines Topics: Closure Properties of Context Free Languages Cocke-Younger-Kasimi Parsing Algorithm June 23, 2015 CSCE 355 Foundations.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
Summary of Previous Class There are languages that are not decidable –(we have not proved this yet) Why not extend Turing machines just as we did with.
Recall last lecture and Nondeterministic TMs Ola Svensson.
1 Unit – 5 : STATE MACHINES Syllabus: Languages and Grammars – Finite State Machines State machines and languages – Turing Machines – Computational Complexity.
CS 3240 – Chapter 9.  Turing Machines  From Alan Turing, 1936  Turns out to be the LAST machine  The only machine you'll ever need  The Church-Turing.
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
CS6800 Advance Theory of Computation Spring 2016 Nasser Alsaedi
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
8. Introduction to Turing Machines
Busch Complexity Lectures: Turing Machines
Linear Bounded Automata LBAs
CS21 Decidability and Tractability
Pumping Lemma Revisited
CSE 105 theory of computation
Summary.
Chapter 3: The CHURCH-Turing thesis
Jaya Krishna, M.Tech, Assistant Professor
فصل سوم The Church-Turing Thesis
8. Introduction to Turing Machines
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Decidability and Tractability
CSE 105 theory of computation
The Church-Turing Thesis and Turing-completeness
CSE 105 theory of computation
Presentation transcript:

Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski

Our Models of Computation So Far  Models of computation Finite automata Pushdown automata  Restrictions FA  Finite memory  Left-to-right access to input PDA  Infinite memory…  … but accessible only in a stack form  Left-to-right access to input  Unrestricted model of computation? Turing machine δ, q …

Church-Turing Thesis  Church-Turing Thesis A language can be solved by an algorithm if and only if it can be accepted by a Turing machine that terminates on every output.  How to validate Church- Turing Thesis? Many models of algorithms Unrestricted grammars Lambda calculus RAM machines … all equivalent to Turing machines  Can Church-Turgin thesis be proven? Turing machines were, at the time, the most convincing model

Definition  Turing machine M is a quintuple M = (Q, Σ, Γ, q 0, δ) where: Q – finite set of states, assumed not to contain the two halting states, h a and h r. Σ is the input alphabet and Γ is the tape alphabet. Σ  Γ. Γ does not contain the special blank symbol Δ q 0 – the initial state δ – the transition function δ: Q  (Γ  {Δ})  (Q  {h a, h r })  (Γ  {Δ})  {R, L, S} δ is a total funciton (i.e., your machine should not get stuck in a non-halting state without knowing what to do)

Transition of a TM  δ(q, X) = (p, Y, D) means: If the machine is in state q, scanning symbol X, then: Change state to p Replace symbol X with symbol Y Move the tape according to the direction D (L – left, R – right, S – stay)  Questions What happens if the machine “falls off” the left side of the tape? Do we really need the “S” move?  Example Strings of length 2 n Turing machine for the palindromes language

Configurations  Configuration of a Turing machine Contents of the tape Position of the head Current state  Notation (q, xay) means that  Machine in state q  The head is at the last symbol of the string xa  The head is followed by string y, followed by an infinte number of blank symbols  Initial configuration (q0, Δx) x – machines’s input string  Given a Turing machine T, we define relation (q,xay) (p,zbw) If the latter can be obtained in one step from the former

Languages Accepted by TMs  Definition. Let M = (Q, Σ, Γ, q 0, δ) and let x  Σ * x is accepted by M if (q 0, Δx) * (h a, yaz) for some y,a, z  A string can be rejected if: M ends up in state h r, or M runs forever on x  Notation L(M) – language accepted by a Turing machine M If a language is accepted by a Turing machine then we say that it is recursively enumerable The set of all languages accetped by Turing machines is called RE If a language is accepted by a Turing machine that halts on all inputs then we say that it is recursive

Examples  Give a Turing machine for the following language { a i b i c i | i ≥ 0 }

Computing a Function on a TM  Definition Let M = (Q, Σ, Γ, q 0, δ) be a TM Let f: Σ *  Γ * be a total function We say that M computes f if for each x in Σ * it holds that (q 0, Δx) * (h a,Δf(x))  Example Give a TM that computes f(1 n ) = 1 2n

Power of Turing Machines  We can add extra features to a Turing machine 2-way infinite tape More than one tape Random access to the memory Nondeterminisms 2-dimensional tape  Example: Try to simulate these features (or prove that simulation is possible) None of the extra features strengthens the model!

Languages and Decision Problems  Decision problem Name Input  the mathematical entities about whose properties we ask Question  A well-defined yes/no question  Language A set of strings Languages encode decision problems  Example Name: Connectivity Input: Graph G, vertices s and t Question: Are vertices s and t connected in G

Languages and Decision Problems  Our two fundamental questions What decision problems can and cannot be solved? What decision problem can and cannot be solved efficiently  We focus on languages  Chomsky Hierarchy  Models of computation Regular languages / finite automata Context-free languages / push-down automata Turing machines

Hierarchy of Languages Finite languages Context-free languages Recursive languages All languages

Undecidable Languages  Can everything be solved on a computer? Recursive languages Recursively enumerable languages  do they really exist?  Two proofs… Counting… And an example of a language