08.01.2013 Views

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

230 Nataˇsa Jonoska, Shiping Liao, and Nadrian C. Seeman<br />

Since the shifting is performed one at a time, σi potentially has to be repeated<br />

many times. This is obtained by setting the “end <strong>of</strong> input” <strong>of</strong> the form<br />

(σi,...,σi,...,σi) which indicates that the next shift is the function σi. The<br />

terminal states D and s3 make distinction between whether the shift σi has to<br />

be repeated (state s3) or the shifting <strong>of</strong> the i’th coordinates is completed (state<br />

D). When i = k the end tile at state D changes such that (σk,...,σk) is substituted<br />

with TR which is the transducer that translates symbols from k-tuples<br />

back into symbols from Σ.<br />

Step 6 The transition from k-tuples <strong>of</strong> symbols to a single symbol is done with<br />

the following simple transitions and only one state (note that after shifting, each<br />

n-tuple contains at most one 1):<br />

�<br />

0 if y contains no 1’s<br />

(q0, y) ↦→<br />

1 if y contains a 1<br />

The start tile for TR is [βl,TR,f,q0] indicating that the next computation has<br />

to be performed with tiles for function f andtheendtileforTR is [q0,TR,α,βr]<br />

fixing the input for f in the standard form. After the application <strong>of</strong> TR, the<br />

input reads the unary representation <strong>of</strong> (g1(x),...,gk(x)).<br />

Step 7 The composition is completed using tiles for f. These tiles exist by the<br />

inductive hypothesis.<br />

3.3 Recursion<br />

In order to perform the recursion, we observe that the composition and translation<br />

into n-tuples is sufficient. Denote with x the n-tuple (x1,...,xn). Then<br />

we have h(x, 0) = f(x) for some primitive recursive function f. By induction we<br />

assume that there is a set <strong>of</strong> tiles that performs the computation for the function<br />

f. Forh(x,t+1)=g(h(x,t), x,t), also by the inductive hypothesis we assume<br />

that there is a set <strong>of</strong> tiles that performs the computation <strong>of</strong> g(y, x,t).<br />

Set up the input. We use the following input 01 t+1 ν¯x010 where ¯x denotes<br />

the unary representation <strong>of</strong> the n-tuple x. Wedenotethiswith(t +1| x, 0).<br />

The symbol ν is used to separate the computational input from the counter <strong>of</strong><br />

the recursion. Since this input is not standard, we show that we can get to this<br />

input from a standard input for h which is given with an ordered (n + 1)-tuple<br />

(x,y). First we add a 0 unary represented with string 010 at the end <strong>of</strong> the<br />

input to obtain (x,y,0). This is obtained with the transducer T n+1<br />

add(0) depicted<br />

in Figure 7. Note that for k = 1 the translation function Tk (Figure 6) is in<br />

fact the identity function, hence, there is a set <strong>of</strong> prototiles that represents the<br />

function Id(x,y,0). Consider the composition Id(U n+1<br />

n+2 ,U1 n+2,...,U n n+2,U n+2<br />

n+2 ).<br />

This composition transforms (x,y,0) into (y, x, 0). We obtain the desired entry<br />

for the recursion by marking the end <strong>of</strong> the first coordinate input (used as a<br />

counter for the recursion) with symbol ν. This is obtained by adding the following<br />

transitions to Id(x, 0): (i0, 0) ↦→ (0,i0), (i0, 1) ↦→ (1,i1), (i1, 1) ↦→ (1,i1) and

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!