csce 411 design and analysis of algorithms
Download
Skip this Video
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


  • 141 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


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

ad