CS310. Turing Machines. Section 3.1. October 28, CS 310 Fall 2016 Pacific University. Alan Turing

Similar documents
Turing Machines: An Introduction

3515ICT Theory of Computation Turing Machines

Turing Machines, Part I

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

24 Uses of Turing Machines

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Automata and Computability. Solutions to Exercises

CAs and Turing Machines. The Basis for Universal Computation

The Halting Problem is Undecidable

Introduction to Turing Machines

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Computability Theory

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Notes on Complexity Theory Last updated: August, Lecture 1

Universal Turing Machine: A Model for all Computational Problems

Regular Languages and Finite State Machines

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Chapter 7 Uncomputability

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Computational Models Lecture 8, Spring 2009

Theory of Computation Chapter 2: Turing Machines

How To Compare A Markov Algorithm To A Turing Machine

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

Super Turing-Machines

4.6 The Primitive Recursive Functions

Lecture 2: Universality

Reading 13 : Finite State Automata and Regular Expressions

1 Definition of a Turing machine

How To Understand The Relation Between Simplicity And Probability In Computer Science

Chapter 1. Computation theory

6.080/6.089 GITCS Feb 12, Lecture 3

Regular Expressions and Automata using Haskell

Introduction to Theory of Computation

Properties of Stabilizing Computations

Algebraic Computation Models. Algebraic Computation Models

Turing Machines, Busy Beavers, and Big Questions about Computing

Introduction to Automata Theory. Reading: Chapter 1

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

Oracle Turing machines faced with the verification problem

Finite Automata. Reading: Chapter 2

Introduction to computer science

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

Outline 2. 1 Turing Machines. 2 Coding and Universality. 3 The Busy Beaver Problem. 4 Wolfram Prize. 5 Church-Turing Thesis.

Finite Automata and Formal Languages

Computer Science 281 Binary and Hexadecimal Review

Factoring & Primality

Composability of Infinite-State Activity Automata*

How To Understand The Theory Of Computer Science

NP-Completeness and Cook s Theorem

Model 2.4 Faculty member + student

The Little Man Computer

Universality in the theory of algorithms and computer science

Complexity Classes P and NP

Quantum Computing. Robert Sizemore

Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines

Computer Architecture Syllabus of Qualifying Examination

Models of Sequential Computation

Deterministic Finite Automata

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Lecture 36: Turing Machines [Fa 14]

Arithmetic Coding: Introduction

On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees

SOLUTIONS FOR PROBLEM SET 2

The P versus NP Solution

Theoretical Computer Science (Bridging Course) Complexity

Prime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

Finite Automata and Regular Languages

Automata and Formal Languages

The Classes P and NP

12. Finite-State Machines

SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL. Department of Computer Science

CS 301 Course Information

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Hypercomputation: computing more than the Turing machine

Automata on Infinite Words and Trees

Introduction to Finite Automata

A Survey and Analysis of Solutions to the. Oblivious Memory Access Problem. Erin Elizabeth Chapman

Two-dimensional Languages

Determine If An Equation Represents a Function

Computation Beyond Turing Machines

Lexical analysis FORMAL LANGUAGES AND COMPILERS. Floriano Scioscia. Formal Languages and Compilers A.Y. 2015/2016

Computability Classes for Enforcement Mechanisms*

Master of Arts in Mathematics

Algorithmic Software Verification

Notes on Complexity Theory Last updated: August, Lecture 1

FINITE STATE AND TURING MACHINES

T Reactive Systems: Introduction and Finite State Automata


Sources: On the Web: Slides will be available on:

Computing temporal data from temporal data

Computer Science Theory. From the course description:

Wang s B machines are efficiently universal, as is Hasenjaeger s small universal electromechanical toy

Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go

Transcription:

CS310 Turing Machines Section 3.1 October 28, 2016 Alan Turing English mathematician Helped break German codes during WWII Helped formalize the concept of an algorithm Represented by the Turing Machine A TM is a precise way to discuss/reason about algorithms Data: any data can be encoded as a string of 0s and 1s 1

Turing Machines Similar to Finite Automata Differences unlimited and unrestricted memory more accurate model of modern computer Problems that cannot be solved by a Turing Machine cannot be solved by a real digital computer theoretical limits of computation Turing Machine State Transitions plus infinite data tape read/write tape move around on tape State Transitions Read/Write Head Data Tape (containing input string) a b d a b d c e a f 2

Notes Deterministic May make multiple passes over input Reject string by entering reject configuration or looping forever hard to tell if a machine will loop forever Halting problem Differences with FA TM can read and write from tape Read/Write head can move left or right One step must move TM tape is infinite to the right* TM accept and reject states take effect immediately 3

L = { w#w w { 0,1} * } Conceptually, we want to do what? Example input string: 1 1 0 0 # 1 1 0 0 Is L regular? context free? Formal Definition (7 Tuple) {Q, Σ,,,q 0, q accept, q reject } Q: Σ: : blank character: : Q x Σ Q x x {L,R} q 0 q accept q reject 4

Configurations A configuration C is of form uqv, where uv is tape contents and q is current state (assume tape head at first symbol of v) Start configuration of M on input w is:q 0 w Accepting configuration of M is C=uq accept v Rejecting configuration is C=uq reject v NOTE: Both of these are halting configurations since TM will stop Operation A configuration c i yields c j if TM moves from c i to c i+1 in simple step Example: c i = uaq i bv yields c i+1 =uq j acv if (q i, b) (q j, c, L) Accepting and Rejecting configurations are called halting configurations the TM stops operating otherwise, loops forever 5

Definition of Computing A TM, M, accepts a string, w, if there exists a sequence of configurations, c 0,c 1,,c n, such that: c 0 is the start configuration c i yields c i+1 for all i c n is an accept configuration The set of strings M accepts is L(M) the language of M Definitions Turing recognizable a language is Turing Recognizable if some TM recognizes it (accepts all valid strings) Turing decidable a language is Turing decidable if some TM decides it halts on all inputs hard to tell if a looping machine is really going to reject the string 6

Church-Turing Thesis Turing Model is and always will be the most powerful model it can simulate other models: D/NFA, PDA variations do not provide more power extra tape nondeterminism extra read/write heads (but may make a TM easier to build) Build a Machine! L = {ΣΣ0Σ } Σ = {0,1} Decider or Recognizer?? 7

Build a Machine! L = {a n b n n>=0 } Decider or Recognizer? Build a Machine! L = {a n b n n>=0 } 8

Build a Machine! L = {a n b n c n n>=0 } L = {a n b m c p n, m, p>0, p = n - m } L = { w w is even }, Σ = {1} L = { w w a power of 2 }, Σ = {1} L = { w w is prime }, Σ = {1} Often, you write an algorithm for the machine rather than a set of transitions. TM produces output (to the tape) Transducer A function F with domain D is Turing- Computable if there exists a TM, M, such that the configuration q 0 w yields q accept, F(w) for all w D. x = number in base 1, F(x) = 2x x = 111 2x = 111111 9

Transducer x, y positive integers in base 1 design TM that computes x+y 10