Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Turing Machines
Invented by Alan Turing in 1936.A simple mathematical model of a general  purpose computer.It is capable of performing any...
The Language Hierarchy n n n ?a b c             ww ?   Context-Free Languages      n n            R     a b         ww    ...
Languages accepted by   Turing Machines n n na b c                   ww   Context-Free Languages      n n            R    ...
A Turing MachineTape......                           ......               Read-Write headControl Unit
The Tape         No boundaries -- infinite length......                                      ......               Read-Wri...
......                            ......            Read-Write headThe head at each time step:          1. Reads a symbol ...
Example:                     Time 0 ......             a b a c   ......                     Time 1  ......            a b ...
Time 1 ......             a b k c   ......                     Time 2 ......             a f k c   ......1. Reads    b2. W...
The Input String                   Input string              Blank symbol......              a b a c                      ...
States & TransitionsRead       Write                         Move Left  q1   a     b, L   q2                         Move ...
Example:                        Time 1   ......        a b a c         ......                         q1                 c...
Time 1......          a b a c            ......                         q1                    Time 2......          a b b ...
Example:                      Time 1  ......          a b a c        ......                            q1                 ...
Example:                  Time 1  ......      a b a c                ......                           q1                  ...
Determinism         Turing Machines are deterministic         Allowed                Not Allowed     a     b, R     q2    ...
Partial Transition FunctionExample:   ......           a b a c                 ......                         q1       a  ...
HaltingThe machine halts if there areno possible transitions to follow
Example:  ......          a b a c              ......                        q1      a    b, R   q2                       ...
Final States q1             q2       Allowed q1             q2      Not Allowed• Final states have no outgoing transitions...
Acceptance                     If machine haltsAccept Input                     in a final state                     If ma...
Turing Machine ExampleA Turing machine that accepts the language:                                  aa *            a      ...
Time 0                   a a a                         q0         a        a, R                              ,L           ...
Time 1                   a a a                          q0         a        a, R                           ,L             ...
Time 2                   a a a                            q0         a        a, R                           ,L           ...
Time 3                   a a a                                 q0         a        a, R                           ,L      ...
Time 4                   a a a                            q1         a        a, R      Halt & Accept                     ...
Rejection ExampleTime 0                    a b a                          q0          a        a, R                       ...
Time 1                a b a                         q0                       No possible Transition         a        a, R ...
Infinite Loop Example   b        b, L   a        a, R                   ,L       q0               q1
Time 0                   a b a                         q0         b        b, L         a        a, R                     ...
Time 1                   a b a                          q0         b        b, L         a        a, R                    ...
Time 2                   a b a                     q0         b        b, L         a        a, R                         ...
Time 2                a b a                      q0Time 3                a b a                           q0Time 4         ...
Because of the infinite loop:  •The final state cannot be reached  •The machine never halts  •The input is not accepted
Another Turing Machine                     Example        n                      n    Turing machine for the language     ...
Time 0                a a b b                          q0                 q4              y    y, R          y     y, Ly  ...
Time 1                x a b b                               q1                 q4                 y   y, R          y     ...
Time 2                x a b b                                q1                 q4              y       y, R          y   ...
Time 3                x a y b                               q2                 q4                 y   y, R          y     ...
Time 4                x a y b                          q2                 q4              y    y, R          y     y, Ly  ...
Time 5                x a y b                               q0                 q4                 y   y, R          y     ...
Time 6                x x y b                                q1                 q4              y       y, R          y   ...
Time 7                x x y b                                      q1                 q4              y         y, R      ...
Time 8                x x y y                                q2                 q4              y    y, R          y     y...
Time 9                x x y y                               q2                 q4                 y   y, R          y     ...
Time 10               x x y y                                q0                 q4              y       y, R          y   ...
Time 11               x x y y                                      q3                 q4              y         y, R      ...
Time 12               x x y y                                      q3                 q4              y    y, R          y...
Time 13                 x x y y                                        q4              Halt & Accept                   q4 ...
Observation:  If we modify the  machine for the language        n n                                {a b }   we can easily ...
Formal Definitions        for Turing Machines
Transition Functionq1   c   d, L    q2(q1, c) (q2 , d , L)
Turing Machine:                  Input                 Tape                  alphabet              alphabet   States      ...
Configuration                c a b a                      q1Instantaneous description:   ca q1 ba
Time 4                Time 5    x a y b               x a y b   q2                       q0A Move:     q2 xayb  x q0 ayb
Time 4               Time 5     x a y b              x a y b    q2                      q0    Time 6               Time 7 ...
q2 xayb  x q0 ayb  xx q1 yb  xxy q1 bEquivalent notation:   q2 xayb  xxy q1 b
Initial configuration:       q0 w                 Input string                         w                 a a b b          ...
The Accepted LanguageFor any Turing Machine   M  L( M ) {w :      q0 w  x1 q f x2 }        Initial state        Final state
Standard Turing MachineThe machine we described is the standard:      • Deterministic      • Infinite tape in both directi...
Design a Turing machine to recognize all strings in which 010 is present as a substring.          0,0,R          0,0,R    ...
DFA for the previous language                          0         0            1            0    q0           q1           ...
Turing machine for odd no of 1’s       1, 1 , R                             1, b , R                  1, b , R
Recursively Enumerable          and      Recursive     Languages
Definition:   A language is recursively enumerable   if some Turing machine accepts it
Let   L be a recursively enumerable languageand   M the Turing Machine that accepts itFor string    w:if    w L     then  ...
Definition:   A language is recursive   if some Turing machine accepts it   and halts on any input stringIn other words:  ...
Let   L be a recursive languageand   M the Turing Machine that accepts itFor string    w:if   w L      then   M halts in a...
We will prove:   1. There is a specific language      which is not recursively enumerable      (not accepted by any Turing...
Non Recursively Enumerable  Recursively Enumerable        Recursive
We will first prove: • If a language is recursive then   there is an enumeration procedure for it• A language is recursive...
The Chomsky Hierarchy
Unrestricted Grammars:                Productions                  u    vString of variables           String of variables...
Example unrestricted grammar:              S    aBc              aB     cA              Ac     d
Theorem: A language L is recursively enumerable if and only if L is generated by an unrestricted grammar
Context-Sensitive Grammars:                  Productions                    u    vString of variables             String o...
The language        n n n               {a b c }is context-sensitive:            S        abc | aAbc               Ab     ...
The language        n n n               {a b c }is context-sensitive:            S        abc | aAbc               Ab     ...
Theorem:A language   L is context sensistive              if and only ifL   is accepted by a Linear-Bounded automaton
Observation:There is a language which is context-sensitivebut not recursive
The Chomsky HierarchyNon-recursively enumerable Recursively-enumerable       Recursive   Context-sensitive     Context-fre...
Upcoming SlideShare
Loading in …5
×

Turing machines

19,274 views

Published on

Published in: Technology

Turing machines

  1. 1. Turing Machines
  2. 2. Invented by Alan Turing in 1936.A simple mathematical model of a general purpose computer.It is capable of performing any calculation which can be performed by any computing machine.
  3. 3. The Language Hierarchy n n n ?a b c ww ? Context-Free Languages n n R a b ww Regular Languages a* a *b *
  4. 4. Languages accepted by Turing Machines n n na b c ww Context-Free Languages n n R a b ww NDPA Regular Languages Finite a * a *b * Automata
  5. 5. A Turing MachineTape...... ...... Read-Write headControl Unit
  6. 6. The Tape No boundaries -- infinite length...... ...... Read-Write head The head moves Left or Right
  7. 7. ...... ...... Read-Write headThe head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
  8. 8. Example: Time 0 ...... a b a c ...... Time 1 ...... a b k c ......1. Reads a2. Writes k3. Moves Left
  9. 9. Time 1 ...... a b k c ...... Time 2 ...... a f k c ......1. Reads b2. Writes f3. Moves Right
  10. 10. The Input String Input string Blank symbol...... a b a c ...... headHead starts at the leftmost positionof the input string Are treated as left and right brackets for the input written on the tape.
  11. 11. States & TransitionsRead Write Move Left q1 a b, L q2 Move Right q1 a b, R q2
  12. 12. Example: Time 1 ...... a b a c ...... q1 current state q1 a b, R q2
  13. 13. Time 1...... a b a c ...... q1 Time 2...... a b b c ...... q2q1 a b, R q2
  14. 14. Example: Time 1 ...... a b a c ...... q1 Time 2 ...... a b b c ...... q2 q1 a b, L q2
  15. 15. Example: Time 1 ...... a b a c ...... q1 Time 2 ...... a b b c g ...... q2 q1 g, R q2
  16. 16. Determinism Turing Machines are deterministic Allowed Not Allowed a b, R q2 a b, R q2q1 q1 q3 a d, L q3 b d, L No lambda transitions allowed
  17. 17. Partial Transition FunctionExample: ...... a b a c ...... q1 a b, R q2 Allowed: q1 No transition for input symbol c b d, L q3
  18. 18. HaltingThe machine halts if there areno possible transitions to follow
  19. 19. Example: ...... a b a c ...... q1 a b, R q2 No possible transition q1 HALT!!! b d, L q3
  20. 20. Final States q1 q2 Allowed q1 q2 Not Allowed• Final states have no outgoing transitions• In a final state the machine halts
  21. 21. Acceptance If machine haltsAccept Input in a final state If machine halts in a non-final stateReject Input or If machine enters an infinite loop
  22. 22. Turing Machine ExampleA Turing machine that accepts the language: aa * a a, R ,L q0 q1
  23. 23. Time 0 a a a q0 a a, R ,L q0 q1
  24. 24. Time 1 a a a q0 a a, R ,L q0 q1
  25. 25. Time 2 a a a q0 a a, R ,L q0 q1
  26. 26. Time 3 a a a q0 a a, R ,L q0 q1
  27. 27. Time 4 a a a q1 a a, R Halt & Accept ,L q0 q1
  28. 28. Rejection ExampleTime 0 a b a q0 a a, R ,L q0 q1
  29. 29. Time 1 a b a q0 No possible Transition a a, R Halt & Reject ,L q0 q1
  30. 30. Infinite Loop Example b b, L a a, R ,L q0 q1
  31. 31. Time 0 a b a q0 b b, L a a, R ,L q0 q1
  32. 32. Time 1 a b a q0 b b, L a a, R ,L q0 q1
  33. 33. Time 2 a b a q0 b b, L a a, R ,L q0 q1
  34. 34. Time 2 a b a q0Time 3 a b a q0Time 4 a b a q0Time 5 a b a q0 ... Infinite Loop
  35. 35. Because of the infinite loop: •The final state cannot be reached •The machine never halts •The input is not accepted
  36. 36. Another Turing Machine Example n n Turing machine for the language {a b } q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  37. 37. Time 0 a a b b q0 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  38. 38. Time 1 x a b b q1 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  39. 39. Time 2 x a b b q1 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  40. 40. Time 3 x a y b q2 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  41. 41. Time 4 x a y b q2 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  42. 42. Time 5 x a y b q0 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  43. 43. Time 6 x x y b q1 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  44. 44. Time 7 x x y b q1 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  45. 45. Time 8 x x y y q2 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  46. 46. Time 9 x x y y q2 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  47. 47. Time 10 x x y y q0 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  48. 48. Time 11 x x y y q3 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  49. 49. Time 12 x x y y q3 q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  50. 50. Time 13 x x y y q4 Halt & Accept q4 y y, R y y, Ly y, R a a, R a a, L ,L y y, R a x, R b y, L q3 q0 q1 q2 x x, R
  51. 51. Observation: If we modify the machine for the language n n {a b } we can easily construct n n n a machine for the language {a b c }
  52. 52. Formal Definitions for Turing Machines
  53. 53. Transition Functionq1 c d, L q2(q1, c) (q2 , d , L)
  54. 54. Turing Machine: Input Tape alphabet alphabet States M (Q, , , , q0 , , F ) A partial Final Transition states function Initial Blank : a special symbol state Of
  55. 55. Configuration c a b a q1Instantaneous description: ca q1 ba
  56. 56. Time 4 Time 5 x a y b x a y b q2 q0A Move: q2 xayb  x q0 ayb
  57. 57. Time 4 Time 5 x a y b x a y b q2 q0 Time 6 Time 7 x x y b x x y b q1 q1q2 xayb  x q0 ayb  xx q1 yb  xxy q1 b
  58. 58. q2 xayb  x q0 ayb  xx q1 yb  xxy q1 bEquivalent notation: q2 xayb  xxy q1 b
  59. 59. Initial configuration: q0 w Input string w a a b b q0
  60. 60. The Accepted LanguageFor any Turing Machine M L( M ) {w : q0 w  x1 q f x2 } Initial state Final state
  61. 61. Standard Turing MachineThe machine we described is the standard: • Deterministic • Infinite tape in both directions •Tape is the input/output file
  62. 62. Design a Turing machine to recognize all strings in which 010 is present as a substring. 0,0,R 0,0,R 1,1,R 0,0,R q0 q1 q2 H 1,1,R 1,1, R
  63. 63. DFA for the previous language 0 0 1 0 q0 q1 q2 11 0,1
  64. 64. Turing machine for odd no of 1’s 1, 1 , R 1, b , R 1, b , R
  65. 65. Recursively Enumerable and Recursive Languages
  66. 66. Definition: A language is recursively enumerable if some Turing machine accepts it
  67. 67. Let L be a recursively enumerable languageand M the Turing Machine that accepts itFor string w:if w L then M halts in a final state if w L then M halts in a non-final state or loops forever
  68. 68. Definition: A language is recursive if some Turing machine accepts it and halts on any input stringIn other words: A language is recursive if there is a membership algorithm for it
  69. 69. Let L be a recursive languageand M the Turing Machine that accepts itFor string w:if w L then M halts in a final stateif w L then M halts in a non-final state
  70. 70. We will prove: 1. There is a specific language which is not recursively enumerable (not accepted by any Turing Machine) 2. There is a specific language which is recursively enumerable but not recursive
  71. 71. Non Recursively Enumerable Recursively Enumerable Recursive
  72. 72. We will first prove: • If a language is recursive then there is an enumeration procedure for it• A language is recursively enumerable if and only if there is an enumeration procedure for it
  73. 73. The Chomsky Hierarchy
  74. 74. Unrestricted Grammars: Productions u vString of variables String of variablesand terminals and terminals
  75. 75. Example unrestricted grammar: S aBc aB cA Ac d
  76. 76. Theorem: A language L is recursively enumerable if and only if L is generated by an unrestricted grammar
  77. 77. Context-Sensitive Grammars: Productions u vString of variables String of variablesand terminals and terminals and: |u| |v|
  78. 78. The language n n n {a b c }is context-sensitive: S abc | aAbc Ab bA Ac Bbcc bB Bb aB aa | aaA
  79. 79. The language n n n {a b c }is context-sensitive: S abc | aAbc Ab bA Ac Bbcc bB Bb aB aa | aaA
  80. 80. Theorem:A language L is context sensistive if and only ifL is accepted by a Linear-Bounded automaton
  81. 81. Observation:There is a language which is context-sensitivebut not recursive
  82. 82. The Chomsky HierarchyNon-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free Regular

×