Turing Machines Variants - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Turing Machines Variants

Description:

1. Turing Machines Variants. Zeph Grunschlag. 2. Announcement ... Idea is to 'smell-out' where the infinite part of the tree is and go in that direction: ... – PowerPoint PPT presentation

Number of Views:236
Avg rating:3.0/5.0
Slides: 55
Provided by: valued68
Category:

less

Transcript and Presenter's Notes

Title: Turing Machines Variants


1
Turing Machines Variants
  • Zeph Grunschlag

2
Announcement
  • Midterms not graded yet
  • Will get them back Tuesday

3
Agenda
  • Turing Machine Variants
  • Non-deterministic TMs
  • Multi-Tape

4
Input-Output Turing Machines
  • Input/output (or IO or transducing) Turing
    Machines, differ from TM recognizers in that they
    have a neutral halt state qhalt instead of the
    accept and reject halt states. The TM is then
    viewed as a string-function which takes initial
    tape contents u to whatever the non blank portion
    of the tape is when reaching qhalt . If v is the
    tape content upon halting, the notation fM (u)
    v is used.
  • If M crashes during the computation, or enters
    into an infinite loop, M is said to be undefined
    on u.

5
Input-Output Turing Machines
  • When fM crashes or goes into an infinite loop
    for some contents, fM is a partial function
  • If M always halts properly for any possible
    input, its function f is total (i.e. always
    defined).

6
TM Notations
  • There are three ways that Sipser uses to describe
    TM algorithms.
  • High level pseudocode which explains how
    algorithm works without the technical snafoos of
    TM notation
  • Implementation level describe how the TM
    operates on its tape. No need to mention states
    explicitly.
  • Low-level description. One of
  • Set of complete goto style instructions
  • State diagram
  • Formal description spell out the 7-tuple

7
High-Level TMExample
  • Let's for example describe a Turing Machine M
    which multiplies numbers by 2 in unary
  • M "On input w 1n
  • For each character c in w
  • copy c onto the next available b blank space"

8
Implementation-Level TMExample
  • The idea is to carry out the high level
    description by copying each character to the end.
    We also need to keep track of which characters
    have already been copied (or were copies
    themselves) by distinguishing these characters.
    One way is to use a different character, say X.
  • EG Lets see how 11111 is transformed.

9
Implementation-Level TMExample
  • So round by round, tape transformed as follows
  • 11111
  • X1111X
  • XX111XX
  • XXX11XXX
  • XXXX1XXXX
  • XXXXXXXXXX
  • 1111111111

10
Implementation-Level TMExample
  • Implementation level describes what algorithm
    actually looks like on the Turing machine in a
    way that can be easily turned into a
    state-diagram
  • Some useful subroutines
  • fast forward
  • move to the right while the given condition holds
  • rewind
  • move to the left while the given condition holds
  • May need to add extra functionality
  • Add if need to tell when end of tape is

11
Implementation-Level TMExample
  • M "On input w 1n
  • HALT if no input
  • Write in left-most position
  • Sweep right and write X in first blank
  • Sweep left through X-streak and 1-streak
  • Go right
  • If read X, go right and goto 9. Else,
    replace 1 by X, move right.
  • If read X finished original w goto 8
    Else, goto 3
  • Sweep to the right until reach blank, replace by
    X
  • Sweep left replacing everything non-blank by 1
  • HALT

12
Implementation-Level TMExample
  • At the low level the Turing Machine is
    completely described, usually using a state
    diagram

9
?R
1?L
X?L
1?,R
?X,L
1?L
0
2
3
4
X?R
1X?R
1?R
1?X,R
X?1,L
5
6
?R
X?1,L
X?R
?1,L
?1,L
X?R
8
9
halt
13
Non-Deterministic TMs
  • A non-Deterministic Turing Machine N allows more
    than one possible action per given state-tape
    symbol pair.
  • A string w is accepted by N if after being put on
    the tape and letting N run, N eventually enters
    qacc on some computation branch. 
  • If, on the other hand, given any branch, N
    eventually enters qrej or crashes or enters an
    infinite loop on, w is not accepted.
  • Symbolically as before
  • L(N) x ? S ? accepting config. y, q0 x ?
    y
  • (No change needed as ? need not be function)

14
Non-Deterministic TMsRecognizers vs. Deciders
  • N is always called a non-deterministic recognizer
    and is said to recognize L(N) furthermore, if in
    addition for all inputs and all computation
    branches, N always halts, then N is called a
    non-deterministic decider and is said to decide
    L(N).

15
Non-Deterministic TMExample
  • Consider the non-deterministic method
  • void nonDeterministicCrossOut(char c)
  • while()
  • if (read blank) go left
  • else
  • if (read c)
  • cross out, go right, return
  • OR go right // even when reading c
  • OR go left // even when reading c

16
Non-Deterministic TMExample
  • Using randomCross() put together a
    non-deterministic program
  • 1. while(some character not crossed out)
  • nonDeterministicCrossOut(0)
  • nonDeterministicCrossOut(1)
  • nonDeterministicCrossOut(2)
  • 2. ACCEPT
  • Q What language does this non-deterministic
    program recognize ?

17
Non-Deterministic TMExample
  • A x ? 0,1,2 x has the same no.
  • of 0s as 1s as 2s
  • Q Suppose q is the state of the TM while running
    inside nonDeterministicCrossOut(1) and q is
    the state of the TM inside nonDeterministicCrossOu
    t(2).
  • Suppose that current configuration is
  • u 0XX1Xq12X2
  • For which v do we have u ? v ?

18
Non-Deterministic TMExample
  • A 0XX1Xq12X2 ?
  • 0XX1qX12X2 0XX1X1q2X2 0XX1XXq 2X2
  • These define 3 branches of computation tree
  • Q Is this a non-deterministic TM decider?

0XX1Xq12X2
0XX1XXq 2X2
0XX1X1q2X2
0XX1qX12X2
19
Non-Deterministic TMExample
  • A No. This is a TM recognizer, but not a
    decider. nonDeterministicCrossOut() often enters
    an infinite branch of computation since can
    see-saw from right to left to right, etc. ad
    infinitum without ever crossing out anything.
    I.e., computation tree is infinite!
  • Note If you draw out state-diagrams, you will
    see that the NTM is more compact, than TM version
    so there are some advantages to non-determinism!
    Later, will encounter examples of efficient
    nondeterministic programs for practically
    important problems, with no known efficient
    counterpart The P vs. NP Problem.

20
NTMsKonigs Infinity Lemma
  • For Problem 3.3 in Sipser the following fact is
    important
  • If a NTM is a decider then given any input, there
    is a number h such that all computation branches
    involve at most h basic steps. I.e., computation
    tree has height h. Follows from
  • Konigs Infinity Lemma An infinite tree with
    finite branching at each node must contain an
    infinitely long path from the root.
  • Or really, the contrapositive is used A tree
    with no infinite paths, and with finite branching
    must itself be finite.

21
Konigs Infinity LemmaProof Idea
  • Idea is to smell-out where the infinite part of
    the tree is and go in that direction

?
?
22
Konigs Infinity LemmaProof Idea
  • Idea is to smell-out where the infinite part of
    the tree is and go in that direction

?
?
?
23
Konigs Infinity LemmaProof Idea
  • Idea is to smell-out where the infinite part of
    the tree is and go in that direction

?
?
?
?
24
Konigs Infinity LemmaProof Idea
  • Idea is to smell-out where the infinite part of
    the tree is and go in that direction

?
?
?
?
?
25
Konigs Infinity LemmaProof Idea
  • Idea is to smell-out where the infinite part of
    the tree is and go in that direction

?
?
?
?
?
?
26
Konigs Infinity LemmaProof
  • Proof. Given an infinite tree with finite
    branching construct an infinite path inductively
  • Vertex v0 Take the root.
  • Edge vn ? vn1 Suppose v0?v1vn-1?vn has been
    constructed and that the subtree from vn is
    infinite. Then one of vns finite no. of
    children, call it vn1, must have an infinite
    subtree, so add the edge vn ? vn1.

27
Multi-tape TMs
  • Often its useful to have several tapes when
    carrying out a computations. For example,
    consider a two tape I/O TM for adding numbers (we
    show only how it acts on a typical input)

28
Multi Tape TMAddition Example
Input string
29
Multi Tape TMAddition Example
30
Multi Tape TMAddition Example
31
Multi Tape TMAddition Example
32
Multi Tape TMAddition Example
33
Multi Tape TMAddition Example
34
Multi Tape TMAddition Example
35
Multi Tape TMAddition Example
36
Multi Tape TMAddition Example
37
Multi Tape TMAddition Example
38
Multi Tape TMAddition Example
39
Multi Tape TMAddition Example
40
Multi Tape TMAddition Example
41
Multi Tape TMAddition Example
42
Multi Tape TMAddition Example
43
Multi Tape TMAddition Example
44
Multi Tape TMAddition Example
45
Multi Tape TMAddition Example
46
Multi Tape TMAddition Example
47
Multi Tape TMAddition Example
48
Multi Tape TMAddition Example
49
Multi Tape TMAddition Example
50
Multi Tape TMAddition Example
51
Multi Tape TMAddition Example
52
Multi Tape TMAddition Example
HALT!
Output string
53
Multitape TMsFormal Notation
  • NOTE Sipsers multitape machines cannot pause
    on one of the tapes as above example. This isnt
    a problem since pausing 1-tape machines can
    simulate pausing k-tape machines, and non-pausing
    1-tape machines can simulate 1-tape pausing
    machines by adding dummy R-L moves for each
    pause.
  • Formally, the d-function of a k-tape machine

54
Multitape TMsConventions
  • Input always put on the first tape
  • If I/O machine, output also on first tape
  • Can consider machines as string-vector
    generators. E.g., a 4 tape machine could be
    considered as outputting in (S)4
Write a Comment
User Comments (0)
About PowerShow.com