csce 411 design and analysis of algorithms n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CSCE 411 Design and Analysis of Algorithms PowerPoint Presentation
Download Presentation
CSCE 411 Design and Analysis of Algorithms

Loading in 2 Seconds...

play fullscreen
1 / 44

CSCE 411 Design and Analysis of Algorithms - PowerPoint PPT Presentation


  • 142 Views
  • Uploaded on

CSCE 411 Design and Analysis of Algorithms. Set 13: Link Reversal Routing Prof. Jennifer Welch Spring 2012. Routing [Gafni & Bertsekas 1981]. Undirected connected graph represents communication topology of a distributed system computing nodes = graph vertices

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSCE 411 Design and Analysis of Algorithms' - primo


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
csce 411 design and analysis of algorithms

CSCE 411Design and Analysis of Algorithms

Set 13: Link Reversal Routing

Prof. Jennifer Welch

Spring 2012

CSCE 411, Spring 2012: Set 13

routing gafni bertsekas 1981
Routing [Gafni & Bertsekas 1981]
  • Undirected connected graph represents communication topology of a distributed system
    • computing nodes = graph vertices
    • message channels = graph edges
  • Unique destination node in the system
  • Assign virtual directions to the graph edges (links) s.t.
    • if nodes forward messages over the links, they reach the destination
  • Directed version of the graph must
    • be acyclic
    • have destination as only sink

Thus every node has a path to destination.

CSCE 411, Spring 2012: Set 13

routing example
Routing Example

D

3

1

2

4

5

6

4 wants to

send a msg

to D

CSCE 411, Spring 2012: Set 13

mending routes
Mending Routes
  • What happens if some edges go away?
    • Might need to change the virtual directions on some remaining edges (reverse some links)
  • More generally, starting with an arbitrary directed graph, each vertex should decide independently which of its incident links to reverse

CSCE 411, Spring 2012: Set 13

mending routes example
Mending Routes Example

D

3

1

2

4

5

6

CSCE 411, Spring 2012: Set 13

sinks
Sinks
  • A vertex with no outgoing links is a sink.
  • The property of being a sink can be detected locally.
  • A sink can then reverse some incident links
  • Basis of several algorithms…

sink

CSCE 411, Spring 2012: Set 13

full reversal routing algorithm
Full Reversal Routing Algorithm
  • Input: directed graph G with destination vertex D
  • Let S(G) be set of sinks in G other than D
  • while S(G) is nonempty do
    • reverse every link incident on a vertex in S(G)
    • G now refers to resulting directed graph

CSCE 411, Spring 2012: Set 13

full reversal fr routing example

D

D

D

3

1

2

2

1

3

3

2

1

4

5

4

6

5

6

5

4

6

D

D

D

3

2

1

3

2

1

1

2

3

4

5

6

4

5

6

4

5

6

Full Reversal (FR) Routing Example

CSCE 411, Spring 2012: Set 13

why does fr terminate
Why Does FR Terminate?
  • Suppose it does not.
  • Let W be vertices that take infinitely many steps.
  • Let X be vertices that take finitely many steps; includes D.
  • Consider neighboring vertices w in W, x in X.
  • Consider first step by w after last step by x: link is w g x and stays that way forever.
  • Then w cannot take any more steps, contradiction.

CSCE 411, Spring 2012: Set 13

why is fr correct
Why is FR Correct?
  • Assume input graph is acyclic.
  • Acyclicity is preserved at each iteration:
    • Any new cycle introduced must include a vertex that just took a step, but such a vertex is now a source (has no incoming links)
  • When FR terminates, no vertex, except possibly D, is a sink.
  • A DAG must have at least one sink:
    • if no sink, then a cycle can be constructed
  • Thus output graph is acyclic and D is the unique sink.

CSCE 411, Spring 2012: Set 13

pair algorithm
Pair Algorithm
  • Can implement FR by having each vertex v keep an ordered pair (c,v), the height (or vertex label) of vertex v
    • c is an integer counter that can be incremented
    • v is the id of vertex v
  • View link between v and u as being directed from vertex with larger height to vertex with smaller height (compare pairs lexicographically)
  • If v is a sink then v sets c to be 1 larger than maximum counter of all v’s neighbors

CSCE 411, Spring 2012: Set 13

pair algorithm example
Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

CSCE 411, Spring 2012: Set 13

pair algorithm example1
Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

(3,2)

CSCE 411, Spring 2012: Set 13

pair algorithm example2
Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

(3,2)

CSCE 411, Spring 2012: Set 13

partial reversal routing algorithm
Partial Reversal Routing Algorithm
  • Try to avoid repeated reversals of the same link.
  • Vertices keep track of which incident links have been reversed recently.
  • Link (u,v) is reversed by v iff the link has not been reversed by u since the last iteration in which v took a step.

CSCE 411, Spring 2012: Set 13

partial reversal pr routing example

D

D

D

3

1

2

2

1

3

3

2

1

4

5

4

6

5

6

5

4

6

D

D

D

3

2

1

3

2

1

1

2

3

4

5

6

4

5

6

4

5

6

Partial Reversal (PR) Routing Example

CSCE 411, Spring 2012: Set 13

why is pr correct
Why is PR Correct?
  • Termination can be proved similarly as for FR: difference is that it might take two steps by w after last step by x until link is w g x .
  • Preservation of acyclicity is more involved, deferred to later.

CSCE 411, Spring 2012: Set 13

triple algorithm
Triple Algorithm
  • Can implement PR by having each vertex v keep an ordered triple (a,b,v), the height (or vertex label) of vertex v
    • a and b are integer counters
    • v is the id of vertex v
  • View link between v and u as being directed from vertex with larger height to vertex with smaller height (compare triples lexicographically)
  • If v is a sink then v
    • sets a to be 1 greater than smallest a of all its neighbors
    • sets b to be 1 less than smallest b of all its neighbors with new value of a (if none, then leave b alone)

CSCE 411, Spring 2012: Set 13

triple algorithm example
Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

CSCE 411, Spring 2012: Set 13

triple algorithm example1
Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

(1,-1,2)

CSCE 411, Spring 2012: Set 13

triple algorithm example2
Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

(1,-1,2)

CSCE 411, Spring 2012: Set 13

general vertex label algorithm
General Vertex Label Algorithm
  • Generalization of Pair and Triple algorithms
  • Assign a label to each vertex s.t.
    • labels are from a totally ordered, countably infinite set
    • new label for a sink depends only on old labels for the sink and its neighbors
    • sequence of labels taken on by a vertex increases without bound
  • Can prove termination and acyclicity preservation, and thus correctness.

CSCE 411, Spring 2012: Set 13

binary link labels routing charron bost et al spaa 2009
Binary Link Labels Routing [Charron-Bost et al. SPAA 2009]
  • Alternate way to implement and generalize FR and PR
  • Instead of unbounded vertex labels, apply binary link labels to input DAG
    • link directions are independent of labels (in contrast to algorithms using vertex labels)
  • Algorithm for a sink:
    • if at least one incident link is labeled 0, then reverse all incident links labeled 0 and flip labels on all incident links
    • if no incident link is labeled 0, then reverse all incident links but change no labels

CSCE 411, Spring 2012: Set 13

binary link labels example
Binary Link Labels Example

0

1

0

3

1

2

1

0

CSCE 411, Spring 2012: Set 13

binary link labels example1
Binary Link Labels Example

0

1

0

3

1

2

1

0

CSCE 411, Spring 2012: Set 13

binary link labels example2
Binary Link Labels Example

0

1

0

3

1

2

0

1

CSCE 411, Spring 2012: Set 13

why is bll correct
Why is BLL Correct?
  • Termination can be proved very similarly to termination for PR.
  • What about acyclicity preservation? Depends on initial labeling:

3

3

1

1

0

0

1

0

2

2

1

1

0

0

0

0

CSCE 411, Spring 2012: Set 13

conditions on initial labeling
Conditions on Initial Labeling
  • All labels are the same
    • all 1’s => Full Reversal
    • all 0’s => Partial Reversal
  • Every vertex has all incoming links labeled the same (“uniform” labeling)
  • Both of the above are special cases of a more general condition that is necessary and sufficient for preserving acyclicity

CSCE 411, Spring 2012: Set 13

what about complexity
What About Complexity?
  • Busch et al. (2003,2005) initiated study of the performance of link reversal routing
  • Work complexity of a vertex: number of steps taken by the vertex
  • Global work complexity: sum of work complexity of all vertices
  • Time complexity: number of iterations, assuming all sinks take a step in each iteration (“greedy” execution)

CSCE 411, Spring 2012: Set 13

worst case work complexity bounds busch et al
Worst-Case Work Complexity Bounds [Busch et al.]
  • bad vertex: has no (directed) path to destination
  • Pair algorithm (Full Reversal):
    • for every input, global work complexity is O(n2), where n is number of initial bad vertices
    • for every n, there exists an input with n bad vertices with global work complexity Ω(n2)
  • Triple algorithm (Partial Reversal): same as Pair algorithm

CSCE 411, Spring 2012: Set 13

exact work complexity bounds
Exact Work Complexity Bounds
  • A more fine-grained question: Given any input graph and any vertex in that graph, exactly how many steps does that vertex take?
  • Busch et al. answered this question for FR.
  • Charron-Bost et al. answered this question for BLL (as long as labeling satisfies Acyclicity Condition): includes FR and PR.

CSCE 411, Spring 2012: Set 13

definitions charron bost et al spaa 2009
Definitions [Charron-Bost et al. SPAA 2009]
  • Let X = <v1, v2, …, vk> be a chain in the labeled input DAG (series of vertices s.t. either (vi,vi+1) or (vi+1,vi) is a link).
  • r: number of links that are labeled 1 and rightway ((vi,vi+1) is a link)
  • s: number of occurrences of vertices s.t. the two adjacent links are incoming and labeled 0
  • Res: 1 if last link in X is labeled 0 and rightway,

else 0

CSCE 411, Spring 2012: Set 13

example of definitions
Example of Definitions

For chain <D,7,6,5>: r = 1, s = 0, Res = 1

For chain <D,1,2,3,4,5>: r = 2, s = 1, Res = 0

1

0

1

1

2

3

8

0

0

D

4

1

1

1

0

7

6

5

CSCE 411, Spring 2012: Set 13

bll work complexity
BLL Work Complexity
  • Theorem: Consider any vertex v.

Let ωmin be the minimum, over all chains from D to v, of 2(r+s)+Res.

Number of steps taken by v is

    • (ωmin+1)/2 if initially v is a sink with all incoming links labeled 0
    • ωmin/2 if initially v has all incoming links (if any) labeled 1
    • ωmin otherwise

CSCE 411, Spring 2012: Set 13

work complexity for fr
Work Complexity for FR
  • Corollary: For FR (all 1’s labeling), work complexity of vertex v is minimum, over all chains from D to v, of r, number of links in the chain that are rightway (directed away from D).
  • Worst-case graph for global work complexity:

D  1  2  …  n

    • vertex i has work complexity i
    • global work complexity then is Θ(n2)

CSCE 411, Spring 2012: Set 13

work complexity for pr
Work Complexity for PR
  • Corollary: for PR (all 0’s labeling), work complexity of vertex v is
    • min, over all D-to-v chains, of s + Res if v is a sink or a source
    • min, over all D-to-v chains, of 2s + Res if v is neither a sink nor a source
  • Worst-case graph for global work complexity:

D  1  2  3  …  n

    • work complexity of vertex i is Θ(i)
    • global work complexity is Θ(n2)

CSCE 411, Spring 2012: Set 13

comparing fr and pr
Comparing FR and PR
  • Looking at worst-case global work complexity shows no difference – both are quadratic in number of vertices
  • Can use game theory to show some meaningful differences (Charron-Bost et al. ALGOSENSORS 2009):
    • global work complexity of FR can be larger than optimal (w.r.t. all uniform labelings) by a factor of Θ(n)
    • global work complexity of PR is never more than twice the optimal
  • Another advantage of PR over FR:
    • In PR, if k links are removed, each vertex takes at most 2k steps
    • In FR, if 1 link is removed, a vertex might have to take n-1 steps

CSCE 411, Spring 2012: Set 13

time complexity
Time Complexity
  • Time complexity is number of iterations in greedy execution
  • Busch et al. observed that time complexity cannot exceed global work complexity
    • Thus O(n2) iterations for both FR and PR
  • Busch et al. also showed graphs on which FR and PR require Ω(n2) iterations
  • Charron-Bost et al. (2011) derived an exact formula for the last iteration in which any vertex takes a step in any graph for BLL…

CSCE 411, Spring 2012: Set 13

fr time complexity
FR Time Complexity
  • Theorem: For every (bad) vertex v, termination time of v is

1 + max{len(X): X is chain ending at v with r = σv – 1}

where σv is the work complexity of v

  • Worst-case graph for global time complexity:

n

n-1

D

1

2

n/2

n/2+3

vertex n/2 has work complexity n/2;

consider chain that goes around the loop

counter-clockwise n/2-1 times starting and

ending at n/2: has r = n/2-1 and length Θ(n2)

n/2+1

n/2+2

CSCE 411, Spring 2012: Set 13

bll time complexity
BLL Time Complexity
  • What about other link labelings?
  • Transform to FR!
  • In more detail: for every labeled input graph G (satisfying the Acyclicity Condition), construct another graph T(G) s.t.
    • for every execution of BLL on G, there is a “corresponding” execution of FR on T(G)
    • time complexities of relevant vertices in the corresponding executions are the same

CSCE 411, Spring 2012: Set 13

idea of transformation
Idea of Transformation
  • If a vertex v is initially a sink with some links labeled 0 and some labeled 1, or is not a sink with an incoming link labeled 0, then its incident links are partitioned into two sets:
    • all links on one set reverse at odd-numbered steps by v
    • all links in the other set reverse at even-numbered steps by v
  • Transformation replaces each such vertexwith two vertices, one corresponding to odd steps by v and the other to even steps, and inserts appropriate links

CSCE 411, Spring 2012: Set 13

pr time complexity
PR Time Complexity
  • Theorem: For every (bad) vertex v, termination time of v is
    • 1 + max{len(X): X is a chain ending at v with s + Res = σv – 1} if v is a sink or a source initially
    • 1 + max{len(X): X is a chain ending at v with 2s + Res = σv – 1} otherwise
  • Worst-case graph for global time complexity:

D  1  2  3  …  n/2  n/2+1  …  n

Vertex n/2 has work complexity n/2. Consider chain that starts at n/2, ends at n/2, and goes back and forth between n/2 and n making (n-2)/4 round trips. 2s+Res for this chain is n/2-1, and length is Θ(n2).

CSCE 411, Spring 2012: Set 13

fr vs pr again
FR vs. PR Again
  • On chain on previous slide, PR has quadratic time complexity.
  • But FR on that chain has linear time complexity
    • in fact, FR has linear time complexity on any tree
  • On chain on previous slide, PR has slightly better global work complexity than FR.

CSCE 411, Spring 2012: Set 13

references
References
  • Busch, Surapaneni and Tirthapura, “Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks,” SPAA 2003.
  • Busch and Tirthapura, “Analysis of Link Reversal Routing Algorithms,” SIAM JOC 2005.
  • Charron-Bost, Fuegger, Welch and Widder, “Full Reversal Routing as a Linear Dynamical System,” SIROCCO 2011.
  • Charron-Bost, Fuegger, Welch and Widder, “Partial is Full,” SIROCCO 2011.
  • Charron-Bost, Gaillard, Welch and Widder, “Routing Without Ordering,” SPAA 2009.
  • Charron-Bost, Welch and Widder, “Link Reversal: How to Play Better to Work Less,” ALGOSENSORS 2009.
  • Gafni and Bertsekas, “Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology,” IEEE Trans. Comm. 1981.
  • Welch and Walter, “Link Reversal Algorithms,” Synthesis Lectures on Distributed Computing Theory #8, Morgan & Claypool Publishers, 2012.

CSCE 411, Spring 2012: Set 13