Presentation is loading. Please wait.

Presentation is loading. Please wait.

8. Introduction to Turing Machines

Similar presentations


Presentation on theme: "8. Introduction to Turing Machines"— Presentation transcript:

1 8. Introduction to Turing Machines
CIS Automata and Formal Languages – Pei Wang

2 Extending PDA PDA cannot accept {0n1n2n} or {ww} The restrictions in the power of PDA are in using the memory as a stack, and processing the input string character by character Extensions: The memory allows access at any position The memory contains the input, the intermediate results, and the output

3 Turing machine Input: a finite string on an infinite tape Tape head: can move and access a cell Transition: from (state, symbol) to (state, symbol, move)

4 TM definition A (deterministic) Turing machine (TM) M = (Q, Σ, Γ, δ, q0, B, F) where Γ: A finite tape alphabet, and Σ  Γ B: The blank symbol on tape, in Γ – Σ δ: A partial function from (Q – F) × Γ to Q × Γ × {L,R}, specifying the next state, the changed symbol, and the moving direction The other components are like those of a DFA

5 Instantaneous descriptions of TM
The ID of a TM: X1X2…Xi-1qXiXi+1…Xn The current state is q The current symbol under head is Xi X1 and Xn are the leftmost and rightmost non- blank symbols on tape, respectively Order of changes: (1) tape symbol, (2) head location, (3) current state

6 ˫M X1X2…Xi-2pXi-1YXi+1…Xn Moves of TM: to left
If δ(q, Xi) = (p, Y, L), then X1X2…Xi-2Xi-1qXiXi+1…Xn ˫M X1X2…Xi-2pXi-1YXi+1…Xn If i = 1, then a blank is added: qX1X2…Xn ˫M pBYX2…Xn If i = n and Y = B, then a blank is omitted: X1X2…Xn-1qXn ˫M X1X2…Xn-2pXn-1

7 ˫M X1X2…Xi-1YpXi+1…Xn Moves of TM: to right
If δ(q, Xi) = (p, Y, R), then X1X2…Xi-1qXiXi+1…Xn ˫M X1X2…Xi-1YpXi+1…Xn If i = n, then a blank is added: X1X2…Xn-1qXn ˫M X1X2…Xn-1YpB If i = 1 and Y = B, then a blank is omitted: qX1X2…Xn ˫M pX2…Xn

8 TM Example 1: TM definition

9 TM Example 1: transition diagram

10 TM Example 1: ID derivations

11 TM Example 2: TM definition
Proper subtraction: max(m – n, 0) M = ({q0, …,q6}, {0,1}, {0,1,B}, δ, q0, B) It does not accept any input (0m10n), but stops at q6 with an output (0m–n or blank) on the tape

12 TM Example 2: transition diagram

13 TM Example 2: ID derivations
q ˫ q ˫ 0q10100 ˫ 00q1100 ˫ 001q200 ˫ 00q3110 ˫ 0q30110 ˫ q ˫ q3B00110 ˫ q ˫ q10110 ˫ 0q1110 ˫ 01q210 ˫ 011q20 ˫ 01q311 ˫ 0q3111 ˫ q30111 ˫ q3B0111 ˫ q00111 ˫ q1111 ˫ 1q211 ˫ 11q21 ˫ 111q2B ˫ 11q41 ˫ 1q41 ˫ q41 ˫ q4B ˫ q60 q00100 ˫ q1100 ˫ 1q200 ˫ q3110 ˫ q3B110 ˫ q0110 ˫ q510 ˫ q50 ˫ q5B ˫ q6B

14 The language of a TM The language a TM M accepts: L(M) = { w | q0w ˫*M αpβ } where pF, wΣ*, and α, βΓ* L(M) belongs to recursively enumerable (RE) languages A TM halts where the next move is undefined, like an NFA or PDA, while a DFA stops only when the input is exhausted

15 TM and algorithm Those languages with TM’s that do halt (accepting or not) are called recursive A TM that halts for all input is an algorithm, which consists of executable operations, and is both deterministic and finite A problem is decidable if and only if it has an algorithm A DFA/NFA/PDA always stops

16 TM programming Some techniques in TM programming States can be used as limited storage The input/output tape can be split into multiple tracks that can be processed separately A TM can contain another TM as a “subroutine” These ideas do not change the definition of TM, nor its capability, but simplify the description

17 TM extensions The definition of TM can be further extended with multiple tapes and heads that can be used independently with a nondeterministic transition function that specifies multiple possible moves These extensions do not change the languages accepted by TM

18 Restricted TM The following automata have the same capability as a TM: A TM with a tape that is infinite in one direction but finite in the other direction A multi-stack PDA A counter machine with finite states and two or more counters, each can do ++, --, and =0? A 1-counter machine is equivalent to a DPDA

19 Universal TM A Universal Turing Machine (UTM) is a TM that can simulate an arbitrary Turing Machine on arbitrary input The universal machine essentially achieves this by reading both the description of the machine to be simulated as well as the input, then simulating the former on the latter So a “program” can become the “data” of another program

20 Use a TM to simulate a computer

21 Simulating a program in a TM
Get the instruction from the memory Interpret the instruction Get the memory address of data Execute the instruction, which may lead to changes in the content of the tapes Update the instruction counter, and repeat the process

22 Computer and TM A TM can be simulated by a computer program An instruction cycle in a computer can be simulated by a TM A computer program can be simulated by a TM as a sequence of instruction cycles A computer system can be simulated by a TM as a set of programs

23 Church–Turing Thesis Every function which would naturally be regarded as computable is computable by a TM Many other computational models are TM equivalents, including Lambda calculus Computation can be implemented in unconventional ways


Download ppt "8. Introduction to Turing Machines"

Similar presentations


Ads by Google