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.

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

3. For i =1,...,k apply ¯ P (gi). The start prototiles are adjusted as follows: If<br />

the current transducer Ti is to be followed by transducer Tj, then the start<br />

tile for Ti is [βl, Ti, Tj,s0] wheres0 is the initial state for Ti.<br />

4. For all i =1,...,k− 1inthei-th coordinate <strong>of</strong> the input mark the end <strong>of</strong><br />

the last 1.<br />

5. For all i =2,...,k shift all 1’s in the i-th coordinate to the right <strong>of</strong> all 1’s in<br />

the i − 1 coordinate. This ensures a proper input for the tiles that compute<br />

f. Afterthis,thek-tuples contain at most one 1.<br />

6. Translate back k-tuples into 1 if they contain a symbol 1, otherwise into 0.<br />

7. Apply the tiles that perform the computation for function f.<br />

Step 1 and 2 The input tiles are the same as described in Section 2. The translation<br />

<strong>of</strong> the input from a symbol to a k-tuple is obtained with the transducer Tk<br />

depicted in Figure 6. Note that this transducer is also checking the correctness<br />

<strong>of</strong> the input.<br />

0 (0,...0)<br />

1 (1,...1)<br />

0 (0,...0)<br />

1 (1,...1)<br />

s0 s1 s1’ s2 initial<br />

1 (1,...1) 0 (0,...0) 1 (1,...1) 0 (0,...0)<br />

T k<br />

1 (1,...1)<br />

1 (1,...1)<br />

s n<br />

0 (0,...0)<br />

s n<br />

’<br />

terminal<br />

0 (0,...0)<br />

Fig. 6. The transducer Tk that translates symbols into k-tuples<br />

Step 3 Each computational prototile for gi <strong>of</strong> the form [q, a, a ′ ,q ′ ] is substituted<br />

with a set <strong>of</strong> prototiles [q, (a1,...,ai−1,a,...,ak), (a1,...,ai−1,a ′ ,...,ak),q ′ ]<br />

where ai is any symbol in the alphabet Σgi used by transducers for gi. The<br />

end tile !α =[qi,βb,α,βr] that increases the computational space is substituted<br />

with ! (α,...,α) =[qi,βb, (α,...,α),βr]. We call this set <strong>of</strong> prototiles ¯ P (gi). The<br />

idea is to use the tiles ¯ P (gi) to compute the function gi on coordinate i and leave<br />

the rest <strong>of</strong> the coordinates unchanged.<br />

Step 4 After the application <strong>of</strong> the tiles ¯ P (g1) to ¯ P (gk), the k-tuples have the<br />

property that for each i the sequence <strong>of</strong> symbols that appears in the i-th coordinate<br />

represents a number mi = g(x) <strong>of</strong>theformwi =0···01 mi 0 ···0α si<br />

for some si ≥ 1. The end <strong>of</strong> input is obtained with the symbol (α,...,α). In<br />

order to prepare an input for the function f, all1’sinthei-th coordinate have<br />

to appear to the right <strong>of</strong> the first 0 after the 1’s in the i − 1 coordinate for all<br />

i =2,...,k. Hence, first we mark the end <strong>of</strong> 1’s in each coordinate with an<br />

additional symbol γ. The transducer Mi substitutes γ instead <strong>of</strong> the first 0 after<br />

the sequence <strong>of</strong> 1’s in the i-th coordinate. It has the following transitions (all

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

Saved successfully!

Ooh no, something went wrong!