turing machine properties
play

Turing Machine properties There are many ways to skin a cat Turing - PDF document

Turing Machine properties There are many ways to skin a cat Turing Machines And many ways to define a TM The books Standard Turing Machines Tape unbounded on both sides Deterministic (at most 1 move / configuration) TM


  1. Turing Machine properties  There are many ways to skin a cat Turing Machines  And many ways to define a TM  The book’s “Standard Turing Machines”  Tape unbounded on both sides  Deterministic (at most 1 move / configuration) TM Variants and the Universal TM  Tape acts as both input and output  The books looks at a number of “alternate” (and equivalent) definitions. Alternate TM definitions Alternate TM definitions  Off-line TM  Turing Machines with a “STAY” Option  TM with 2 tapes  Allows the tape head to stay where it is  Read-only input tape  δ : Q x Γ → Q x Γ x {R, L, S }  Read-write tape  Basic TM defined in JFLAP  Input file + memory  TM with semi-infinite tape  Non-deterministic TM  Tape is bounded on the left  Machine has a choice of moves  Any attempt to go beyond this boundary will result in halt and reject.  δ : Q x Γ → 2 Q x Γ x {R, L}  More on this next week. Alternate TM definitions Alternate TM definitions  Multi-taped TMs  All of the alternate definitions are equivalent to the standard TM  Have multiple tapes  With a multiple tape heads that is read/  I.e Given an alternate TM that accepts L, writing a different position on each tape at one can construct a standard TM that any one given time. accepts the same language.  δ : Q x Γ n → Q x Γ n x {R, L} n  where n is #of tapes 1

  2. Turing Machine Variants Turing Machine Variants  Multitape TM  Move of a multitape TM  Will depend upon:  The state of the machine  The symbol being read on all of the tape heads  Result:  Each of the tape heads will write a new symbol on the tape  Each of the tape heads will move left, right, or stationery  Tape heads can move independently. Multitape TM Multitape TM  Example  {ww R | w is a string in {a,b} * }  Even length palandromes  2-tapes  Step 1: Copy contents of tape 1 to tape 2  Step 2: position head of tape 1 at beginning of tape and head of tape 2 at end  Step 3: Compare strings character by character Questions? Universal Turing Machine Universal Turing Machine  Universal Turing Machine  Encoding scheme  A TM M u that takes as input, an encoded version  We need a way to encode a TM so that it can be of another TM M and an input w to M’. provided as input to T u  M u will simulate the processing w on M’  Define sets:  If M halts on input w, M u will halt  Q = {q 1 , q 2 , … } = set of all possible states that may appear in any TM  If M rejects on input w,M u will reject.  S = {a 1 , a 2 , a 3 , …} = set of all possible tapes symbols that can be written on any TM.  M u is a general purpose TM  So for any TM  M is a program run on the general purpose TM  Q ⊆ Q and Γ ⊆ S 2

  3. Universal Turing Machine Universal Turing Machine  Assumptions  Encoding scheme  Associate states, symbols, and directions with  q 1 will always be the start state binary numbers:  There will only be 1 final state  States:  It will be q 2  s(q i ) → 1 i  Symbols  The machine always halts in q 2  s(a i ) → 1 i  Directions:  s(L) → 1  s(R) → 11 Universal Turing Machine Universal Turing Machine  Encoding scheme  Encoding  Encoding transitions:  Encoding for a TM  Encode each state, symbol, direction  Encode each of it’s moves  Separate by 0  Separate by 0’s  The transition δ (p,a) = (q, b, D) can be  e(T) = e(m 1 )0e(m 2 )0…0e(m k )0 encoded as:  s(p)0s(a)0s(q)0s(b)0s(D) Universal Turing Machine Universal Turing Machine  The input to M u will be  Encoding Scheme  an encoded TM and  Finally, the description of the TM and the encoding of the string to run on the TM will  a string w to run on that TM be separated by a blank  We encode x by individually encoding the  Input to M u characters of x (separated by 1’s)  e(M) e(x)  x = z 1 z 2 …z n  e(x) = s(z 1 )0s(z 2 )0…0s(z n )0 3

  4. Universal Turing Machine Universal Turing Machine  Encoding example  Encoding example  States  States  q 1 – state 1  q 1 – state 1  q 2 – state 2  q 2 – state 2  q 3 – state 3  q 4 – state 4  q 3 – state 3  Symbols  q 4 – state 4  B – symbol 1  Symbols  a – symbol 2 1 0 1 0 111 0 1 0 11  B – symbol 1  b – symbol 3  Directions  a – symbol 2  s(L) → 1  b – symbol 3  s(R) → 11 Universal Turing Machine Universal Turing Machine  Encoding scheme  The set of all TMs is countably infinite  The actual scheme isn’t really important (in  We can define a one-to-one and onto fact, there are many) function between the set of TMs and the set of natural numbers { 0, 1, 2, …}  What is important is that we can encode a TM and it’s input as a binary string.  Uncountably infinite sets are larger than countably infinite sets  This encoding defines a unique “serial number” to each TM Universal Turing Machine Universal Turing Machine  How it works  How it works  On a single move, ...  3 tape TM  The symbol on each tape is read  Tape 1 – Working tape ...  The symbol on each  Tape 2 – Input and output tape tape is written  Tape 3 – encoded form of the state that ... machine being simulated is in  The tape head for Read head(s) each tape is moved independently  Note that a 3 tape TM is equivalent to a State “basic” TM. Machine (program) 4

  5. Universal Turing Machine Universal Turing Machine  How it works  How it works  When we start e(T) e(x) is on tape 1  Step 3: Now simulation begins  Step 1: Move e(x) from tape 1 to tape 2  “read” and replace character on tape 2 and delete from tape 1  “read” state on tape 3  Tape 2: e(x)  “find” a transition in the encoded machine on  Step 2: Copy encoded initial state of T to tape 1. tape 3  Replace destination state onto tape 3  Tape 3: s(q 1 )  Replace character on tape 2.  Move head on tape 2 appropriately Universal Turing Machine Universal Turing Machine  Reality check: What have we done?  How will the machine finish?  Defined:  The TM being simulated has nowhere to go.  M u will never find a suitable transition  A means to encode a TM as a binary string  The TM being simulated goes into an infinite loop  Defines it’s “serial number”  Set of all TMs is infinitely countable  M u will continually simulate these moves  A Universal TM (M u ) that takes as input:  The TM being simulated halts  An encoded TM, M  M u will halt with halt state on it’s 3 rd tape  An encoded input string, w  M u will copy the contents of Tape 2 to Tape 1  That will simulate the running of w on M Questions?  Next time (Monday):  Languages and TMs  Godel, Escher, Bach!  Next class:  Exam 2 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend