1 / 12

Liberalizing the definition of a TM

Liberalizing the definition of a TM. To show that results on TMs apply to real-world computers, it's simplest to show that TMs can be defined more and more liberally without changing the set of accepted languages

Download Presentation

Liberalizing the definition of a TM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Liberalizing the definition of a TM • To show that results on TMs apply to real-world computers, it's simplest to show that TMs can be defined more and more liberally • without changing the set of accepted languages • The approach is to simulate more liberally defined TMs by less liberally defined TMs • We go briefly over some sorts of liberalizations below

  2. The “stay” option • Suppose TM moves weren’t required to move to the left or right on the tape • in this model d: Q x G → Q x G x {L, R, S} • A move d(q,a) = (p,b,S) would be simulated by moves d(q,a) = (p’,b,R) and d(p’,b) = (p,b,L) • there would be a new state p’ for each p in Q

  3. Multitrack TMs • In a multitrack TM, the tape is divided “lengthwise” into several tracks, each of which may be updated independently • but there’s still only one read/write head • Multitrack TMs with track alphabets G1, G2, … Gn may be simulated by an ordinary TM with a tape alphabet G1 x G2 x …x Gn

  4. Multitape TMs • Multitape TMs differ from multitrack TMs • their read-write heads can move independently • An n-tape TM can be simulated by a 2n-track TM, where each tape corresponds to a pair of tracks • one to hold its contents, and • another having only one nonblank symbol, to show the position of the simulated read-write head • cf. Figure 10.7, p. 258 of Linz

  5. Applications of multitape TMs • To keep an immutable copy of the input string • To allow checking off of symbols. • for acceptance of a language like {wcw | w ε {a,b}+ } • To allow additional memory components • e.g., a stack to allow a TM to simulate a PDA • e.g., a state to allow one TM to simulate another

  6. Subroutines and TMs • Subroutines would correspond to sets of states with limited interaction with the rest of the program. • Subroutines that are called from more than one place would simply be replicated.

  7. Nondeterministic TMs • Allowing nondeterminism in TMs does not allow the acceptance of any new languages • since a nondeterministic TM M may be simulated by an ordinary deterministic TM Md. • Md would systematically explore all possible computations of M. • by a breadth-first search, or (cf. Linz, Sec. 10.3) keeping track of all legal current IDs • This may require exponentially more moves than M would use.

  8. TMs and CFLs • We can now see that a TM may simulate a PDA • since TMs can simulate nondeterminism • and multitape machines where one tape simulates the PDA's stack. • Thus every CFL is r.e. • In fact, every CFL is recursive • since the CYK algorithm may be implemented as a TM

  9. Defining a universal TM • Recall that a universal TM needs to • take (an encoding of) another TM M • as well as the input x for M • and accept or not depending on whether M accepts x • We can’t allow x to come from all possible alphabets • So we assume that M’s alphabet is {0,1} • we’ll also use 0 and 1 alone to encode M

  10. Encoding moves for the universal TM • To encode a TM, we may number the states, tape symbols, and directions as follows • q1 is the start state; q2 is the (unique!) final state • a1 is the blank; a2 is 0; a3 is 1 • d1 is L; d2 is R • Then the move d(qm,an) = (qi,aj,dk) is encoded as 1m01n01i01j01k

  11. Encoding TMs for the universal TM • An encoding for a TM consists of a sequence of codes for its moves, separated by 00’s • it’s ok that this encoding is not unique • The encoding of an input <M,w> to the universal TM Mu looks like g000w • where g is the encoding for M • Mu may now simulate M on w and • halt and accept, halt and reject, or compute forever, depending on what M does

  12. Counting TMs • Every TM has a finite encoding as a bit string starting with 1 • If this encoding for M represents the integer i in binary, then we may say that M = Mi • So there are only countably many TMs • since they may be put into 1-1 correspondence with the nonnegative integers • This conclusion holds even though • some bit strings don’t represent TMs, and • TMs may have multiple encodings

More Related