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

Size: px
Start display at page:

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

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 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 information

Chapter 3: The Church-Turing Thesis

Chapter 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 information

CSCC63 Worksheet Turing Machines

CSCC63 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 information

ECS 120 Lesson 15 Turing Machines, Pt. 1

ECS 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 information

Griffith 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 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

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

CS5371 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 information

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

CS5371 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 information

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Undecidability 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 information

Turing Machines Part II

Turing 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 information

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

More 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 information

The Turing machine model of computation

The 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 information

Harvard 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 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 information

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

Recap 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 information

Computational Models - Lecture 6

Computational 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 information

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Decidability. 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 information

CpSc 421 Homework 9 Solution

CpSc 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 information

CS4026 Formal Models of Computation

CS4026 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 information

Computational complexity

Computational 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 information

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

Turing 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 information

The Church-Turing Thesis

The 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 information

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

Turing 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 information

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

Turing 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 information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: 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 information

Theory of Computation Turing Machine and Pushdown Automata

Theory 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 information

TURING MAHINES

TURING 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 information

CSCI 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 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 information

Most General computer?

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 information

Introduction to Turing Machines

Introduction 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 information

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

Turing 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 information

Equivalence 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 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 information

Nondeterministic Finite Automata

Nondeterministic 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 information

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

Busch 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 information

Turing Machines. Lecture 8

Turing 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 information

Lecture 12: Mapping Reductions

Lecture 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 information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 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 information

Homework Assignment 6 Answers

Homework 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 information

Turing 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 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 information

Automata Theory (2A) Young Won Lim 5/31/18

Automata 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 information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction 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 information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL 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 information

1 Unrestricted Computation

1 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 information

Languages, regular languages, finite automata

Languages, 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 information

Fundamentals of Computer Science

Fundamentals 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 information

Undecidable Problems and Reducibility

Undecidable 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 information

Computability Theory

Computability 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 information

Reducability. Sipser, pages

Reducability. 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 information

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

There 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 information

Computability and Complexity

Computability 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 information

Part I: Definitions and Properties

Part 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 information

Lecture 14: Recursive Languages

Lecture 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 information

Lecture 13: Turing Machine

Lecture 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 information

Turing 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 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 information

CSE 105 Theory of Computation

CSE 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 information

DM17. Beregnelighed. Jacob Aae Mikkelsen

DM17. 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 information

SE 3310b Theoretical Foundations of Software Engineering. Turing Machines. Aleksander Essex

SE 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 information

CSE 105 THEORY OF COMPUTATION

CSE 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 information

Decidability (intro.)

Decidability (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 information

Chapter Five: Nondeterministic Finite Automata

Chapter 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 information

CSE 105 THEORY OF COMPUTATION

CSE 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 information

Further discussion of Turing machines

Further 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 information

Turing 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. 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 information

Chapter 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 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 information

Automata Theory - Quiz II (Solutions)

Automata 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 information

Midterm II : Formal Languages, Automata, and Computability

Midterm 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 information

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

What 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 information

CSE 105 THEORY OF COMPUTATION

CSE 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 information

Chapter 5. Finite Automata

Chapter 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 information

Turing machines and linear bounded automata

Turing 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 information

Chapter 7 Turing Machines

Chapter 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 information

Chapter 8. Turing Machine (TMs)

Chapter 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 information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL 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 information

Computational Models Lecture 8 1

Computational 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 information

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 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 information

ACS2: Decidability Decidability

ACS2: 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 information

Foundations of

Foundations 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 information

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

Decidability. 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 information

Decidability (What, stuff is unsolvable?)

Decidability (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 information

The Power of One-State Turing Machines

The 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 information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL 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 information

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

CS 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 information

6.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. 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 information

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

CSCE 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 information

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

CSCE 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 information

Finite Automata. Mahesh Viswanathan

Finite 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 information

Two Way Deterministic Finite Automata

Two 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 information

Computational Models Lecture 8 1

Computational 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 information

Introduction 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. 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 information

A non-turing-recognizable language

A 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 information

COM364 Automata Theory Lecture Note 2 - Nondeterminism

COM364 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 information

Computation Histories

Computation 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 information

Turing Machines. Wen-Guey Tzeng Computer Science Department National Chiao Tung University

Turing 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 information

Turing Machines. Nicholas Geis. February 5, 2015

Turing 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 information

Equivalent Variations of Turing Machines

Equivalent 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 information

Theory of Computation Lecture 1. Dr. Nahla Belal

Theory 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 information

Introduction 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. 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 information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 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 information

1 Showing Recognizability

1 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 information

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Chomsky 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 information

September 11, Second Part of Regular Expressions Equivalence with Finite Aut

September 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 information

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

THEORY 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