Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK
|
|
- Patience Patrick
- 6 years ago
- Views:
Transcription
1 COMS11700 Turing machines Department of Computer Science, University of Bristol Bristol, UK 21 March 2014 COMS11700: Turing machines Slide 1/15
2 Introduction We have seen two models of computation: finite automata and pushdown automata. We now discuss a model which is much more powerful: the Turing machine. COMS11700: Turing machines Slide 2/15
3 Introduction We have seen two models of computation: finite automata and pushdown automata. We now discuss a model which is much more powerful: the Turing machine. A Turing machine is like a finite automaton, with three major differences: It can write to its tape; It can move both left and right; The tape is infinite in one direction. Control a b b a a... Initially, the input is provided on the left-hand end of the tape, and followed by an infinite sequence of blank spaces ( ). COMS11700: Turing machines Slide 2/15
4 Example q 0 a b b a a... COMS11700: Turing machines Slide 3/15
5 Example q 1 c b b a a... COMS11700: Turing machines Slide 3/15
6 Example q 1 c a b a a... COMS11700: Turing machines Slide 3/15
7 Example q 3 c a b a a... COMS11700: Turing machines Slide 3/15
8 Example q 2 c a b a a... COMS11700: Turing machines Slide 3/15
9 Example q 2 c a b a a... COMS11700: Turing machines Slide 3/15
10 Example q 2 c a b a a... COMS11700: Turing machines Slide 3/15
11 Example q 2 c a b a a... COMS11700: Turing machines Slide 3/15
12 Example q 1 c a b a a c... COMS11700: Turing machines Slide 3/15
13 Alan Turing ( ) 1936: Invented the Turing machine and the concept of computability : Worked at Bletchley Park on cracking the Enigma cryptosystem and others : Work on practical computers, AI, mathematical biology, : Convicted of indecency. Died of cyanide poisoning in : Received a royal pardon. Pic: Wikipedia/Bletchley Park COMS11700: Turing machines Slide 4/15
14 Turing machines Turing machines have two special states: an accept state and a reject state. COMS11700: Turing machines Slide 5/15
15 Turing machines Turing machines have two special states: an accept state and a reject state. If the machine enters the accept or reject state, it halts (stops). COMS11700: Turing machines Slide 5/15
16 Turing machines Turing machines have two special states: an accept state and a reject state. If the machine enters the accept or reject state, it halts (stops). If it doesn t ever enter either of these states, it never halts (i.e. it runs forever). COMS11700: Turing machines Slide 5/15
17 Turing machines Turing machines have two special states: an accept state and a reject state. If the machine enters the accept or reject state, it halts (stops). If it doesn t ever enter either of these states, it never halts (i.e. it runs forever). The language L(M) recognised by a Turing machine M is the set {x M halts in the accept state on input x} COMS11700: Turing machines Slide 5/15
18 Turing machines Turing machines have two special states: an accept state and a reject state. If the machine enters the accept or reject state, it halts (stops). If it doesn t ever enter either of these states, it never halts (i.e. it runs forever). The language L(M) recognised by a Turing machine M is the set {x M halts in the accept state on input x} For some language L, if there exists a Turing machine M such that L = L(M), we say that L is Turing-recognisable. (These languages are also sometimes called recursively enumerable.) COMS11700: Turing machines Slide 5/15
19 Describing Turing machines We can describe a Turing machine by its state diagram. As with DFAs and PDAs, we have a graph whose vertices are labelled by states of the machine, and whose edges are labelled by possible transitions. a b, R q 1 q 2 COMS11700: Turing machines Slide 6/15
20 Describing Turing machines We can describe a Turing machine by its state diagram. As with DFAs and PDAs, we have a graph whose vertices are labelled by states of the machine, and whose edges are labelled by possible transitions. A label of the form a b, R q 1 q 2 a b, R means that on reading tape symbol a, the machine writes b to the tape and then moves right. COMS11700: Turing machines Slide 6/15
21 Describing Turing machines We can describe a Turing machine by its state diagram. As with DFAs and PDAs, we have a graph whose vertices are labelled by states of the machine, and whose edges are labelled by possible transitions. A label of the form a b, R q 1 q 2 a b, R means that on reading tape symbol a, the machine writes b to the tape and then moves right. Another example: a label a, b L means that on reading either tape symbol a or b, the machine doesn t write anything to the tape and then moves left. COMS11700: Turing machines Slide 6/15
22 Turing machines Imagine we want to test membership in the language L EQ = {w#w w {0, 1} }. x L EQ if it is made up of two equal bit-strings, separated by a # symbol. COMS11700: Turing machines Slide 7/15
23 Turing machines Imagine we want to test membership in the language L EQ = {w#w w {0, 1} }. x L EQ if it is made up of two equal bit-strings, separated by a # symbol. Idea for recognising this language 1. Our algorithm will scan forwards and backwards, testing each corresponding pair of bits either side of the # for equality in turn. 2. We can overwrite each bit with an x symbol after checking it so we don t check the same bits twice. COMS11700: Turing machines Slide 7/15
24 State diagram (Sipser, Figure 3.10) q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept q # L 6 q 7 1 x, R q 3 q 5 1 x, L COMS11700: Turing machines Slide 8/15
25 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q # COMS11700: Turing machines Slide 9/15
26 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 2 x 1 # COMS11700: Turing machines Slide 9/15
27 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 2 x 1 # COMS11700: Turing machines Slide 9/15
28 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 4 x 1 # COMS11700: Turing machines Slide 9/15
29 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 6 x 1 # x 1... COMS11700: Turing machines Slide 9/15
30 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 7 x 1 # x 1... COMS11700: Turing machines Slide 9/15
31 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 7 x 1 # x 1... COMS11700: Turing machines Slide 9/15
32 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 1 x 1 # x 1... COMS11700: Turing machines Slide 9/15
33 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 3 x x # x 1... COMS11700: Turing machines Slide 9/15
34 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 5 x x # x 1... COMS11700: Turing machines Slide 9/15
35 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 5 x x # x 1... COMS11700: Turing machines Slide 9/15
36 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 6 x x # x x... COMS11700: Turing machines Slide 9/15
37 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 6 x x # x x... COMS11700: Turing machines Slide 9/15
38 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 7 x x # x x... COMS11700: Turing machines Slide 9/15
39 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 1 x x # x x... COMS11700: Turing machines Slide 9/15
40 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 8 x x # x x... COMS11700: Turing machines Slide 9/15
41 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 8 x x # x x... COMS11700: Turing machines Slide 9/15
42 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q 8 x x # x x... COMS11700: Turing machines Slide 9/15
43 Example: testing whether 01#01 L EQ q 2 q 4 0 x, R 0 x, L 0, 1, x L 0, 1 L q 1 q 8 R q accept # L q 6 q 7 1 x, R q 3 q 5 1 x, L q accept x x # x x... COMS11700: Turing machines Slide 9/15
44 Turing machines: formal definition Definition A Turing machine is described by a 7-tuple (Q, Σ, Γ, δ, q 0, q accept, q reject ), where: 1. Q is the set of states, 2. Σ is the input alphabet (which must not contain ), 3. Γ is the tape alphabet, where Γ and Σ Γ, 4. δ : Q Γ Q Γ {L, R} is the transition function, 5. q 0 Q is the start state, 6. q accept is the accept state, 7. q reject is the reject state, where q reject q accept. COMS11700: Turing machines Slide 10/15
45 Example The Turing machine we just saw is described by ({q 1,..., q 8, q accept, q reject }, {0, 1, #}, {0, 1, #, x, }, δ, q 1, q accept, q reject ) where the transition function δ is defined by the table 0 1 # x q 1 q 2, x, R q 3, x, R q 8, R q 2 q 2, R q 2, R q 4, R q 3 q 3, R q 3, R q 5, R q 4 q 6, x, L q 4, R q 5 q 6, x, L q 5, R q 6 q 6, L q 6, L q 7, L q 6, L q 7 q 7, L q 7, L q 1, R q 8 q 8, R q accept, R Blank entries in the table correspond to transitions where the machine rejects. COMS11700: Turing machines Slide 11/15
46 Turing machines: formal definition (2) The full description of what a Turing machine M is doing at any point in time is called its configuration. We write uqv for the configuration where: the tape to the left of the current position contains u; the tape to the right of the current position (and including the current position) contains v (followed by an infinite number of s); the machine is in state q. COMS11700: Turing machines Slide 12/15
47 Turing machines: formal definition (2) The full description of what a Turing machine M is doing at any point in time is called its configuration. We write uqv for the configuration where: the tape to the left of the current position contains u; the tape to the right of the current position (and including the current position) contains v (followed by an infinite number of s); the machine is in state q. For example, 01q describes the following situation: q COMS11700: Turing machines Slide 12/15
48 Turing machines: formal definition (3) Configuration C 1 yields C 2 if M can go from C 1 to C 2 in one step. So: uaqj bv yields uq k acv if δ(q j, b) = (q k, c, L); uaqj bv yields uacq k v if δ(q j, b) = (q k, c, R). COMS11700: Turing machines Slide 13/15
49 Turing machines: formal definition (3) Configuration C 1 yields C 2 if M can go from C 1 to C 2 in one step. So: uaqj bv yields uq k acv if δ(q j, b) = (q k, c, L); uaqj bv yields uacq k v if δ(q j, b) = (q k, c, R). If M is at the left-hand end of the tape, it cannot move any further to the left; but M can move arbitrarily far to the right (the tape is one-way infinite). COMS11700: Turing machines Slide 13/15
50 Turing machines: formal definition (3) Configuration C 1 yields C 2 if M can go from C 1 to C 2 in one step. So: uaqj bv yields uq k acv if δ(q j, b) = (q k, c, L); uaqj bv yields uacq k v if δ(q j, b) = (q k, c, R). If M is at the left-hand end of the tape, it cannot move any further to the left; but M can move arbitrarily far to the right (the tape is one-way infinite). M accepts input x if there is a sequence of configurations C 1,..., C k such that: 1. C 1 is the start configuration of M on input x; 2. For all 1 i k 1, C i yields C i+1 ; 3. C k is an accepting configuration (M is in state q accept). COMS11700: Turing machines Slide 13/15
51 Real-world implementations As well as being a mathematical tool, a Turing machine is a real machine that we can build COMS11700: Turing machines Slide 14/15
52 Summary and further reading A Turing machine is a generalisation of a finite automaton which has access to an infinite tape which it can read from and write to. Turing machines can perform complicated computations (although writing these down formally can be a painful process). Further reading: Sipser 3.1. COMS11700: Turing machines Slide 15/15
CS21 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 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 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 informationECS 120 Lesson 15 Turing Machines, Pt. 1
ECS 120 Lesson 15 Turing Machines, Pt. 1 Oliver Kreylos Wednesday, May 2nd, 2001 Before we can start investigating the really interesting problems in theoretical computer science, we have to introduce
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 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 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 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 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 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 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 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 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 informationComputational Models - Lecture 6
Computational Models - Lecture 6 Turing Machines Alternative Models of Computers Multitape TMs, RAMs, Non Deterministic TMs The Church-Turing Thesis The language classes R = RE core David Hilbert s Tenth
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 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 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 informationComputational complexity
COMS11700 Computational complexity Department of Computer Science, University of Bristol Bristol, UK 2 May 2014 COMS11700: Computational complexity Slide 1/23 Introduction If we can prove that a language
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 informationThe Church-Turing Thesis
The Church-Turing Thesis Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/
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 informationTuring Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA
Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a
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 informationTheory of Computation Turing Machine and Pushdown Automata
Theory of Computation Turing Machine and Pushdown Automata 1. What is a Turing Machine? A Turing Machine is an accepting device which accepts the languages (recursively enumerable set) generated by type
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 informationCSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS
CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS 1. [6 POINTS] For language L 1 = {0 n 1 m n, m 1, m n}, which string is in L 1? ANSWER: 0001111 is in L 1 (with n =
More informationMost 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 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 informationTuring Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)
Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM) 1 Deterministic Turing Machine (DTM).. B B 0 1 1 0 0 B B.. Finite Control Two-way, infinite tape, broken into
More informationEquivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman
Equivalence of TMs and Multitape TMs Theorem 3.13 and Corollary 3.15 By: Joseph Lauman Turing Machines First proposed by Alan Turing in 1936 Similar to finite automaton, but with an unlimited and unrestricted
More informationNondeterministic Finite Automata
Nondeterministic Finite Automata Not A DFA Does not have exactly one transition from every state on every symbol: Two transitions from q 0 on a No transition from q 1 (on either a or b) Though not a DFA,
More informationBusch Complexity Lectures: Turing Machines. Prof. Busch - LSU 1
Busch Complexity ectures: Turing Machines Prof. Busch - SU 1 The anguage Hierarchy a n b n c n? ww? Context-Free anguages n b n a ww egular anguages a* a *b* Prof. Busch - SU 2 a n b anguages accepted
More informationTuring Machines. Lecture 8
Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output
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 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 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. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014
Turing Machines COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2014 Slides created by Jeremy Dawson and Ranald Clouston COMP 2600 Turing Machines
More informationAutomata Theory (2A) Young Won Lim 5/31/18
Automata Theory (2A) Copyright (c) 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later
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 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 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 informationLanguages, regular languages, finite automata
Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,
More informationFundamentals of Computer Science
Fundamentals of Computer Science Chapter 8: Turing machines Henrik Björklund Umeå University February 17, 2014 The power of automata Finite automata have only finite memory. They recognize the regular
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 informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory Decidable Languages Haniel Barbosa Readings for this lecture Chapter 4 of [Sipser 1996], 3rd edition. Section 4.1. Decidable Languages We
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 informationThere are two main techniques for showing that problems are undecidable: diagonalization and reduction
Reducibility 1 There are two main techniques for showing that problems are undecidable: diagonalization and reduction 2 We say that a problem A is reduced to a problem B if the decidability of A follows
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 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 informationLecture 14: Recursive Languages
Lecture 14: Recursive Languages Instructor: Ketan Mulmuley Scriber: Yuan Li February 24, 2015 1 Recursive Languages Definition 1.1. A language L Σ is called recursively enumerable (r. e.) or computably
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 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 informationCSE 105 Theory of Computation
CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Today s Agenda Quick Review of CFG s and PDA s Introduction to Turing Machines and their Languages Reminders and
More informationDM17. Beregnelighed. Jacob Aae Mikkelsen
DM17 Beregnelighed Jacob Aae Mikkelsen January 12, 2007 CONTENTS Contents 1 Introduction 2 1.1 Operations with languages...................... 2 2 Finite Automata 3 2.1 Regular expressions/languages....................
More informationSE 3310b Theoretical Foundations of Software Engineering. Turing Machines. Aleksander Essex
SE 3310b Theoretical Foundations of Software Engineering Turing Machines Aleksander Essex 1 / 1 Turing Machines 2 / 1 Introduction We ve finally arrived at a complete model of computation: Turing machines.
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 informationDecidability (intro.)
CHAPTER 4 Decidability Contents Decidable Languages decidable problems concerning regular languages decidable problems concerning context-free languages The Halting Problem The diagonalization method The
More informationChapter Five: Nondeterministic Finite Automata
Chapter Five: Nondeterministic Finite Automata From DFA to NFA A DFA has exactly one transition from every state on every symbol in the alphabet. By relaxing this requirement we get a related but more
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 informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More informationTuring Machines. Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage.
Turing Machines Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage. A Turing Machine A Turing Machine (TM) has three components: An infinite tape
More informationChapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE
Chapter 1 - Time and Space Complexity deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE 1 / 41 Deterministic Turing machines Definition 1.1 A (deterministic
More informationAutomata Theory - Quiz II (Solutions)
Automata Theory - Quiz II (Solutions) K. Subramani LCSEE, West Virginia University, Morgantown, WV {ksmani@csee.wvu.edu} 1 Problems 1. Induction: Let L denote the language of balanced strings over Σ =
More informationMidterm II : Formal Languages, Automata, and Computability
Midterm II 15-453: Formal Languages, Automata, and Computability Lenore Blum, Asa Frank, Aashish Jindia, and Andrew Smith April 8, 2014 Instructions: 1. Once the exam begins, write your name on each sheet.
More informationWhat languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?
} We ll now take a look at Turing Machines at a high level and consider what types of problems can be solved algorithmically and what types can t: What languages are Turing-decidable? What languages are
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 2 Define push down automata Trace the computation of a push down automaton Design
More informationChapter 5. Finite Automata
Chapter 5 Finite Automata 5.1 Finite State Automata Capable of recognizing numerous symbol patterns, the class of regular languages Suitable for pattern-recognition type applications, such as the lexical
More informationTuring machines and linear bounded automata
and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November, 2011 1 / 13 1 The Chomsky hierarchy: summary 2 3 4 2 / 13
More informationChapter 7 Turing Machines
Chapter 7 Turing Machines Copyright 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 A General Model of Computation Both finite automata and pushdown automata are
More informationChapter 8. Turing Machine (TMs)
Chapter 8 Turing Machine (TMs) Turing Machines (TMs) Accepts the languages that can be generated by unrestricted (phrase-structured) grammars No computational machine (i.e., computational language recognition
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form:
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 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 informationACS2: Decidability Decidability
Decidability Bernhard Nebel and Christian Becker-Asano 1 Overview An investigation into the solvable/decidable Decidable languages The halting problem (undecidable) 2 Decidable problems? Acceptance problem
More informationFoundations of
91.304 Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin dm@cs.uml.edu With some modifications by Prof. Karen Daniels, Fall 2012
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 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 informationThe Power of One-State Turing Machines
The Power of One-State Turing Machines Marzio De Biasi Jan 15, 2018 Abstract At first glance, one state Turing machines are very weak: the Halting problem for them is decidable, and, without memory, they
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY REVIEW for MIDTERM 1 THURSDAY Feb 6 Midterm 1 will cover everything we have seen so far The PROBLEMS will be from Sipser, Chapters 1, 2, 3 It will be
More informationCS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018
CS 301 Lecture 17 Church Turing thesis Stephen Checkoway March 19, 2018 1 / 17 An abridged modern history of formalizing algorithms An algorithm is a finite, unambiguous sequence of steps for solving a
More information6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.
6.045J/18.400J: Automata, Computability and Complexity March 30, 2005 Quiz 2 Prof. Nancy Lynch Please write your name in the upper corner of each page. Problem Score 1 2 3 4 5 6 Total Q2-1 Problem 1: True
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 Computation History A computation history of a TM M is a sequence of its configurations C 1, C 2,, C l such
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 informationFinite Automata. Mahesh Viswanathan
Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,
More informationTwo Way Deterministic Finite Automata
Two Way Deterministic Finite Automata Jagvir Singh and Pavan Kumar Akulakrishna Indian Institute of Science November 29, 2013 Jagvir Singh and Pavan Kumar Akulakrishna (IISC) 2DFA November 29, 2013 1 /
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 informationIntroduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.
Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures and Instructions 23.10. 3.11. 17.11. 24.11. 1.12. 11.12.
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 informationCOM364 Automata Theory Lecture Note 2 - Nondeterminism
COM364 Automata Theory Lecture Note 2 - Nondeterminism Kurtuluş Küllü March 2018 The FA we saw until now were deterministic FA (DFA) in the sense that for each state and input symbol there was exactly
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 informationTuring Machines. Wen-Guey Tzeng Computer Science Department National Chiao Tung University
Turing Machines Wen-Guey Tzeng Computer Science Department National Chiao Tung University Alan Turing One of the first to conceive a machine that can run computation mechanically without human intervention.
More informationTuring Machines. Nicholas Geis. February 5, 2015
Turing Machines Nicholas Geis February 5, 2015 Disclaimer: This portion of the notes does not talk about Cellular Automata or Dynamical Systems, it talks about turing machines, however this will lay the
More informationEquivalent Variations of Turing Machines
Equivalent Variations of Turing Machines Nondeterministic TM = deterministic TM npda = pushdown automata with n stacks 2PDA = npda = TM for all n 2 Turing machines with n tapes (n 2) and n tape heads has
More informationTheory of Computation Lecture 1. Dr. Nahla Belal
Theory of Computation Lecture 1 Dr. Nahla Belal Book The primary textbook is: Introduction to the Theory of Computation by Michael Sipser. Grading 10%: Weekly Homework. 30%: Two quizzes and one exam. 20%:
More informationIntroduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.
Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures Tuesday 10:45 pm - 12:15 pm Instructions Tuesday 12:30
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 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 informationChomsky Normal Form and TURING MACHINES. TUESDAY Feb 4
Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form: A BC A a S ε B and C aren t start variables a is
More informationSeptember 11, Second Part of Regular Expressions Equivalence with Finite Aut
Second Part of Regular Expressions Equivalence with Finite Automata September 11, 2013 Lemma 1.60 If a language is regular then it is specified by a regular expression Proof idea: For a given regular language
More informationTHEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET
THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET Regular Languages and FA A language is a set of strings over a finite alphabet Σ. All languages are finite or countably infinite. The set of all languages
More information