Top Banner
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines
24

1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

Jan 19, 2018

Download

Documents

Bartholomew Lee

3 Operations An instruction reads the symbol in the current tape cell, writes a symbol to the same cell, and then moves the tape head one cell left or right or remains at the same cell, after which the machine enters a new state.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

1

Turing Machines and Equivalent Models

Section 13.1 Turing Machines

Page 2: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

2

Section 13.1 Turing MachinesA Turing machine (TM) is a simple computer

that has an infinite amount of storage in the form of cells on an infinite tape. There is a control unit that contains a finite set of state transition instructions.

Page 3: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

3

Operations

• An instruction reads the symbol in the current tape cell, writes a symbol to the same cell,

• and then moves the tape head one cell left or right or remains at the same cell, after which the machine enters a new state.

Page 4: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

4

Assumptions

• The symbol Λ denotes a blank cell.• The tape head is initially at the left end of

a nonempty input string (unless specifiedotherwise)

• There is a designated start state.• There is one “halt” state.• The moves are denoted by L, S, R for

move left, stay, and move right.

Page 5: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

5

Example

• Instructions are represented in graphical form or as 5-tuples, as shown in the example.

• This instruction executes if the current state of the TM is i and the current input symbol is a. The TM writes b into that cell, moves right one cell and enters state j.

Page 6: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

6

Acceptance• An input string on the tape is accepted by

the TM if the machine enters the halt state.• The language of a TM is the set of all

strings accepted by the machine.

Page 7: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

7

Example/Quiz• Given the following simple TM.

(0, a, a, R, halt).What is the language of the TM?

• Answer: If an input string begins with the letter a, then the TM executes the instruction andhalts. So the string is accepted. Therefore, the language of the TM is the set of all strings thatbegin with the letter a.

Page 8: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

8

Example• Construct a TM to accept the language {abn | n ∊ N}.

• Solution. Let the start state be state 0. The idea is to see whether a is in the current cell.If so, move right to scan b’s until Λ is found.(0, a, a, R, 1)(1, Λ, Λ, S, halt)(1, b, b, R, 1).

Page 9: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

9

Quiz• Construct a TM to accept the language {abna | n ∊ N}.

• Solution. Let the start state be state 0. The idea is to see whether a is in the current cell.If so, move right to scan b’s until a is found. Then make sure there is Λ to the right.(0, a, a, R, 1)(1, a, a, R, 2)(1, b, b, R, 1)(2, Λ, Λ, S, halt).

Page 10: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

10

Quiz• Construct a TM to accept the language of the

regular expression a(a + b)*.• Solution. Let the start state be state 0. The idea

is to see whether a is in the current cell.If so, move right to scan any a’s or b’s until Λ is found.(0, a, a, R, 1)(1, a, a, R, 1)(1, b, b, R, 1)(1, Λ, Λ, S, halt).

Page 11: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

11

Example/Quiz• Find a TM to accept {anbn | n ∊ N}.• Solution. Let the start state be state 0. The idea is to see whether a is in the current

cell.If so, write X and scan right looking for a b to replace by Y.(0, Λ, Λ, S, halt) accept Λ(0, a, X, R, 1) mark a with X(0, Y, Y, R, 3) no more a’sScan right looking for b to pair with a:(1, a, a, R, 1)(1, Y, Y, R, 1)(1, b, Y, L, 2) mark b with YScan back left looking for X:(2, a, a, L, 2)(2, Y, Y, L, 2)(2, X, X, R, 0)Scan right looking for Λ and halt:(3, Y, Y, R, 3)(3, Λ, Λ, S, halt)

Page 12: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

12

TMs are very powerful

For example, the preceding example can be generalized to a TM that accepts the non-context free language {anbncn | n ∊ N}. (See Example 13.2 in the Text.) So a TM can handle two stacks. In fact, a TM can handle any number of stacks.

Page 13: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

13

Turing Machines with Output• Specify the form of the output on the tape when the machine halts.• Example/Quiz. Find a TM to add 4 to a natural number represented in binary. Start

with the tape head at the right end of the input string and halt with the tape head at the left end of the output string.

• Solution. Let the start state be 0.Move two cells left:(0, 0, 0, L, 1)(0, 1, 1, L, 1)(1, 0, 0, L, 2)(1, 1, 1, L, 2)(1, Λ, 0, L, 2)Add 1:(2, 0, 1, L, 3) Move left(2, 1, 0, L, 2) Carry(2, Λ, 1, S, halt) DoneFind left end of the string:(3, 0, 0, L, 3)(3, 1, 1, L, 3)(3, Λ, Λ, R, halt) Done

Page 14: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

14

Quiz• How would you construct a TM to add 5 to a binary number?• One Solution: Add 1, move back to right end, and then use the

preceding solution.For this purpose, let the start state be 4.Add 1:(4, 0, 1, R, 5) Move right(4, 1, 0, L, 4) Carry(4, Λ, 1, R, 5) Move rightFind right end of the string:(5, 0, 0, R, 5)(5, 1, 1, R, 5)(5, Λ, Λ, L, 0) Go add 4

Page 15: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

15

Example/Quiz• Find a TM to move any string over {a, b} to the left one cell position.

Assume the tape head ends at the left end of any nonempty output string.• Solution. Let the start state be 0.

Find a or b to move:(0, a, Λ, L, 1) Go write a(0, b, Λ, L, 2) Go write b(0, Λ, Λ, L, 4) DoneWrite a or b:(1, Λ, a, R, 3) Write a(2, Λ, b, R, 3) Write b(3, Λ, Λ, R, 0) Skip ΛMove to left end of output:(4, Λ, Λ, L, 5)(5, a, a, L, 5)(5, b, b, L, 5)(5, Λ, Λ, R, halt).

Page 16: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

16

A trace for input aba (tape head is underlined):

Λ a b a Λ (0, a, Λ, L, 1) Λ Λ b a Λ (1, Λ, a, R, 3) a Λ b a Λ (3, Λ, Λ, R, 0) a Λ b a Λ (0, b, Λ, L, 2) a Λ Λ a Λ (2, Λ, b, R, 3) a b Λ a Λ . (3, Λ, Λ, R, 0) a b Λ a Λ (0, a, Λ, L, 1) a b Λ Λ Λ (1, Λ, a, R, 3) a b a Λ Λ (3, Λ, Λ, R, 0) a b a Λ Λ (0, Λ, Λ, L, 4) a b a Λ Λ (4, Λ, Λ, L, 5) a b a Λ Λ (5, a, a, L, 5) a b a Λ Λ (5, b, b, L, 5) a b a Λ Λ (5, a, a, L, 5)Λ a b a Λ Λ (5, Λ, Λ, R, halt)Λ a b a Λ Λ Output.

Page 17: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

17

Quiz• (Exercise 2). Find a TM to search for the symbol # on an otherwise

empty tape, where the tape head starts at a random cell.• A Solution: Use a new symbol, say x, to mark cells that have been

searched as the machine alternately looks left and right.A Sample Trace:# Λ Λ Λ Λ# Λ x Λ Λ# x x Λ Λ# x x Λ Λ# x x x Λ# x x x Λ# x x x Λ.

Page 18: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

18

Alternative Definitions of Turing Machine

Page 19: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

19

Quiz

• Why are they all equal in power to the original definition of a Turing machine?

• An n-head or n-tape instruction contains n-tuples for the cell contents and move operations.

• Example. A typical instruction for a 2-head or a 2-tape TM is(0, (a, b), (c, d), (L, R), 1).

Page 20: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

20

Example/QuizImplement some sample

PDA instructions as TM instructions for a 2-tape TM. Assume one tape holds the input string and the other tape holds the stack. Assume the input is scanned left to right and the stack grows from right to left.

Page 21: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

21

Sample Instructions

PDA Instruction:1. (i, a, X, nop, j)2. (i, a, X, pop, j)3. (i, a, X, push(Y), j)4. (i, Λ, X, pop, j).

TM Instruction:1. (i, (a, X), (a, X), (R, S), j)2. (i, (a, X), (a, Λ), (R, R), j)3. (i, (a, X), (a, X), (S, L), k)

and (k, (a, Λ), (a, Y), (R, S), j)

4. For each letter a: (i, (a, X), (a, Λ), (S, R), j).

Page 22: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

22

Nondeterministic Turing Machines

• Example. Generate an arbitrary string over {a, b} of length n.

• Solution: Assume the input is any string over {a, b} of length n. The tape head is at the right end of the output string.(0, a, a, R, 0)(0, a, b, R, 0)(0, b, a, R, 0)(0, b, b, R, 0)(0, Λ, Λ, L, halt).

Page 23: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

23

Nondeterministic TMs have the same power as deterministic TMs

The idea: Any nondeterministic TM can be simulated by a deterministic TM that simulates all 1-step computations, then all 2-step computations, and so on. The process stops if some computation enters the halt state.

Page 24: 1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.

24

The End of Section 13-1