09.09.2014 Views

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Fast distributed DFS soluti<strong>on</strong>s for edge-disjoint paths in digraphs<br />

For cell σ i in c<strong>on</strong>figurati<strong>on</strong> (S i , w i ), a rule S x → α S ′ x ′ (y)β γ . . . | z ¬ z ′ ∈ R<br />

is applicable if S = S i , xz ⊆ w i , z ′ ∩ w i = ∅ and either (a) no other rule<br />

was previously applied, in the same step, or (b) all rules previously applied,<br />

in the same step, have indicated the same target state, S ′ . When applied, this<br />

rule c<strong>on</strong>sumes multiset x and fixes, if not already fixed, the target state to<br />

S ′ . Multiset x ′ , also known as the “here” multiset, remains in the same cell;<br />

in our matrix inspired formalism, x ′ becomes immediately available to other<br />

rules subsequently applied in the same step. Multiset y is a message queued and<br />

sent, at the end of the current step, as indicated by the transfer operator β γ .<br />

β’s arrow indicates the transfer directi<strong>on</strong>: ↑—to parents; ↓—to children; ↕—in<br />

both directi<strong>on</strong>s. γ indicates the distributi<strong>on</strong> form: ∀—a broadcast; a structural<br />

neighbour, σ j ∈ V —a unicast (to this neighbour). Multiset z is a promoter and<br />

z ′ is an inhibitor, which enables and disables the rule, respectively, without being<br />

c<strong>on</strong>sumed [14]. Operator α describes the rewriting mode. In the minimal mode,<br />

an applicable rule is applied <strong>on</strong>ce. In the maximal mode, an applicable rule is<br />

applied as many times as possible.<br />

Matrix structured rulesets: We use matrix structured rulesets, which<br />

are inspired by matrix grammars with appearance checking [7]. Ruleset R is<br />

organized as a matrix, i.e. a list of vectors: R = (R 1 , . . . R m ), 1 ≤ m, where<br />

vectors are listed from high-to-low priorities; all rules in a vector share the same<br />

starting state. Each vector R i is a sequence of rules, R i = (R i,1 , . . . , R i,mi ),<br />

1 ≤ m i , where rules are listed from high-to-low priorities. The matrix semantics<br />

combines a str<strong>on</strong>g priority for vectors and a versi<strong>on</strong> of weak priority for rules<br />

inside a vector.<br />

A vector is applicable if at least <strong>on</strong>e of its rules is applicable. In a given vector,<br />

R i , rules are c<strong>on</strong>sidered for applicati<strong>on</strong> according to their (weak-like) priority<br />

order: (a) if applicable, a higher priority rule is applied before c<strong>on</strong>sidering the<br />

next lower priority rule; (b) otherwise (if not applicable), a higher priority rule<br />

is silently ignored and the next priority rule is c<strong>on</strong>sidered.<br />

C<strong>on</strong>sider a rule of the general form S x → α S ′ x ′ (y)β γ . . . | z ¬ z ′ . After<br />

this rule is applied, multiset x ′ becomes immediately available for the next rule<br />

(in the same vector), while messages, y . . . , are queued until the end of the step<br />

(until all rules in the vector are c<strong>on</strong>sidered). This is the difference between this<br />

semantics and the classical weak priority rule, where generated multisets, such<br />

as x ′ , do not become available until the end of the step, thus cannot be used by<br />

the next priority rule.<br />

Vectors are c<strong>on</strong>sidered for applicati<strong>on</strong> in their (str<strong>on</strong>g) priority order: (a) if<br />

applicable, a higher priority vector is applied and all lower priority vectors are<br />

ignored (for the current step); (b) otherwise (if not applicable), a higher priority<br />

vector is silently ignored and the next priority vector is c<strong>on</strong>sidered. A step ends<br />

(1) after the applicati<strong>on</strong> of the highest priority applicable vector, if any (this is<br />

an active step) or (2) when no vector is applicable (this is an idle step).<br />

As a special case, the cell stops when it enters a state with no associated<br />

vectors, also known as a final state. Under this c<strong>on</strong>venti<strong>on</strong>, a P system algorithm<br />

183

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

Saved successfully!

Ooh no, something went wrong!