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.

H. ElGindy, R. Nicolescu, H. Wu<br />

6 Runtime Performance<br />

C<strong>on</strong>sider a digraph with n cells and m arcs, where d is the outdegree of the source<br />

cell and f is the maximum number of edge-disjoint paths in a given scenario. In<br />

our Algorithms B, C, C ∗ and D, the source cell starts d search rounds. In each<br />

round, using a Cid<strong>on</strong>-type DFS, visited cells notify their neighbours, so the search<br />

does not revisit cells which were visited in the same round and thus completes<br />

in at most n steps. As earlier menti<strong>on</strong>ed, all other housekeeping operati<strong>on</strong>s are<br />

performed in parallel with the main search, thus Algorithms B, C, C ∗ and D all<br />

run in O(nd) steps. In fact, because they discard all cells visited in failed rounds<br />

(which do not find augmenting paths), Algorithms B and D run in O(nf) steps.<br />

We c<strong>on</strong>jecture that a similar upperbound can also be found for Algorithms C<br />

and C ∗ .<br />

Propositi<strong>on</strong> 2. Algorithms C and C ∗ run in O(nd) steps; Algorithms B and D<br />

run in O(nf) steps.<br />

Table 2 compares the asymptotic complexity of our new Algorithms C, C ∗<br />

and D against our previous Algorithm B and the two other previous DFS-based<br />

algorithms used in this paper.<br />

Table 2. Asymptotic worst-case complexity of several distributed DFS-based algorithms.<br />

Algorithm<br />

Runtime Complexity<br />

Algorithm A (Ford-Fulkers<strong>on</strong>/DFS [6]) O(mf) steps<br />

Algorithm A ∗ (Dinneen et al. [3])<br />

O(mf) steps<br />

Algorithm B (our previous improvement [12]) O(nf) steps<br />

Algorithm C (here) O(nd) steps (?)<br />

Algorithm C ∗ (here) O(nd) steps (?)<br />

Algorithm D (here)<br />

O(nf) steps<br />

However, this theoretical estimati<strong>on</strong> does not fully account for the detecti<strong>on</strong><br />

and discarding of “dead” (permanently visited) cells. Therefore, using their executable<br />

P specificati<strong>on</strong>s, we experimentally compare Algorithms A, B, C, C ∗ and<br />

D, <strong>on</strong> thirty digraphs with 100 cells and 300 arcs, generated using NetworkX [8].<br />

Algorithm C ∗ is a restricted versi<strong>on</strong> of Algorithm C, which, using our novel<br />

idea, <strong>on</strong>ly discards “dead” cells detected during successful rounds, intenti<strong>on</strong>ally<br />

refraining from discarding any “dead” cells detected during failed rounds. This<br />

way, Algorithm C ∗ is the opposite of our previous Algorithm B, which, using a<br />

different idea, <strong>on</strong>ly discards “dead” cells detected during failed rounds.<br />

Table 3 details our experimental results and observed speed-up gains. Figure<br />

3 summarizes the speed-up gains of Algorithms B, C, C ∗ and D over A for<br />

our thirty test cases.<br />

The results show that, <strong>on</strong> average: (1) Algorithm B is 41.0% faster than Algorithm<br />

A; (2) Algorithm C is 41.8% faster than Algorithm A; (3) Algorithm C ∗<br />

192

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

Saved successfully!

Ooh no, something went wrong!