Turing Machines

Turing Machines

Basics Computability Complexity Turing Machines Bruce Merry University of Cape Town 10 May 2012 Bruce Merry Turing Machines Basics Computability Complexity Outline 1 Basics Definition Building programs Turing Completeness 2 Computability Universal Machines Languages The Halting Problem 3 Complexity Non-determinism Complexity classes Satisfiability Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Outline 1 Basics Definition Building programs Turing Completeness 2 Computability Universal Machines Languages The Halting Problem 3 Complexity Non-determinism Complexity classes Satisfiability Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Invented by Alan Turing Hypothetical machines Formalise “computation” Alan Turing, 1912–1954 Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape A set of transitions Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape A set of transitions Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () A finite set of states, including a start state Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A head which points at one position on the tape A set of transitions Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A set of transitions Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape A set of transitions Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape A set of transitions If in state si and tape contains qj , write qk then move left/right and change to state sm Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Turing machine operation 1 Find a matching rule for the current state and tape symbol 2 If none found, halt 3 Otherwise, apply the rule and repeat Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules A : N B A : ! B N A B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N A : N B A : ! B N B B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N A : N B A : ! B N A B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N A : N B A : ! B N B B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N A : N B A : ! B N A B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N N A : N B A : ! B N B B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N A : N B A : ! B N A B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N N A : N B A : ! B N B B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Example Two symbols, and N Two states, A and B Four rules N N A : N B A : ! B N A B : N ! A B N: A Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Graph notation N : ! : N A B : N ! N : Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Variations Move or write Explicit halt state Only one infinite direction Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Outline 1 Basics Definition Building programs Turing Completeness 2 Computability Universal Machines Languages The Halting Problem 3 Complexity Non-determinism Complexity classes Satisfiability Bruce Merry Turing Machines q1=q2=q3 : qk ! Match any of q1; q2; q3 :qj : qk ! Match any except qj ∗ :! Move right on any symbol qj : qk Write but do not move qj Change state only Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write Bruce Merry Turing Machines :qj : qk ! Match any except qj ∗ :! Move right on any symbol qj : qk Write but do not move qj Change state only Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write q1=q2=q3 : qk ! Match any of q1; q2; q3 Bruce Merry Turing Machines ∗ :! Move right on any symbol qj : qk Write but do not move qj Change state only Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write q1=q2=q3 : qk ! Match any of q1; q2; q3 :qj : qk ! Match any except qj Bruce Merry Turing Machines qj : qk Write but do not move qj Change state only Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write q1=q2=q3 : qk ! Match any of q1; q2; q3 :qj : qk ! Match any except qj ∗ :! Move right on any symbol Bruce Merry Turing Machines qj Change state only Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write q1=q2=q3 : qk ! Match any of q1; q2; q3 :qj : qk ! Match any except qj ∗ :! Move right on any symbol qj : qk Write but do not move Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Shorthand qj : Move but do not write q1=q2=q3 : qk ! Match any of q1; q2; q3 :qj : qk ! Match any except qj ∗ :! Move right on any symbol qj : qk Write but do not move qj Change state only Bruce Merry Turing Machines Write a blank: W() ∗ : A B Find first Nto the left and blank it: ∗ FL(N) W() Basics Definition Computability Building programs Complexity Turing Completeness Composing Machines Find first N to the left: FL(N) :N : A N B Bruce Merry Turing Machines Find first Nto the left and blank it: ∗ FL(N) W() Basics Definition Computability Building programs Complexity Turing Completeness Composing Machines Find first N to the left: FL(N) :N : A N B Write a blank: W() ∗ : A B Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Composing Machines Find first N to the left: FL(N) :N : A N B Write a blank: W() ∗ : A B Find first Nto the left and blank it: ∗ FL(N) W() Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Transforming Machines Simpler TMs can be used to simulate more general forms Requires a procedure for “compiling” the more complex machine Proves that the simpler machine is just

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    103 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us