Turing Machines. Lecture 8
|
|
- Beatrix Banks
- 5 years ago
- Views:
Transcription
1 Turing Machines Lecture 8 1
2 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2
3 Computation Problem: To compute a function F that maps each input (a string) to an output bit Program: A finitely described process taking a string as input, and outputting a bit (or not halting) P computes F if for every x, P(x) outputs F(x) and halts 3 A program is a finite bit string Programs can be enumerated listed sequentially (say, lexicographically) so that every program appears somewhere in the list The set of all programs is countable. 1 ε
4 Computation Problem: To compute a function F that maps each input (a string) to an output bit Program: A finitely described process taking a string as input, and outputting a bit (or not halting) P computes F if for every x, P(x) outputs F(x) and halts 4 A function assigns a bit to each finite string Corresponds to an infinite bit string The set of all functions is uncountable! As numerous as, say, real numbers in [0,1] 1 ε
5 Computation Problem: To compute a function F that maps each input (a string) to an output bit Program: A finitely described process taking a string as input, and outputting a bit (or not halting) P computes F if for every x, P(x) outputs F(x) and halts There are uncountably many functions! But only countably many programs 5 Almost every function is uncomputable! (non constructive proof)
6 Course Trajectory We will be looking at what can be computed at all? What cannot be decided (undecidability) 6
7 What about a particular problems? Given program P, input w: w P Will halt or run into an infinite loop? Halting problem! 7
8 Halting Problem Undecidable Given program P: P P Write a program that decides if a program halts. Dual view of program as program and as data. 8
9 Alas! There is no program that solves the Halting Problem! Way to view code as data allows diagonalization proof. 9
10 Computing What does it mean to compute something? There is no algorithm for the halting problem What does it mean for something to be an algorithm formally? Then I can say For all algorithms 10
11 A Brief History of Computing Leibnitz (circa 1600): Believed in universal language for encoding any problem (math, philosophy, religion). Thought if you properly encode any problem in binary form, there is a way to calculate an answer (run the algorithm) calculemus! 11
12 A Brief History of Computing Babbage (circa 1860): built Difference and Analytical Engine (Add, multiply, etc). It marks the transition from mechanised arithmetic to fully-fledged general purpose computation. Hypothesized that any mathematical question can be answered by the analytical engine, suitably encoded. 12
13 A Brief History of Computing Hilbert (circa 1900): What can we prove in mathematical world? Proving and computing almost identical, proof= trace the program. The Entscheidungsproblem (descision problem): is there an algorithm that takes as input a statement of a first-order logic and answers "Yes" or "No" according to whether the statement is universally valid, i.e., valid in every structure satisfying the axioms. 13
14 A Brief History of Computing Gödel: no! there is no such algorithm Church: better way to prove it with functional programming 14
15 Alan Turing British mathematician cryptanalysis during WWII arguably, father of AI, CS Theory several books, movies Mathematically defined computation 15 Invented Turing Machines at 23 (1936). Turing machines can compute everything that is computable. He proved that The Halting Problem has no general algorithm (it is not possible to decide whether a turing machine will ever halt)
16 Computation Computers were people at that time! The way people do math is write-erase-throw away. Turing proposed to abstract this process. 16
17 Turing Machine
18 Turing Machine Finite alphabet Read Write Move +1 or -1 Halt condition
19 Turing Machine Finite number of internal states Finite alphabet Read Write Was designed as a model of human computation but it models computers as we know them Move +1 or -1 Halt condition Internal state (finite number)
20 Why do we care? I need a model of computation that is simple enough to convince you that a TM can take as input a description of a TM and simulate it. Python interpreter in Python? Harder to explain Python semantics Will be able to define what can we compute?
21 TM for Decision Problems M = (Q, Σ, Γ, B, δ, q start,, q accept, q reject ): Γ is a finite tape alphabet. - B or is the blank symbol (special symbol) - Σ is a finite input alphabet Σ Γ\ B Q is a finite set of states q start Q is the initial state 21 q accept, q reject Q accept/reject states Or maybe run forever
22 TM for Decision Problems M = (Q, Σ, Γ, B, δ, q start,, q accept, q reject ): Γ is a finite tape alphabet. - B or is the blank symbol (special symbol) - Σ is a finite input alphabet Σ Γ\ B Q is a finite set of states q start Q is the initial state q accept, q reject Q accept/reject states 22 Or maybe run forever Transition function: δ : Q Γ (read) Q Γ (write) { L, R }
23 Turing Machine pink tape = string in Γ* followed by infinite stream of we will treat = configuration = state, string (content of tape), and integer (position of tape). (Q,x,i) Q x Γ*x N e.g. (pink, 01011, 5)
24 Configuration = ID (Instantaneous 24 Description) Contains all necessary information to capture the current configuration of the computation state, tape-contents & head-location Easy-to-read notation: (q,xay,i) x Γ* : tape contents left of the head q Q : state y Γ* : tape contents at & right of the head (till last non-blank) Initial ID: (qstart, input,0) a: symbol TM is about to read
25 Relations & * on IDs ID1 ID2 iff ID1 evolves into ID2 in one step. e.g., if δ(q, ai) = (qʹ,b, L), then q,a1 a2 ai-1 ai ai+1 an, i) (qʹ,a1 a2 ai-2ai-1 b ai+1 an,i-1) current ID next ID * i s the reflexive & transitive closure of 25 Thus, ID 1 * ID 2 iff M, when run from ID 1, reaches ID 2 after some finite number (0 or more) of moves
26 Accept/Reject In DFAs it was clear when to accept an input string or reject it. TM can: go back and forth over the input overwrite the input write on the tape way past the end of the input need an explicit state
27 Definition of Acceptance M accepts w iff (qstart,w, 0) * (qaccept,x,i) for some x Γ* Note that M is allowed to accept w without scanning all of w L(M) = {w M accepts w} M does not accept w if starting from the ID qstart w : 1. M halts in qreject, or 2. M crashes (head moves off the tape), or 3. M never stops 27
28 Deciding/Recognizing a Language L(M) = {w M accepts w} is called the language recognized by M M decides L(M) if on input w L, M halts in qreject If a TM decides the language it recognizes, then, on every input, it halts in qaccept or qreject Easy to change crashes to rejects But turns out the we can t avoid infinite executions! (can t tell if it is going to be infinite) 28
29 Deciding/Recognizing a Language L(M) = {w M accepts w} is called the language recognized by M M decides L(M) if on input w L, M halts in qreject Fundamental questions of computability: Which languages are recognizable? Which languages are decidable? Recursively Enumerable Language Recursive Language 29
30 Example Input alphabet : Σ = {0,1} Tape alphabet : Γ = {0,1,0ʹ, 1ʹ, _} What does this TM do? 0 / 0, R 1 / 1, R 0 / 0ʹ, R 1 / 1ʹ, R 0 / 0, L 1 / 1, L _ / 0, L q3 0ʹ / 0, R q1 _ / _, L q2 1ʹ / 1, R 0 / 0, R 1 / 1, R _ / 1, L q4
31 q1 q2 q4 q2 q3 q2 Example ʹ 0 1 0ʹ 0ʹ 1 0ʹ 0ʹ 1ʹ 0ʹ 0ʹ 1ʹ 0ʹ 0ʹ 1 0ʹ 0ʹ 1 1 _ 0ʹ 0ʹ 1 1 _ 0ʹ _ 0ʹ _ 0ʹ _ 0ʹ ʹ ʹ ʹ Input alphabet : Σ = {0,1} Tape alphabet : Γ = {0,1,0ʹ, 1ʹ, _} 0 / 0ʹ, R 1 / 1ʹ, R q1 _ / _, L 0 / 0, L 1 / 1, L q2 _ / 0, L 0ʹ / 0, R 1ʹ / 1, R _ / 1, L 0 / 0, R 1 / 1, R q3 0 / 0, R 1 / 1, R q4
32 q1 q2 q3 q2 Example ʹ _ _ _ _ _ Maps w to ww R Next? Crashes! Head moves out of the tape. Input alphabet : Σ = {0,1} Tape alphabet : Γ = {0,1,0ʹ, 1ʹ, _} 0 / 0ʹ, R 1 / 1ʹ, R q1 _ / _, L 0 / 0, L 1 / 1, L q2 _ / 0, L 0ʹ / 0, R 1ʹ / 1, R _ / 1, L 0 / 0, R 1 / 1, R q3 0 / 0, R 1 / 1, R q4
33 What does this TM do? 33
34 What does this TM do? 0/0,R 0/$,R p0 _/0,L pstart 1/0,R 0/1,R phalt 34 1/$,R p1 _/1,L 1/1,R
35 q1 q2 q3 q2 Example ʹ _ _ _ _ _ Maps w to ww R Next? Crashes! Head moves out of the tape. Input alphabet : Σ = {0,1} Tape alphabet : Γ = {0,1,0ʹ, 1ʹ, _} 0 / 0ʹ, R 1 / 1ʹ, R q1 _ / _, L 0 / 0, L 1 / 1, L q2 _ / 0, L 0ʹ / 0, R 1ʹ / 1, R _ / 1, L 0 / 0, R 1 / 1, R q3 0 / 0, R 1 / 1, R q4
36 Avoiding Crashing Given M (that may crash), an equivalent Mʹ which goes to qreject instead of crashing Idea: Rewrite input w to be $w, place the head on the first symbol of w and run M. If head ever scans $, move to qreject (and move the head right) 0/$,R p0 0/0,R _/0,L 0/0,L 1/1.L $/$,R pstart 1/0,R 0/1,R p2 q0 36 1/$,R p1 _/1,L 1/1,R
37 Shifting by k Positions Can do shift-by-1 k times. But k scans of tape. To shift by k positions to the right in a single scan: Remember last k symbols. Overwrite current cell with symbol from k cells behind _/$,R pʹʹ0 pstart 0/$,R 1/$,R p0 p1 0/$,R 0/0,R 1/1,R 1/$,R 1/$,R p00 p11 1/$,R 1/0,R 1/0,R 0/1,R 0/1,R 0/0,R p01 p10 1/1,R _/0,R _/0,R _/1,R _/1,R pʹ0 pʹ1 _/0,R _/0,R _/1,R _/1,R 0/0,L 1/1.L $/$,R 37 _/$,R pʹʹ1
38 Binary Addition L = { x#y#z x, y, z {0,1}*, x = y = z, x+y=z in binary } Plan: shift check LSB : 0 1 # 0 1 # 1 0 _ : $ 0 1 # 0 1 # 1 0 : $ _ carry c=0 carry c=1 38 check MSB check finished : @ carry c=0
39 Binary Addition L = { x#y#z x, y, z {0,1}*, x = y = z, x+y=z in binary } Shift input w to make it $w. Scan the tape to ensure w matches (0+1)*#(0+1)*#(0+1)* Return head to the left end (right of $) (In finite memory, carry-bit c initialized to 0) Repeat copy the digit to the left of first # into finite state, and overwrite it with # (replace old # If no digit there, accept if carry is 0 & no digits left; else reject. copy the digit to the left of second # into finite state, and move # left (replace old # If no digit there, reject. check if the right most digit is correct. Reject if no digit or if it is not correct; else erase digit and update carry. Move head to the left end (right of $) 39
40 Verify finished & Accept x=1 Shift & Format Check $/$,R 0 / 0, R 1 / 1, R q0 $/$,R #/@, L 1 /#,R x=0 0 R 0 / 0, R 1 / 1, R #/@, L 1 /#,R 0 R 0 / 0, R 1 / 1, R _/_, L y=1 y=0 $/$,R 0 / _, L c=0 # / #, L 0 / 0, L 1 / 1, L 40 c=1
41 What can a TM do? Can shift by any number i, by keeping 2 i states to remember what were in the first i places of the tape. Can do simple arithmetic operations, addition, multiplication etc. 41
42 What can a TM do? L={ 0 i 1 j 0 k i=j=k } is not a CFL! Can be decided by TM (see notes) 42
43 What can a TM do? A TM can do everything that can be done in a standard programming language (and vice versa) 43
Most General computer?
Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall
More informationUnderstanding Computation
Understanding Computation 1 Mathematics & Computation -Mathematics has been around for a long time as a method of computing. -Efforts to find canonical way of computations. - Machines have helped with
More informationDecision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012
Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM
More informationDecidability: Church-Turing Thesis
Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
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
More informationDecidable Languages - relationship with other classes.
CSE2001, Fall 2006 1 Last time we saw some examples of decidable languages (or, solvable problems). Today we will start by looking at the relationship between the decidable languages, and the regular and
More information1 Unrestricted Computation
1 Unrestricted Computation General Computing Machines Machines so far: DFAs, NFAs, PDAs Limitations on how much memory they can use: fixed amount of memory plus (for PDAs) a stack Limitations on what they
More information1 Showing Recognizability
CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
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
More informationIntroduction to Turing Machines
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
More informationLecture Notes: The Halting Problem; Reductions
Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings
More informationCSCI3390-Assignment 2 Solutions
CSCI3390-Assignment 2 Solutions due February 3, 2016 1 TMs for Deciding Languages Write the specification of a Turing machine recognizing one of the following three languages. Do one of these problems.
More informationCSCE 551: Chin-Tser Huang. University of South Carolina
CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan
More informationCS20a: Turing Machines (Oct 29, 2002)
CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Handicapped machines DFA limitations Tape head moves only one direction 2-way DFA
More informationComputability Theory. CS215, Lecture 6,
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
More informationLecture 12: Mapping Reductions
Lecture 12: Mapping Reductions October 18, 2016 CS 1010 Theory of Computation Topics Covered 1. The Language EQ T M 2. Mapping Reducibility 3. The Post Correspondence Problem 1 The Language EQ T M The
More informationMore Turing Machines. CS154 Chris Pollett Mar 15, 2006.
More Turing Machines CS154 Chris Pollett Mar 15, 2006. Outline Multitape Turing Machines Nondeterministic Turing Machines Enumerators Introduction There have been many different proposals for what it means
More informationCS20a: Turing Machines (Oct 29, 2002)
CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Church s thesis The computable functions are the same as the partial recursive
More informationCSCC63 Worksheet Turing Machines
1 An Example CSCC63 Worksheet Turing Machines Goal. Design a turing machine, M that accepts only strings of the form {w#w w {0, 1} }. Idea. Describe in words how the machine would work. Read first symbol
More informationCS21 Decidability and Tractability
CS21 Decidability and Tractability Lecture 8 January 24, 2018 Outline Turing Machines and variants multitape TMs nondeterministic TMs Church-Turing Thesis So far several models of computation finite automata
More informationCS154, Lecture 10: Rice s Theorem, Oracle Machines
CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable
More informationTuring Machines (TM) The Turing machine is the ultimate model of computation.
TURING MACHINES Turing Machines (TM) The Turing machine is the ultimate model of computation. Alan Turing (92 954), British mathematician/engineer and one of the most influential scientists of the last
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2018 http://cseweb.ucsd.edu/classes/sp18/cse105-ab/ Today's learning goals Sipser Ch 5.1, 5.3 Define and explain core examples of computational problems, including
More informationcse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska
cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 13 CHAPTER 4 TURING MACHINES 1. The definition of Turing machine 2. Computing with Turing machines 3. Extensions of Turing
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
More informationTURING MAHINES
15-453 TURING MAHINES TURING MACHINE FINITE STATE q 10 CONTROL AI N P U T INFINITE TAPE read write move 0 0, R, R q accept, R q reject 0 0, R 0 0, R, L read write move 0 0, R, R q accept, R 0 0, R 0 0,
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationTuring machine recap. Universal Turing Machines and Undecidability. Alphabet size doesn t matter. Robustness of TM
Turing machine recap A Turing machine TM is a tuple M = (Γ, Q, δ) where Γ: set of symbols that TM s tapes can contain. Q: possible states TM can be in. qstart: the TM starts in this state qhalt: the TM
More informationHarvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis
Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harry Lewis October 22, 2013 Reading: Sipser, 3.2, 3.3. The Basic Turing Machine The Basic Turing Machine a a b a
More informationCS4026 Formal Models of Computation
CS4026 Formal Models of Computation Turing Machines Turing Machines Abstract but accurate model of computers Proposed by Alan Turing in 1936 There weren t computers back then! Turing s motivation: find
More informationTheory of Computation
Theory of Computation Lecture #6 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 39 Lecture 6: Overview Prove the equivalence of enumerators and TMs. Dovetailing
More informationTuring Machines, diagonalization, the halting problem, reducibility
Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have
More informationTuring Machines Part II
Turing Machines Part II COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2016 Slides created by Katya Lebedeva COMP 2600 Turing Machines 1 Why
More informationCS151 Complexity Theory. Lecture 1 April 3, 2017
CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,
More information17.1 The Halting Problem
CS125 Lecture 17 Fall 2016 17.1 The Halting Problem Consider the HALTING PROBLEM (HALT TM ): Given a TM M and w, does M halt on input w? Theorem 17.1 HALT TM is undecidable. Suppose HALT TM = { M,w : M
More informationPart I: Definitions and Properties
Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States
More informationLimits of Computability
Limits of Computability Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner
More informationComputation Histories
208 Computation Histories The computation history for a Turing machine on an input is simply the sequence of configurations that the machine goes through as it processes the input. An accepting computation
More informationDecidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff
Decidability Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff 1 A property P of strings is said to be decidable if the set of all strings having property P is a recursive set; that
More informationCS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG) Objectives Recall that decidable languages are languages that can be decided by TM (that means,
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
More informationCSCI3390-Lecture 6: An Undecidable Problem
CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or
More informationThe Unsolvability of the Halting Problem. Chapter 19
The Unsolvability of the Halting Problem Chapter 19 Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing Machines D and SD A TM M with
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser Ch 3 Trace the computation of a Turing machine using its transition function and configurations.
More information15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable
15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, 2016 Turing & the Uncomputable Comparing the cardinality of sets A B if there is an injection (one-to-one map) from
More informationNon-emptiness Testing for TMs
180 5. Reducibility The proof of unsolvability of the halting problem is an example of a reduction: a way of converting problem A to problem B in such a way that a solution to problem B can be used to
More informationCpSc 421 Homework 9 Solution
CpSc 421 Homework 9 Solution Attempt any three of the six problems below. The homework is graded on a scale of 100 points, even though you can attempt fewer or more points than that. Your recorded grade
More informationTuring s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine
Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:
More informationTuring Machine Recap
Turing Machine Recap DFA with (infinite) tape. One move: read, write, move, change state. High-level Points Church-Turing thesis: TMs are the most general computing devices. So far no counter example Every
More informationThe Turing machine model of computation
The Turing machine model of computation For most of the remainder of the course we will study the Turing machine model of computation, named after Alan Turing (1912 1954) who proposed the model in 1936.
More informationDecidability (What, stuff is unsolvable?)
University of Georgia Fall 2014 Outline Decidability Decidable Problems for Regular Languages Decidable Problems for Context Free Languages The Halting Problem Countable and Uncountable Sets Diagonalization
More informationComputability and Complexity
Computability and Complexity Decidability, Undecidability and Reducibility; Codes, Algorithms and Languages CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario,
More informationChapter 3: The Church-Turing Thesis
Chapter 3: The Church-Turing Thesis 1 Turing Machine (TM) Control... Bi-direction Read/Write Turing machine is a much more powerful model, proposed by Alan Turing in 1936. 2 Church/Turing Thesis Anything
More informationDecidability and Undecidability
Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an
More informationCSE 105 THEORY OF COMPUTATION. Spring 2018 review class
CSE 105 THEORY OF COMPUTATION Spring 2018 review class Today's learning goals Summarize key concepts, ideas, themes from CSE 105. Approach your final exam studying with confidence. Identify areas to focus
More informationLecture 13: Turing Machine
Lecture 13: Turing Machine Instructor: Ketan Mulmuley Scriber: Yuan Li February 19, 2015 Turing machine is an abstract machine which in principle can simulate any computation in nature. Church-Turing Thesis:
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTATION
FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described
More informationCSE 2001: Introduction to Theory of Computation Fall Suprakash Datta
CSE 2001: Introduction to Theory of Computation Fall 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/2001 11/7/2013 CSE
More informationUniversal Turing Machine. Lecture 20
Universal Turing Machine Lecture 20 1 Turing Machine move the head left or right by one cell read write sequentially accessed infinite memory finite memory (state) next-action look-up table Variants don
More informationCSCE 551 Final Exam, Spring 2004 Answer Key
CSCE 551 Final Exam, Spring 2004 Answer Key 1. (10 points) Using any method you like (including intuition), give the unique minimal DFA equivalent to the following NFA: 0 1 2 0 5 1 3 4 If your answer is
More informationTuring Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite
The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where
More informationIntroduction to Languages and Computation
Introduction to Languages and Computation George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Languages and Computation July 2014
More informationCOMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines
COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lec. 16 : Turing Machines COMP 330 Fall 2017: Lectures Schedule 1-2. Introduction 1.5. Some basic mathematics 2-3. Deterministic finite
More informationTuring machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK
COMS11700 Turing machines Department of Computer Science, University of Bristol Bristol, UK 21 March 2014 COMS11700: Turing machines Slide 1/15 Introduction We have seen two models of computation: finite
More informationComputability and Complexity
Computability and Complexity Lecture 5 Reductions Undecidable problems from language theory Linear bounded automata given by Jiri Srba Lecture 5 Computability and Complexity 1/14 Reduction Informal Definition
More informationTuring Machine properties. Turing Machines. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions
Turing Machine properties Turing Machines TM Variants and the Universal TM There are many ways to skin a cat And many ways to define a TM The book s Standard Turing Machines Tape unbounded on both sides
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationTuring Machine Variants
CS311 Computational Structures Turing Machine Variants Lecture 12 Andrew Black Andrew Tolmach 1 The Church-Turing Thesis The problems that can be decided by an algorithm are exactly those that can be decided
More informationCOMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines
COMP-330 Theory of Computation Fall 2012 -- Prof. Claude Crépeau Lec. 14 : Turing Machines 1 COMP 330 Fall 2012: Lectures Schedule 1. Introduction 1.5. Some basic mathematics 2. Deterministic finite automata
More informationUndecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)
We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb) CS /55 Theory of Computation The is A TM = { M,w M is a TM and w L(M)} A TM is Turing-recognizable. Proof Sketch:
More informationDecidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:
Decidability 2017/10/31 Chapter 4.1 in Sipser Ø Announcement: q q q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/decidability.pdf Happy Hollaween! Delayed
More informationTuring Machines Decidability
Turing Machines Decidability Master Informatique 2016 Some General Knowledge Alan Mathison Turing UK, 1912 1954 Mathematician, computer scientist, cryptanalyst Most famous works: Computation model («Turing
More informationTuring Machines Part III
Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's
More information1 Acceptance, Rejection, and I/O for Turing Machines
1 Acceptance, Rejection, and I/O for Turing Machines Definition 1.1 (Initial Configuration) If M = (K,Σ,δ,s,H) is a Turing machine and w (Σ {, }) then the initial configuration of M on input w is (s, w).
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationCS 125 Section #10 (Un)decidability and Probability November 1, 2016
CS 125 Section #10 (Un)decidability and Probability November 1, 2016 1 Countability Recall that a set S is countable (either finite or countably infinite) if and only if there exists a surjective mapping
More informationOpleiding Informatica
Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science
More informationCPSC 421: Tutorial #1
CPSC 421: Tutorial #1 October 14, 2016 Set Theory. 1. Let A be an arbitrary set, and let B = {x A : x / x}. That is, B contains all sets in A that do not contain themselves: For all y, ( ) y B if and only
More informationAutomata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,
Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free
More informationCS 21 Decidability and Tractability Winter Solution Set 3
CS 21 Decidability and Tractability Winter 2018 Posted: January 31 Solution Set 3 If you have not yet turned in the Problem Set, you should not consult these solutions. 1. (a) A 2-NPDA is a 7-tuple (Q,,
More informationCSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY
CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,
More informationCS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018
CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts
More informationHomework Assignment 6 Answers
Homework Assignment 6 Answers CSCI 2670 Introduction to Theory of Computing, Fall 2016 December 2, 2016 This homework assignment is about Turing machines, decidable languages, Turing recognizable languages,
More informationTuring Machines. Reading Assignment: Sipser Chapter 3.1, 4.2
Reading Assignment: Sipser Chapter 31, 42 Turing Machines 41 covers algorithms for decidable problems about DFA, NFA, RegExp, CFG, and PDAs, eg slides 17 & 18 below I ve talked about most of this in class
More informationReading Assignment: Sipser Chapter 3.1, 4.2
Turing Machines 1 Reading Assignment: Sipser Chapter 3.1, 4.2 4.1 covers algorithms for decidable problems about DFA, NFA, RegExp, CFG, and PDAs, e.g. slides 17 & 18 below. I ve talked about most of this
More information6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 8 Nancy Lynch Today More undecidable problems: About Turing machines: Emptiness, etc. About
More informationA non-turing-recognizable language
CS 360: Introduction to the Theory of Computing John Watrous, University of Waterloo A non-turing-recognizable language 1 OVERVIEW Thus far in the course we have seen many examples of decidable languages
More informationUndecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK
COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines
More informationReducability. Sipser, pages
Reducability Sipser, pages 187-214 Reduction Reduction encodes (transforms) one problem as a second problem. A solution to the second, can be transformed into a solution to the first. We expect both transformations
More information1 Reals are Uncountable
CS 30: Discrete Math in CS (Winter 2019): Lecture 6 Date: 11th January, 2019 (Friday) Topic: Uncountability and Undecidability Disclaimer: These notes have not gone through scrutiny and in all probability
More informationAnnouncements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.
Turing Machines Hello Hello Condensed Slide Slide Readers! Readers! This This lecture lecture is is almost almost entirely entirely animations that that show show how how each each Turing Turing machine
More informationUndecidable Problems and Reducibility
University of Georgia Fall 2014 Reducibility We show a problem decidable/undecidable by reducing it to another problem. One type of reduction: mapping reduction. Definition Let A, B be languages over Σ.
More informationRecap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.
Recap DFA,NFA, DTM Slides by Prof. Debasis Mitra, FIT. 1 Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { {, } } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite
More informationTuring Machines Part One
Turing Machines Part One What problems can we solve with a computer? Regular Languages CFLs Languages recognizable by any feasible computing machine All Languages That same drawing, to scale. All Languages
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Summarize key concepts, ideas, themes from CSE 105. Approach your final exam studying with
More informationTheory of Computation (IX) Yijia Chen Fudan University
Theory of Computation (IX) Yijia Chen Fudan University Review The Definition of Algorithm Polynomials and their roots A polynomial is a sum of terms, where each term is a product of certain variables and
More informationComplexity Theory Part I
Complexity Theory Part I Outline for Today Recap from Last Time Reviewing Verifiers Nondeterministic Turing Machines What does nondeterminism mean in the context of TMs? And just how powerful are NTMs?
More informationGriffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0
Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0 Turing Machines Now for a machine model of much greater power.
More information