13.12.2012 Views

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

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.

3.5 Membrane Models 65<br />

while the set contains ≥ two elements do begin<br />

select two elements, compare them <strong>and</strong> remove the smaller<br />

end<br />

In order to represent such programs, Banâtre <strong>and</strong> Le Métayer developed the<br />

GAMMA language: the General Abstract Model for Multiset Manipulation<br />

[20, 21]. In GAMMA, the above statement would be expressed thus:<br />

maxset(s) =Γ ((R, A))(s) where<br />

R(x, y) =x ≤ y<br />

A(x, y) ={y}<br />

The function R specifies the property to be satisfied by selected elements x<br />

<strong>and</strong> y; inthiscase,x should be less than or equal to y. These elements are then<br />

replaced by applying function A. There is no implied order of evaluation, if<br />

several disjoint pairs of elements satisfy R, they can be performed in parallel.<br />

Banâtre <strong>and</strong> Le Métayer recognized that GAMMA programs could almost<br />

be viewed as chemical reactions, with the set being the chemical solution, R<br />

(the reaction condition) a property to be satisfied by reacting elements, <strong>and</strong><br />

A (the action) the resulting product of the reaction. The computation ends<br />

when no reactions can occur, <strong>and</strong> a stable state is reached.<br />

Before we conclude our treatment of GAMMA, let us examine one more<br />

program, prime number generation, again taken from [21].<br />

The goal is to produce all prime numbers less than a given N, with<br />

N > 2. The GAMMA solution removed multiple elements from the multiset<br />

{2,...,N}. We assume the existence of a function multiple(x, y), which<br />

returns true if x is a multiple of y, <strong>and</strong>false otherwise. The resulting multiset<br />

contains all primes less than N:<br />

primes(N) =Γ ((R, A))({2 ...N}) where<br />

R(x, y) =multiple(x, y)<br />

A(x, y) ={y}<br />

One possible “trace” through the computation for N =10isdepictedin<br />

Fig. 3.7. The similarities between this approach <strong>and</strong> the parallel filtering model<br />

described earlier are apparent – in the latter model, no ordering is implied<br />

when the remove operation is performed.<br />

2<br />

10 8 5<br />

7<br />

3<br />

9 4 6<br />

3<br />

7<br />

9<br />

2<br />

4<br />

5<br />

6<br />

2<br />

3<br />

7<br />

5<br />

6<br />

Fig. 3.7. Trace of primes(10)<br />

2<br />

7<br />

3<br />

The GAMMA model was extended by Berry <strong>and</strong> Boudol with the development<br />

of the CHAM [30]. The CHAM formalism provides a syntax for molecules as<br />

5

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

Saved successfully!

Ooh no, something went wrong!