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

accepts this token, becoming the new fr<strong>on</strong>tier. The visited notificati<strong>on</strong> housekeeping<br />

is performed in parallel with the main search. A fr<strong>on</strong>tier cell, which does<br />

not have any (more) unvisited arc, sends back a backtrack token to its search<br />

path predecessor, to return the fr<strong>on</strong>tier.<br />

There are two cases of backtrack: (1) because Algorithm C avoids revisiting<br />

the already visited cells, if σ i has any temporarily visited child, σ k , we c<strong>on</strong>sider<br />

this is a backtrack from σ k (as in the classical DFS); (2) σ i receives a backtrack<br />

token from σ k . In both cases, σ i computes its reach-number as the minimum of<br />

its depth (line 4.7) and its st-successors’ reach-numbers (lines 4.13–15, 4.18–19).<br />

If σ i decreases its reach-number, it records and sends its new reach-number to<br />

all its neighbours, which is performed in parallel with the main search. Furthermore,<br />

if σ k ’s reach-number is greater than σ i ’s depth, then σ i sends a discarding<br />

notificati<strong>on</strong> to σ k (line 4.20).<br />

On receiving a discarding notificati<strong>on</strong>, cell σ i sets itself as permanently visited<br />

and sets its reach-number as infinite (lines 5.4, 5.6). Also, it sends a permanently<br />

visited notificati<strong>on</strong> and an update to all its temporarily visited parents (lines 5.7–<br />

5.12), σ j ’s. On receiving an update from σ i , cell σ j computes its reach-number<br />

(lines 6.4–11). If σ j increases its reach-number, it records and sends an update<br />

to all its temporarily visited parents (line 6.12). If σ i ’s reach-number is greater<br />

than σ j ’s depth, then σ j sends a discarding notificati<strong>on</strong> to σ i (line 6.14).<br />

Once cell σ i is discarded, it also notifies all its st-successors to discard themselves<br />

(lines 5.13–15). This pruning propagati<strong>on</strong> is performed in parallel with the<br />

main search. However, this propagati<strong>on</strong> travels al<strong>on</strong>g search path traces, which<br />

is not the shortest possible path. If the pruning propagati<strong>on</strong> does not finish when<br />

the round ends, we let the delayed pruning propagati<strong>on</strong> discard cells in the next<br />

round.<br />

We now c<strong>on</strong>sider two race c<strong>on</strong>diti<strong>on</strong>s: (1) a cell can be visited before it is<br />

discarded by the current pruning propagati<strong>on</strong>, which has not arrived yet; (2)<br />

a cell can be visited before it is discarded by the delayed pruning propagati<strong>on</strong>,<br />

which has not arrived yet. To solve these problems, we use the same strategy.<br />

Once discarded, the cell immediately backtracks (line 4.5) and sends an update<br />

to all its temporarily visited parents (lines 5.7–12).<br />

If the search path reaches the target cell, σ t (line 4.4), then round #r succeeds:<br />

an augmenting path, α r , is found and σ t sends a path c<strong>on</strong>firmati<strong>on</strong> back<br />

to σ s . A successful round #r increments the set of edge-disjoint paths: while<br />

moving towards σ s , the c<strong>on</strong>firmati<strong>on</strong> reshapes the existing edge-disjoint paths<br />

and the newly found augmenting path, α r , building a larger set of edge-disjoint<br />

paths, and a new residual digraph. Thus, lines 3.17–19 of Pseudocode 3 are actually<br />

d<strong>on</strong>e within Pseudocode 4, during the return from a successful search.<br />

After receiving the path c<strong>on</strong>firmati<strong>on</strong>, σ s initiates a global reset, which changes<br />

all temporarily visited cells and arcs to unvisited (line 3.20). This end-of-round<br />

reset runs two steps ahead and in parallel with the next round, without affecting<br />

it.<br />

If the search path cannot reach σ t , the source, σ s , receives a backtrack token<br />

from σ sr and the round fails (line 3.12). Then σ s sends a discarding notificati<strong>on</strong><br />

181

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

Saved successfully!

Ooh no, something went wrong!