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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Transducers with Programmable Input by DNA Self-assembly 227<br />

are depicted. Note that the only input accepted by these functions is the correct<br />

representation <strong>of</strong> x or x. The zero transducer has three states, q0 is initial<br />

and q2 is terminal. The transducer for the function s(x) contains a transition<br />

that adds a symbol 0 to the input if the last 0 is changed into 1. This transition<br />

utilizes the “end <strong>of</strong> input” symbol α. Thestateq0is the initial and q3<br />

and ! are terminal states for this transducer. The increase <strong>of</strong> space needed as<br />

a result <strong>of</strong> computation is provided with the end tile (denoted !) for q3. This<br />

tile is <strong>of</strong> the form ! =!α =[q3,βb,α,βr] which corresponds to the transition<br />

(q3,λ) ↦→ (α, !). (In DNA implementation, this corresponds to a tile whose bot-<br />

tom side has no sticky ends.) The i-th projection function U n i<br />

accepts as inputs<br />

strings 0 ···01 x1+1 0 s1 1 x2+1 0 ···01 xn+1 0 ···0, i.e, unary representations <strong>of</strong> x and<br />

it has 2n + 1 states. Transitions starting from every state change 1’s into 0’s<br />

except at the state qi where the i-th entry <strong>of</strong> 1’s is copied.<br />

0 0<br />

0 0<br />

0 0<br />

10<br />

s0 s1 s2 s3 1 0<br />

1 0<br />

1 0<br />

0 0<br />

0 0<br />

initial terminal<br />

z(x)<br />

initial<br />

1 1<br />

1 1<br />

S(x)<br />

0 1<br />

00<br />

1 0<br />

s0 s1 s1’ s2 initial<br />

1 0 0 0 1 0<br />

α 0<br />

0 0 1 1<br />

n<br />

U (x , x , ..., x n )<br />

i 1 2<br />

λ 0<br />

terminal terminal<br />

1 1<br />

!<br />

s i s i ’ s n<br />

0 0 1 0<br />

1 0<br />

1 0<br />

0 0<br />

sn’ 0 0<br />

terminal<br />

Fig. 5. The three initial functions <strong>of</strong> the primitive recursive functions<br />

3.2 Composition<br />

Let h be the composition h(x) =f(g1(x),...,gk(x)) where x =(x1,...,xn).<br />

Since the input <strong>of</strong> h is x and there are k functions that need to be simultaneously<br />

computed on that input, we use a new alphabet ¯ Σ = {(a1,...,ak) | ai ∈ Σ} as an<br />

aid. By the inductive hypothesis, there are sets <strong>of</strong> prototiles P (gi) thatperform<br />

computations for gi with input x for each i =1,...,k. Also there is a set <strong>of</strong><br />

prototiles P (f) that simulates the computation for f. The composition function<br />

h is obtained with the following steps. Each step is explained below.<br />

1. Check for correct input.<br />

2. Translate the input symbol a into k-tuples (a,a,...,a)fora ∈ Σ.

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

Saved successfully!

Ooh no, something went wrong!