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 221<br />

potentially the whole finite-state nano-machine can be reusable. The paper is<br />

organized as follows. Section 2 describes the relationship between Wang tiles<br />

and transducers. It describes the basic prototiles that can be used to simulate<br />

a transducer. The composition <strong>of</strong> transducers obtained through Wang tiles is<br />

described in Section 3. Here we also show how primitive recursive functions can<br />

be obtained through composition <strong>of</strong> transducers. The general recursion (computable<br />

functions) simulated with Wang tiles is presented in Section 4. DNA<br />

implementation <strong>of</strong> transducers with TX molecules is described in Section 5 and<br />

the use <strong>of</strong> the PX-JX2 devices for setting up the input sequence is described in<br />

Section 5.2. We end with few concluding remarks.<br />

2 Finite State Machines with Output: Basic Model<br />

In this section we show the general idea <strong>of</strong> performing a computation by a<br />

finite state machine using tiles. The actual assembly by DNA will be described<br />

in Section 5. We briefly recall the definition <strong>of</strong> a transducer. This notion is well<br />

known in automata theory and an introduction to transducers (Mealy machines)<br />

can be found in [9].<br />

A finite state machine with output or atransduceris T =(Σ,Σ ′ ,Q,δ,s0,F)<br />

where Σ and Σ ′ are finite alphabets, Q is a finite set <strong>of</strong> states, δ is the transition<br />

function, s0 ∈ Q is the initial state, and F ⊆ Q is the set <strong>of</strong> final or terminal<br />

states. The alphabet Σ is the input alphabet and the alphabet Σ ′ is the output<br />

alphabet. We denote with Σ∗ the set <strong>of</strong> all words over the alphabet Σ. This<br />

includes the word with “no symbols”, the empty word denoted with λ. Fora<br />

word w = a1 ···ak where ai ∈ Σ, the length <strong>of</strong> w denoted with |w| is k. Forthe<br />

empty word λ, wehave|λ| =0.<br />

The transition operation δ is a subset <strong>of</strong> Q × Σ × Σ ′ × Q. The elements <strong>of</strong> δ<br />

are denoted with (q, a, a ′ ,q ′ )or(q, a) δ<br />

↦→ (a ′ ,q ′ ) meaning that when T is in state<br />

q and scans input symbol a, thenTchanges into state q ′ and gives output symbol<br />

a ′ .Inthecase<strong>of</strong>deterministic transducers, δ is a function δ : Q × Σ → Σ ′ × Q,<br />

i.e., at a given state reading a given input symbol, there is a unique output state<br />

and an output symbol. Usually the states <strong>of</strong> the transducer are presented as<br />

vertices <strong>of</strong> a graph and the transitions defined with δ are presented as directed<br />

edges with input/output symbols as labels. If there is no edge from a vertex<br />

q in the graph that has input label a, we assume that there is an additional<br />

“junk” state ¯q where all such transitions end. This state is usually omitted from<br />

the graph since it is not essential for the computation. The transducer is said<br />

to recognize a string (or a word) w over alphabet Σ if there is a path in the<br />

graph from the initial state s0 to a terminal state in F with input label w. The<br />

set <strong>of</strong> words recognized by a transducer T is denoted with L(T) and is called a<br />

language recognized by T. It is well known that finite state transducers recognize<br />

the class <strong>of</strong> regular languages.<br />

We concentrate on deterministic transducers. In this case the transition function<br />

δ maps the input word w ∈ Σ∗ to a word w ′ ∈ (Σ ′ ) ∗ . So the transducer T<br />

can be considered to be a function from L(T) to(Σ ′ ) ∗ , i.e., T : L(T) → (Σ ′ ) ∗ .

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

Saved successfully!

Ooh no, something went wrong!