Professional Documents
Culture Documents
Lecture T2: Turing Machines: Such Machines Are Not Much More Complicated Than Fsas
Lecture T2: Turing Machines: Such Machines Are Not Much More Complicated Than Fsas
Lecture T2: Turing Machines Attempt to understand essential nature of computation by studying
properties of simple machine models.
Surprising Fact 1.
! Such machines are not much more complicated than FSAs.
Surprising Fact 2.
! Some problems of interest cannot be solved by ANY
computer.
3 4
Nondeterministic Finite State Automata Nondeterministic Finite State Automata
Nondeterministic FSA (NFSA). Nondeterministic FSA (NFSA).
■ Simple machine with N states. 1 ■ Simple machine with N states. 1
■ Start in state 0. 0 ■ Start in state 0. 0
0 3 0 3
■ Read a bit. ■ Read a bit.
Depending on current state and 0 Depending on current state and 0
■
0 0 1 ■
0 0 1
input bit input bit
– move to any of several 0 – move to any of several 0
1 2 1 2
new states 0 1 1 new states 0 1 1
■ Stop when last bit read. ■ Stop when last bit read.
■ Accept if ANY choice of new ■ Accept if ANY choice of new
states ends in state X, reject states ends in state X, reject
otherwise. If in state 2, and next bit is 1: otherwise. If in state 2, and next bit is 0:
can move to state 1 can’t move to any state
can move to state 2
can move to state 3
5 6
7 8
A Systematic Method for NFSA FSA - NFSA Equivalence
Harder to determine whether an NFSA accepts a string than an FSA. Theorem: FSA and NFSA are "equally powerful".
■ For FSA, only one possible path to follow. ■ Given any NFSA, can construct FSA that accepts same inputs.
■ For NFSA, need to consider many paths.
Notation: X ⊆ Y.
Systematic method for NFSA. ■ Y is at least as powerful as X.
■ Keep track of ALL possible states that the NFSA could be in for a ■ Machine class Y can be "programmed" to accept all the languages
given input. that X can (and maybe more).
■ Accept if one of possible ending states is accept state.
Proof (Part 1): FSA ⊆ NFSA.
Power of nondeterminism is very useful, but is it essential? ■ A FSA is a special type of NFSA.
9 10
11 12
Pushdown Automata Pushdown Automata
read head
How can we make FSA’s more powerful? PDA for deciding whether input is of form 0N1N .
■ Nondeterminism didn't help. ■ N 0’s followed by N 1’s for some N.
■ Instead, add "memory" to the FSA. ■ ε, 01, 0011, 000111, 00001111, ...
■ A pushdown stack ■ Use notation x/y/z
(amount of memory is arbitrarily large). ■ If input is x and top of stack is y, then do z.
13 14
■ Still can’t recognize language of all palindromes. – move tape right or left
– amanaplanacanalpanama – move to new state
– 11*181=1991=181*11 ■ Stop if enter yes or no state.
new accept /
– murderforajarofredrum ■ Accept if yes, reject if no or does not terminate. reject mechanism
15 16
Some Examples C Program to Simulate Turing Machine
Build Turing machines that accepts following languages: Three character alphabet (0 is ’blank’).
■ Even length palindromes of 0’s and 1’s. Input: description of machine (9 integers per state s).
#0110#, #110011#, #10111000011101# ■ next[i][s] = t : if currently in state s and input character read
in is i, then transition to state t.
■ Power of two 1’s. ■ out[i][s] = w : if currently in state s and input character read in
#1#, #11#, #1111#, #11111111# is i, then write w to current tape position.
■ move[i][s] = ±1 : if currently in state s and input character is i,
Notation. then move head one position to left or right.
■ x/y/z: if TM head contains character x, then change it ■ tape[i] is ith character on tape initially.
to y, and move head in direction z.
■ # special character. Details missing:
■ Might run off end of tape.
17 19
Linear bounded automata Unknown ■ TM: add memory in the form of an arbitrarily large array.
– general purpose computers (Lecture T4)
Turing machine No
– can’t recognize: stay tuned
22 23
Lecture T2: Extra Slides Theorem: FSA, NFSA, and RE are "equally powerful".
■ NFSA ⊆ FSA
0 1
0
1
25
FSA, NFSA, and RE Are Equivalent FSA, NFSA, and RE Are Equivalent
Theorem: FSA, NFSA, and RE are "equally powerful". Example.
■ NFSA ⊆ FSA ⊆ RE ■ RE: 01(00 | 101)*
a 1 0 1
A B
a AB 01
101
ε
A
A
ε B
A* A|B
26 27
FSA, NFSA, and RE Are Equivalent FSA, NFSA, and RE Are Equivalent
Example. Example. ε - transition: jump states without
■ RE: 01(00 | 101)* ■ RE: 01(00 | 101)* reading a character to next state
ε
0 0 0 0
0 1 0 1
1 1
1 0 1 0
01 01
00 | 101
ε
(00 | 101)*
28 29
FSA, NFSA, and RE Are Equivalent FSA, NFSA, and RE Are Equivalent
Example. Theorem: FSA, NFSA, and RE are "equally powerful".
■ RE: 01(00 | 101)* ■ NFSA ⊆ FSA ⊆ RE ⊆ NFSA
ε
Equivalence of languages and machine models is essential in the
theory of computation.
0 0
0 1
1
1 0
01(00 + 101)*
30 31
NPDA to recognize all (even length) palindromes. NPDA to recognize all (even length) palindromes.
■ Bit string is the same forwards and backwards. ■ Bit string is the same forwards and backwards.
0/0/push
0/1/push Nondeterministic PDA more powerful than deterministic PDA.
0/ε/push ■ PDA ⊆ NPDA trivially.
0/0/push 1/0/push
■ PDA cannot recognize language of all (even length) palindromes,
0/1/push 1/1/push
1/ε/push but NPDA can.
1/ε/push 0/0/pop
1/0/push 0 1 Therefore PDA ⊂ NPDA .
1/1/push 1/1/pop ■
1/ε/push
32 33
Pushdown Automata Linear Bounded Automata
How can we make FSA more powerful? Turing machine.
■ NPDA = FSA + stack + nondeterminism. ■ No limit on length of tape.
34 35