Title: Homework
 1Key to Homework 3 (Models of Computation, 
Spring, 2001)
1. (a) We know how to formally define a Turing 
machine with one-dimensional (1-D) tape and a 
finite state control with one two-way read/write 
head. How will you extend this definition and 
define a 2-D Turing machine with one two 
dimensional tape and a finite state control with 
one read/write head that can move up, down, to 
the left, to the right, or stay? (See Figure (a) 
below.) Write a complete formal definition of 
such computational model with a tuple (i.e., set 
of information) as we did for the Turing 
machines. 2. (b) Design a 2-D Turing machine 
which draws a figure of eight with 8s on the 
blank tape as show in Figure (b) below. The 
machine should be in an accepting state when it 
has completed the drawing. What is the minimum 
number of states needed for this machine? Why? 
Your answer for this question will be evaluated 
according to the soundness of your argument.
Answer (See next slide.)
(over) 
 21. (a) Answer The 2-D TM can be formally defined 
as 6-tuple M  ( Q, ? , ? , ? , q0 , F ), where 
Q is the finite set of states, ? is the set of 
tape symbols (alphabet) including the blank 
symbol, usually denoted by B (a square box in the 
text), ? is the set of input symbols, which is a 
subset of ?, q0 is the start state, F is the set 
of accepting states (F ? Q ), and ? is the 
transition function which maps Q ? ? ? Q ? ? ? 
L, N, R, U, D, where L, N, R are as defined in 
1-D TM, and U and D are for moving up and down 
from the current position.
1.(b) Answer Figure (a) below shows a 
straightforward design with 14 states, each state 
drawn at the relative location where the machine 
writes 8. Figure (b) is an improved version with 
10 states. Notice that to reduce the number of 
states this machine uses the symbol written on 
the tape in the past moves. (For minimality, see 
next slide.) 
 3Surprisingly, after Sam put the key answers on 
the web, TA Yining reported that one of our 
students made 8-states automaton! I thought what 
should his idea be, and got the following. This 
implies that my proof in previous slide is 
incorrect. 
Figure (a) 2-D TM with 8 states
 Notice that with the above idea, by increasing 
the number of different symbols to some constant 
k that can be written at the start state, it is 
possible with the same automaton shown above to 
draw a sequence of k square block of 8s as 
illustrated below.
8 8 8 8 8 block 1 8 
8 8 8 8 2 8 8 
 8 8 8 3 8 8 
 8 . . . 
 k 8 8 8 
 4 The question concerning the minimality of the 
number of states is challenging. The argument is 
based on the minimum number of states required to 
write a symbol on a blank cell located at the 
distance (going along vertical and/or horizontal 
direction) of k blank cells from the current 
position. For the formal argument we need the 
following definition. Definition For a given 
position p on a 2-D tape, we say a blank cell c 
is in an open column (or row) with respect to p, 
if c is located in the same column (or row) of p, 
and in the extension of the column (or row) from 
p to c there are only blank cells. Figure (a) 
below shows an example of cell c which is in an 
open row with respect to position p, where we 
assume that no symbol is written to the right of 
cell c. Claim For any 2-D TM which is located 
in a position p, it takes at least k states to 
write (in a finite number of steps) a symbol on a 
blank cell c that is in an open column (or row) 
with respect to p separated by k cells. Proof. 
Suppose that the machine takes less than k. Then 
as Figure (b) below illustrates, the machine 
should move to the right entering a previous 
state (say state i). Notice that in j1st cell, 
the machine will write ai, and move to the right, 
and on the next blank cell, write ai1, and so 
non. These transitions form a cycle and the 
machine will keep moving to the right. Now, 
using the above claim, we can prove the 
minimality (10 states) of the 2-D TM shown in 
Figure (b) in the preceding slide. Notice that 
the machine writes top row first, and comes down 
along the center column (writing at the center). 
Then the machine writes the bottom row. This way 
we can minimize the number of cells to be written 
that are in an open column or row with respect to 
possible machine positions. Notice that once the 
four corners have been written, the machine can 
move to those corners along the vertical column 
until it hits a flag (see the star marked 8s). 
This can be done by a self-looping transition as 
shown in the state transition graph (see the 
highlighted loop). 
 5- 2. For each of the following languages Li 
construct a DPDA (deterministic pushdown 
automaton) which accepts Li. For your  - answer it it enough to show the state transition 
graph of the automaton. (Make sure if your 
machine does not have a bug by  - running it with several short input strings.) 
 -  (a) L1  aibj  i gt j gt 0  
 (b) L2  aibj  i ? j gt 0  (c) 
 L3  aibj  i ? j ? 0   -  (d) L4  aibj  i gt j gt 0  
 (e) L5  aibj  i ? j gt 0  (f) 
 L6  aibj  i ? j ? 0   -  (g) L7   aibkci  i, k gt 0  
(h) L8   aibkci  i, k ? 0   -  
 
Answers
( a, a/aa )
(b, a/? )
(a, Z0/aZ0 )
(b, a/? )
( , a/a )
( , a/? ), ( , Z0/Z0 )
(  , Z0/Z0 )
start
(c) L3  aibj  i ? j ? 0  
 6  7(No Transcript) 
 8- 3. For each of the following grammars, construct 
a DPDA which accepts the language generated by 
the grammar, where S is the  - only nonterminal, and others are all terminal 
symbols. For your answer it it enough to show the 
state transition graph of the  - automaton. 
 -  (a) G1 S ? aSbb  abb 
 (b) G2 S ? aSbb  ? 
 (c ) G3 S ? aSbb  ccc  
  9- 4. For each of the following languages, construct 
a DFA (deterministic finite automaton) which 
accepts the language. For your  - answer it it enough to show the state transition 
graph of the automaton.  -  (a) L9  x  x ? a, m, t, o, u and x 
has automata as a substring.   -  (b) L10  x  x ? a, b, c , and the 
leftmost and the rightmost symbols in x are same. 
a
Answer (a)
a
m, t, o, u
u
2
t
1
to state 1
a
m, o, u
start
a
m, t, o
m, t, u
o
a, m, t, o, u
t, o, u
to state 1
a
m, t, o, u
m, o, 
m, t, o, u
m
a
a
t
u
a
to state 1
to state 2 
 10Answer (b)